How to plot this functions for linear programming

6 次查看(过去 30 天)
I have this functions, and I want to plot them on same page because this is a problem in linear programing and I want to show both on same graph.
First is: f = x+0.0625*x^2 + y+0.0125*y^2 + z+0.025*z^2 (this is objective function)
Second is: g=x+y+z-952 (this is boundary)
Thanks!
  4 个评论
Walter Roberson
Walter Roberson 2013-1-22
Are you asking to plot a single point, f(112,560,280) ??
If you are wanting to plot f over a range of values of x, and a range of values for y, and a range of values for z, then you need x, y, and z graphic axes to represent the inputs, but you also need another graphics axis to represent the result f(x,y,z) -- a 4 dimensional plot. Is that what you were thinking of?
Danijel
Danijel 2013-1-22
The second approach would be something what I was thinking of. I tried to plot the first function with isosurface, but I'm not sure wether this is truth what I'm getting as a result, because as I don't know which value for isovalue to set? Also, I don't know how to plot the g function on the same page...
[x,y,z] = meshgrid( linspace( -120, 600, 300 ) ); f = x+0.0625*x.^2 + y+0.0125*y.^2 + z+0.025*z.^2; isosurface(x, y, z, f, 476)

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2013-1-22
编辑:Matt J 2013-1-22
Since the solution has to satisfy
x+y+z=952
why not eliminate one of the variables, e.g.
h(x,y) = f(x,y,952-x-y)
and plot the 2D surface h(x,y) only? Why care about any other region?
BTW, your objective function is quadratic, so I'm not sure why you call this a "linear programming problem"
  10 个评论
Danijel
Danijel 2013-2-8
Sorry Matt J. I didn't see your answer. The Lagrange solution is x=112; y=560; z=280; λ=15
Matt J
Matt J 2013-2-8
You can use the TEXT command to add annotation to plots

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by