正在加载图片...
再回到 Matlab命令区,输入各项数据及决策变量初值数据x0,执行命令 [x, fmin]=fmincon(@mbhs, xO, A, b, Aeq, beq, L, U, @yshs) 例:单位球x2+y2+2≤1内,曲面z=x2+y2-0.5-01xy的上方,平面 x+y+z-008=0之上(不是上面),满足上述三个条件的区域记为D,求函数 sin(x+y-z)+ecos(2-1在D上的最大值、最大值点。 解:(1)目标函数文件 mbhs m function f=mbhs(x) f=exp(x(1)*x(2)*x(3)*sin(x(1)+x(2)x(3)exp(-x(1)*x(2)*cos(x(3)2-1) (2)约束函数文件 shs.m function g, h]=yshs(x) g=[x(1)2+x(2)2+x(3)2-1x(1)^2+x(2)2-0.5-0.1*x(x)*x(2)x(3) h=0; (3)数据准备 x0=[000.02,0.02]A=]b=[]Aeq=[1ll,lbeq=0.08 L=[-1;-1;-l]U=[l;1;1l (4)执行命令 [x, fmin] =fmincon(@mbhs, xO, A, b, Aeq, beq, L, U, @yshs) (5)结果???再回到 Matlab 命令区,输入各项数据及决策变量初值数据 x0,执行命令 [x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs) 例:单位球 1 2 2 2 x + y + z  内,曲面 z x y 0.5 0.1xy 2 2 = + − − 的上方,平面 x + y + z − 0.08 = 0 之上(不是上面),满足上述三个条件的区域记为 D,求函数 sin( ) cos( 1) 2 + − + − − e x y z e z xyz xy 在 D 上的最大值、最大值点。 解:(1)目标函数文件 mbhs.m function f=mbhs(x) f=-exp(x(1)*x(2)*x(3))*sin(x(1)+x(2)-x(3))-exp(-x(1)*x(2))*cos(x(3)^2-1); (2)约束函数文件 yshs.m function [g,h]=yshs(x) g=[x(1)^2+x(2)^2+x(3)^2-1;x(1)^2+x(2)^2-0.5-0.1*x(x)*x(2)-x(3)]; h=[]; (3)数据准备 x0=[0.0;0.02;0.02];A=[];b=[];Aeq=[1,1,1];beq=0.08; L=[-1;-1;-1];U=[1;1;1]; (4)执行命令 [x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs) (5)结果 ???
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有