NM-Solved(How to plot points from a Maximize[ ] output)

AI Thread Summary
To create a bar-type graph from the output of a Maximize function in Mathematica, the key is to extract the variable values from the output format. The output typically appears as a list containing the maximum value and a set of rules for the variables, such as {21.0133, {b -> 1, c -> -3., d -> 2., e -> 3, f -> 4}}. To reference the numerical values without manual entry, assign the output to a variable, for example, solution = Maximize[...]. The values can then be accessed using solution[[2]], which contains the rules. To create a list of values corresponding to the variables, you can use replacement rules with the syntax function[a,b,c] /. solution[[2]]. This method allows for efficient extraction and plotting of the desired data points.
Wesleytf
Messages
31
Reaction score
0
NM-Solved(How to plot points from a "Maximize[ ]" output)

Hello all,

I'm working with some data sets and I want to make a bar-type graph out of the numbers that result after a series of equations ending in a maximize function. My trouble is that the output of the function gives something like

Code:
{21.0133, {b -> 1, c -> -3., d -> 2., e -> 3, f -> 4}}

How can I reference these numbers without having to manually enter them? I want to make a list plot out of them where each value corresponds to x coordinates 1, 2..., so I need them in a list {1, -3, 2, 3, 4}. Any ideas?

edit: I think I can solve this by flipping the equation and using linear programming. No need to reply, but thanks for looking.
 
Last edited:
Physics news on Phys.org


The way I would do it is assign that solution to a variable, like this

Code:
solution = Maximize[...]

Then, you can apply this as you see fit. Here is an example:

Code:
Plot[function[a,b,c] /. solution[[2]]]

The /. tells Mathematica to replace the arguments of function[] with the values of a,b,c from solution.

You use solution[[2]] because the second element of solution is the values of the variables.
 


Wesleytf said:
Code:
{21.0133, {b -> 1, c -> -3., d -> 2., e -> 3, f -> 4}}

How can I reference these numbers without having to manually enter them?

myaray = {b -> 1, c -> -3., d -> 2., e -> 3, f -> 4}

#[[2]] & /@ myaray
 

Similar threads

Replies
2
Views
2K
Replies
1
Views
2K
Replies
5
Views
2K
Replies
2
Views
3K
Replies
2
Views
2K
Replies
5
Views
4K
Replies
1
Views
2K
Back
Top