网站大量收购独家精品文档,联系QQ:2885784924

matlab教程第五讲分析和总结.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五讲 数值计算(二) min C T x , x ? R n s.t. Ax ? b vlb ? x ? vub 一、 线性优化 用命令 x=lp(C,A,b,vlb,vub) 。[例] 最小值线性优化 f(x)=-5x -4x -6x 1 2 3 x -x +x ≦20 1 2 3 3x +2x +4x ≦42 1 2 3 3x +2x ≦30 1 2 (0≦x , 0≦x ,0≦x ) 1 2 3 First, enter the coefficients: f = [-5; -4; -6] A = [1 -1 1 3 2 4 3 2 0]; b = [20; 42; 30]; lb = [0,0,0]; % x 的最小值 [0,0,0] ub = [inf,inf,inf]; Next, call a linear programming routine: x= lp(f,A,b,lb,ub); Entering x x = 0.0000 15.0000 3.0000 实际此命令改为: x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) 对以上的问题可做如下的操作: First, enter the coefficients: f = [-5; -4; -6]; A = [1 -1 1 3 2 4 3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); Next, call a linear programming routine: [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb); x = 0.0000 15.0000 3.0000 fval = -78.0000 exitflag = 1 output = iterations: 6 cgiterations: 0 algorithm: lipsol lambda = ineqlin: [3x1 double] eqlin: [0x1 double] upper: [3x1 double] lower: [3x1 double] [例] 线性优化 Min -400x -1000x -300x +200x 1 2 -2x 2 2x +3x 1 2 3x +4x 1 2 3 4 + x + x =0 3 4 =16 =24 x , x , x , x =0; x =5 1 2 3 4 3 c=[-400,-1000,-300,200]; %目标函数系数 A=[0 -2 1 1; 2 3 0 0; 3 4 0 0]; %约束条件系数 b=[0; 16; 24]; xLB=[0,0,0,0]; % x 取值范围的最小值xUB=[inf,inf,5,inf]; % x 取值范围的最大值x0=[0,0,0,0]; % x 取迭代初始值 nEq=1; % 约束条件中只有一个 = 号,其余为= x=lp(c,A,b,xLB,xUB,x0,nEq) disp([最优值为: ,num2str(c*x)]) 结果: x = 3.4483 3.0345 5.0000 1.0690 最优值为 -5700 min f ( x ), x ? R n s.t.g ( x ) ? 0 二、 非线性优化 用命令 x=constr(f ,x0) 。 [例] 最小值非线性优化 Min f(x)=-x1x2x3, -x1-2x2-2x3≤0, x1+2x2+2x3≤72, 初值: x = [10; 10; 10] 第一步:编写 M 文件 myfun.m function [f,g]=myfun(x) f=-x(1)*x(2)*x(3); g(1)=-x(1)-2*x(2)-2*x(3); g(2)=x(1)+2*x(2)+2*x(3)-72; 第二步:求解 在 MATLAB 工作窗中键入 x0=[10,10,10]; x=constr(myfun,x0)即可. x = 24.0000 12.0000 12.0000 [例] 非线性优化 Min f(x)=-x x 1 2 (x + x )x =0; 1 2 3 x , x =0; x =2; 1 2 3 第一步:编写 M 文件 fxxgh.m function [F,G]=fxxgh(x) F=-x(1)*x(2); G(1)=(x(1)+x(2))*x(3)-120; 第二步:求解 在 MATLAB 工作窗中键入 x=[1,1,1]; % x 取迭代初始值 options(13)=0; % 约束条件中有0 个 = 号,其余为= XL=[0,0,2]; % x 取值范围的最小值 XU=[in

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档