當前位置:編程學習大全網 - 編程軟體 - 求第五題的具體編程過程,用matlab軟件啊,謝謝啦?

求第五題的具體編程過程,用matlab軟件啊,謝謝啦?

可以看成是壹個非線性約束優化問題。

參考代碼:

function?zd1819839249806921308

%?求最優點和最大值

f?=?@(x)?x(1)+2*x(2)+3*x(3);

xm?=?fmincon(@(x)-f(x),[1?0?0],[],[],[],[],[],[],@nlcon)

fmax?=?f(xm)

%?繪示意圖

clf

a?=?0.3;

[x,?y]?=?meshgrid(-1.2:.1:1.2);

z?=?1?-?x?+?y;

c?=?x?+?2*y?+?3*z;

surf(x,y,z,c,'facecolor',?'interp',?'facealpha',1,?'edgecolor',?'none')

hold?on

[x,?y,?z]?=?cylinder(1,100);

surf(x,y,z*4-1,'facecolor',?'c','facealpha',a,?'edgecolor',?'none');

plot3(xm(1),xm(2),xm(3),'r.','markersize',15)

view(10,20)

colormap?gray?

colorbar

rotate3d?on

function?[c,ce]?=?nlcon(x)

%?非線性約束

c?=?[];

ce?=?[x(1)-x(2)+x(3)-1;?x(1)^2+x(2)^2-1];

求出的最優點和最大值分別為(xm的三個元素分別為z、y、z):

xm?=

-0.37140.92852.2999

fmax?=

8.3852

  • 上一篇:zl38063的用法
  • 下一篇:各位路過的大俠,壹道C++編程題
  • copyright 2024編程學習大全網