- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab上机内容及作业
无约束优化求解函数fminsearch和fminunc
求解无约束非线性优化问题的函数有fminsearch 函数、fminunc函数。函数fminsearch和fminunc功能相同,但fminunc函数可以得到目标函数在最优解处的梯度和Hessian矩阵值。
无约束优化数学模型为:min f(X) X∈Rn
求解无约束非线性优化问题的步骤为:
第一步: 先编写目标函数的M文件; 第二步: 再在命令窗口中调用相应的优化函数。
1、fminsearch函数调用格式为
[x, fval]=fminsearch(@myfun, x0)
输出参数的含义:
x:返回最优解的设计变量的值;
fval:在最优设计变量值时,目标函数的最小值;
exitflag:返回算法终止的标志,有以下几种情况,>0 表示算法收敛于最优解处;=0 表示算法已经达到迭代的最大次数;<0???表示算法不收敛。
output:返回优化算法信息的一个数据结构,有以下信息:
output.iteration 表示迭代次数
output.algorithm 表示所采用的算法
output.funcCount 表示函数评价次数
输入参数的含义:
@myfun:目标函数的M文件,在其前要加 “@”,或表示为myfun ,myfun自己可以任意命名;
x0: 在调用该优化函数时,需要先对设计变量赋一个初始值;
2、fminunc函数的调用格式
[x, fval]=fminunc (@myfun, x0)
grad: 返回目标函数在最优解处的梯度信息;hessian:返回目标函数在最优解处的hessian矩阵信息。其余含义同上。
3、实例
已知某一优化问题的数学模型为:
min f(X)=3x12+2x1x2+x22 X∈Rn
用MATLAB程序编写的代码为:
第一步:首先编写目标函数的.m文件,并保存为examplefsearch.m文件(先单击file菜单,后点击New命令中的M—file,即可打开M文件编辑窗口进行代码的编辑,在英文状态下输入程序代码),代码为:
function f=examplefsearch(x)
f=3*x(1)^ 2+2*x(1)*x(2)+x(2)^2;
第二步:在Command窗口中调用fminsearch函数,代码为:
x0=[1;1]; %赋初值
[x,fval]=fminsearch(@examplefsearch,x0) %回车即可调用fminsearch函数,得到结果
输出最优解结果为:
x=
1.0e-0.08* -0.7914 0.2260 %分别为x1和x2的最优点的值(近似为0)
fval=
1.5722e-016 %对应最优点的最优目标函数值(近似为0)
4、作业
已知几个优化问题的数学模型分别为:
(1)min f(X)=0.1935x1 x22 x32(4+6x4) X∈R4
(2)min f(X)= (x13+cos x2+log x3)/ e x1 X∈R3
(3)min f(X)=2x13+4x1x23 -10x1x2+x33 X∈R3
试用MATLAB编程分别求解上述优化问题的最优解。(分别把步骤、代码、结果写在另一张纸上,作为作业交)
其中cos x2在MATLAB应写为cos(x(2));log x3应为log(x(3));e x1应为exp(x(1))。
二、求解线性优化问题的函数linprog
1 、linprog函数要求数学模型的形式
在MATLAB优化工具箱中,用于求解线性规划的函数有linprog,要求的线性规划的数学模型的一般形式为:
min f(X) =fT*X X∈Rn
s.t. A*X≤b
Aeq* X =beq
lb≤X≤ub
上式中,f:表示目标函数中变量的系数向量,为列向量;
A:表示所有线性不等式约束的系数矩阵;
b:为所有线性不等式约束的不等式右面常数向量,为列向量;
Aeq:表示所有线性等式约束的系数矩阵;
beq:为所有线性等式约束的等式右面常数向量,为列向量;
lb和ub:分别表示为变量的上下限,为列向量。
2、linprog函数的调用格式
调用格式如下:
[x,fval]= linprog (f, A,b, Aeq,beq,lb,ub)
上式中,A、b、Aeq、beq、lb、ub、x0、options均为可选项,如果数学模型中无该项参数,则用[]代替。
例如如果某一数学模型中没有等式约束,即无Aeq和beq参数,则调用的格式为:
[x,fval]= linprog (f, A,b,
您可能关注的文档
- 建筑环境与能源应用工程学科导论论文.docx
- 柴油发电机组的使用、日常维护及保养.doc
- 家族企业的内伤.doc
- 无线遥控门铃电工电子实习总结报告.doc
- 大学生对职业生涯规划的调研报告.docx
- 16、歌舞类娱乐.doc
- 科学组研修纪实.doc
- 煤矿安全生产标准化基本要求及评分方法(试行)2017.doc
- 2016中考王中考命题研究思想化学专题五实验方案的设计与评价.docx
- 第4课---影片片头先制作.doc
- DB12 046.89-2011 产品单位产量综合电耗计算方法及限额 第89部分:手机 .docx
- DB12 046.88-2011 产品单位产量综合电耗计算方法及限额 第88部分:晶振 .docx
- DB12T 419-2010 无公害农产品 核桃栽培管理技术规范 .docx
- DB12T 417-2010 沙化和荒漠化监测技术规程.docx
- DB12T 449-2011 民用建筑四防门通用技术条件.docx
- DB12 046.100-2011 产品单位产量综合能耗计算方法及限额 第100部分: 果汁饮料 .docx
- DB12T 427-2010 葱姜蒜中205种农药多残留测定方法-GCMS法.docx
- DB12T 421-2010 有机农产品 甘薯有机栽培技术规范.docx
- DB12T 426-2010 蔬菜水果中205种农药多残留测定方法-GCMS法 .docx
- 《老年人身体康复》精品课件——项目6 中国传统康复技术.pptx
文档评论(0)