版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 M文件的功能和特点 MATLAB是解释性语言 语法简单 调试容易 人机交互性强 开放性、可扩展性强第第5讲讲MATLAB 程序设计及其调试程序设计及其调试(d)(d)M文件输入窗口!文件输入窗口!(d)222112221222110.753.751.512612120.753.751.5120.54571( ,)0.7575110.54571xxxxxxxxexxp x xexxexx 脚本文件first.m%first.m This is my first example.a=2;b=2;clf;x=-a:0.2:a;y=-b:0.2:b;for i=1:length(y) for j=1
2、:length(x) if x(j)+y(i)1 z(i,j)=0.5457*exp(-0.75*y(i)2-3.75*x(j)2-1.5*x(j); elseif x(j)+y(i) x,fval,exitflag,output=fminbnd(x3+cos(x)+x*log(x)/exp(x),0,1)x = 0.5223fval = 0.3974exitflag = 1output = iterations: 9 funcCount: 9 algorithm: golden section search, parabolic interpolation1) 3x()x( f3例5 在0,
3、5上求下面函数的最小值解:先自定义函数:在MATLAB编辑器中建立M文件为:function f = myfun(x)f = (x-3).2 - 1;保存为myfun.m,然后在命令窗口键入命令: x=fminbnd(myfun,0,5)则结果显示为:x = 3无约束多元函数最小值无约束多元函数最小值多元函数最小值的标准形式为其中:x为向量.命令 利用函数fminsearch求无约束多元函数最小值.函数 fminsearch格式 x = fminsearch(fun,x0) %x0为初始点,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄.x = fminsearch(fun,x
4、0,options) % options查optimset.x,fval = fminsearch() %最优点的函数值.x,fval,exitflag = fminsearch() % exitflag与单变量情形一致.x,fval,exitflag,output = fminsearch() %output与单变量情形一致.)x( fminxx,x,xxn21222132131xxx10 xx4x2y例6 求 的最小值点.解:X=fminsearch(2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2, 0,0)结果为 X = 1.0016 0.8335或在MA
5、TLAB编辑器中建立函数文件.function f=myfun(x)f=2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2;保存为myfun.m,在命令窗口键入 X=fminsearch (myfun, 0,0) 或 X=fminsearch(myfun, 0,0)结果为: X = 1.0016 0.8335有约束的多元函数最小值有约束的多元函数最小值非线性有约束的多元函数的标准形式为:sub.to 其中:x、b、beq、lb、ub是向量,A、Aeq为矩阵,C(x)、Ceq(x)是返回向量的函数,f(x)为目标函数,f(x)、C(x)、Ceq(x)可以是非线性函数.
6、在MATLAB5.x中,它的求解由函数constr实现.)x( fminx0)x(C0)x(CeqbxAbeqxAequbxlb函数 fmincon格式 x = fmincon(fun,x0,A,b)x = fmincon(fun,x0,A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval = fmincon()x,fval,exitflag
7、= fmincon()x,fval,exitflag,output = fmincon()x,fval,exitflag,output,lambda = fmincon()x,fval,exitflag,output,lambda,grad = fmincon()x,fval,exitflag,output,lambda,grad,hessian = fmincon()参数说明:fun为目标函数,它可用前面的方法定义;nonlcon的作用是通过接受的向量x来计算非线性不等约束和等式约束分别在x处的估计C和Ceq,通过指定函数柄来使用,如:x = fmincon(myfun,x0,A,b,Aeq
8、,beq,lb,ub,mycon),先建立非线性约束函数,并保存为mycon.m:function C,Ceq = mycon(x)C = % 计算x处的非线性不等约束的函数值.Ceq = % 计算x处的非线性等式约束的函数值.lambda是Lagrange乘子,它体现哪一个约束有效.output输出优化信息;grad表示目标函数在x处的梯度;hessian表示目标函数在x处的Hessian值.例7求下面问题在初始点(0,1)处的最优解21212221x5x2xxxx0 x) 1x(22106x3x221min sub.to 解:约束条件的标准形式为:sub.to 先在MATLAB编辑器中建立
9、非线性约束函数文件: function c, ceq=mycon (x) c=(x(1)-1)2-x(2); ceq= ; %无等式约束.0 x) 1x(2216x3x221然后,在命令窗口键入如下命令或建立M文件:fun=x(1)2+x(2)2-x(1)*x(2)-2*x(1)-5*x(2); %目标函数.x0=0 1;A=-2 3; % 线性不等式约束.b=6;Aeq= ; % 无线性等式约束.beq= ;lb= ; % x没有下、上界.ub= ;x,fval,exitflag,output,lambda,grad,hessian=fmincon(fun,x0,A,b,Aeq,beq,lb
10、,ub,mycon)则结果为x = 3 4fval = -13exitflag = 1 % 解收敛. output = iterations: 2 funcCount: 9 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-search firstorderopt: cgiterations: lambda = lower: 2x1 double % x下界有效情况,通过lambda.lower可查看. upper: 2x1 double % x上界有效情况,为0表示约束无效. eqlin: 0 x1 double %线性
11、等式约束有效情况,不为0表示约束有效. eqnonlin: 0 x1 double %非线性等式约束有效情况. ineqlin: 2.5081e-008 %线性不等式约束有效情况. neqnonlin: 6.1938e-008 %非线性不等式约束有效情况. grad = %目标函数在最小值点的梯度. 1.0e-006 * -0.1776 hessian = %目标函数在最小值点的Hessian值. 1.0000 -0.0000 -0.0000 1.0000二次规划问题二次规划问题二次规划问题(quadratic programming)的标准形式为: sub.to 其中,H、A、Aeq为矩阵,
12、f、b、beq、lb、ub、x为向量其它形式的二次规划问题都可转化为标准形式. MATLAB5.x版中的qp函数已被6.0版中的函数quadprog取代。xfxHx21minbxAbeqxAeqbuxbl函数 quadprog格式 x = quadprog(H,f,A,b) %其中H,f,A,b为标准形中的参数,x为目标函数的最小值.x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq满足等约束条件.x = quadprog(H,f,A,b,Aeq,beq,lb,ub) % lb,ub分别为解x的下界与上界.x = quadprog(H,f,A,b,Aeq,beq,lb
13、,ub,x0) %x0为设置的初值x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options为指定的优化参数.x,fval = quadprog() %fval为目标函数最优值.x,fval,exitflag = quadprog() % exitflag与线性规划中参数意义相同.x,fval,exitflag,output = quadprog() % output与线性规划中参数意义相同.x,fval,exitflag,output,lambda = quadprog() % lambda与线性规划中参数意义相同 . 3xx)0, 0(
14、xx0110)xx(213xx)xx( fmin2121212121例8求二次规划的最优解 max f (x1, x2)=x1x2+3 sub. to x1+x2-2=0解:化成标准形式: sub.to x1+x2=2在Matlab中实现如下:H=0,-1;-1,0;f=0;0;Aeq=1 1;b=2;x,fval,exitflag,output,lambda = quadprog(H,f, , ,Aeq,b)结果为:x = 1.0000 1.0000fval =-1.0000exitflag =4output = iterations: 1 algorithm: large-scale: p
15、rojective preconditioned conjugate gradients f irstorderopt: 0 cgiterations: 1 message: Optimization terminated: local minimum found; the solution is singular. lambda = eqlin: 1.0000 ineqlin: lower: upper: 极小化极大(Minmax)问题)x(FmaxminiFxi0)x(C0)x(CeqbxAbeqxAequbxlbsub.to 其中:x、b、beq、lb、ub是向量,A、Aeq为矩阵,C(
16、x)、Ceq(x)和F(x)是返回向量的函数,F(x)、C(x)、 Ceq(x) 可以是非线性函数.函数 fminimax格式 x = fminimax(fun,x0)x = fminimax(fun,x0,A,b)x = fminimax(fun,x0,A,b,Aeq,beq)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval,maxfval = fminimax()x,fval,maxfval,exitflag = fminimax()x,fval,maxfval,exitflag,output = fminimax()x,fval,maxfval,exitflag,output,lambda = fminimax()例9 求下列函数最大值的最小化问题其中:)x(f , )x(f , )x(f , )x(f , )x(f54321304x40 x48xx2)x(f212221122222x3x)x(f18x3x)x(f213214xx)x(f8xx)x(f215解:先建立目标函数文件,并保存为myfun.m:function
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河源安全监管动态讲解
- 现场安全管理要点解析
- 天津中医药大学《语文教学设计与案例教学》2024-2025学年第二学期期末试卷
- 沈阳体育学院《口腔医学进展》2024-2025学年第二学期期末试卷
- 仙桃职业学院《综合版画实验教学》2024-2025学年第二学期期末试卷
- 企业成本费用授权审批制度
- 天门职业学院《城市设计概论》2024-2025学年第二学期期末试卷
- 沈阳北软信息职业技术学院《数据挖掘》2024-2025学年第二学期期末试卷
- 西南交通大学《绘画构图训练》2024-2025学年第二学期期末试卷
- 2026天津市规划和自然资源局所属事业单位招聘事业单位60人考试参考试题及答案解析
- 工厂隐患排查培训
- 2025年春新人教版生物七年级下册课件 第三单元 植物的生活 第一章 被子植物的一生 第一节 种子的萌发
- 企业如何管理95后00后的职员
- 胆囊切除手术个案护理
- 危重患者的早期识别及处理原则
- 《儿童康复》课件-第三节 脊髓损伤的康复
- 《机械制图(多学时)》中职全套教学课件
- 装饰装修工程安全施工方案
- 新教科版小学1-6年级科学需做实验目录
- 全国“红旗杯”班组长大赛(复赛)考试理论题及答案
- 自控仪表安装工程施工过程记录用表格
评论
0/150
提交评论