- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB Optimization Toolbox应用基础
专题Ⅰ 单变量函数最小值问题(一维问题)
一、上机目的:
1、掌握一维搜索方法的基本概念、算法等知识点;
2、熟悉Matlab软件环境及有关语句和函数的使用方法。
二、原理和方法:
函数fminbnd是用来寻找单变量函数在固定区间内的最小值点及最小值。MATLAB各工具箱的每个函数,包括优化工具箱函数,都有多种不同的调用格式。其调用格式可使用在线帮助系统查询。
函数fminbnd最常用的调用格式为:
[x, fval] = fminbnd(fun, x1, x2)
%返回函数fun在区间x1xx2上的最小值点x和对应的最小值fval,fun为目标函数的文件名句柄或目标函数的表达式字符串。
三、上机内容与步骤:
1、熟悉MATLAB软件环境,了解用户界面、掌握帮助系统使用等(重点)。
2、如求解函数f(x)=sin(x)在区间[0, 2(]内的最小值及最小值点,使用如下命令即可:
[x, fval] = fminbnd(@sin, 0, 2*pi)
%符号“@”表明目标函数为MATLAB自定义的正弦函数sin.m。
x =
4.7124 %最小值点赋值给x。
fval =
-1.0000 %最小值赋值给fval。
3、如果目标函数并不是MATLAB自定义的函数,需要首先定义一个函数M文件,以该文件的名称来代替上述命令行中的“sin”部分。
如希望求出在[0,1]内的最小值及最小值点,首先编写目标函数的M文件opt1.m,如下:
function f = myfun(x)
%编写函数M文件时,上句代码中的“myfun”并不一定与文件名相同。
f = (x^3+cos(x)+x*log(x))/exp(x)
然后调用fminbnd函数,在命令窗口中输入:
[x, fval]=fminbnd(@opt1, 0, 1)
x =
0.5223
fval =
0.3974
%注意此处使用“opt1”而不是“myfun”。
4、如果目标函数的表达式较为简单,也可以使用表达式的字符串而不必编写目标函数。如上例也可以使用[x, fval]=fminbnd((x^3+cos(x)+x*log(x))/exp(x),0,1)实现。
注:在MATLAB软件中,function为关键字,%为注释符号,为命令窗口中的提示符。
专题Ⅱ 线性方程组的应用
一、上机目的:
1、了解线性规划问题及可行解、最优解的概念 ;
2、掌握Matlab软件关于求解线性规划的语句和方法。
二、原理和方法:
在工程实践中,很多重要的实际问题都是线性的(至少能够用线性函数很好的近似表示),所以我们一般把这些问题化为线性的目标函数和约束条件进行分析,通常将目标函数和约束都是线性表达式的规划问题称为线性规划。
其一般形式是:
矩阵形式表示为:
线性规划的可行解是满足约束条件的解;
线性规划的最优解是使目标函数达到最优的可行解。
一般求解线性规划的常用方法是单纯形法和改进的单纯形法,这类方法的基本思路是先求得一个可行解,检验是否为最优解;若不是,可用迭代的方法找到另一个更优的可行解,经过有限次迭代后,可以找到可行解中的最优解或者判定无最优解。
三、上机内容与步骤:
在Matlab优化工具箱中,linprog函数是使用单纯形法求解下述线性规划问题的函数。
命令格式为:
其中:A为不等式约束条件矩阵,b, c分别为目标函数的系数向量和不等式约束条件中最右边的数值向量;也可设置解向量的上界vlb和下界vub,即解向量必须满足vlb=x=vub;还可预先设置初始解向量x0。
如没有不等式约束,而只有等式约束条件时,A=[ ],b=[ ];
aeq与beq分别为等式约束矩阵;
输出的结果:x表示最优解向量;fval表示最优值。
某一线性规划问题,如下:
考虑到linprog函数只解决形式如下的线性规划。
所以先要将线性规划变换为如下形式:
建立M文件如下(如以文件名optest保存):
c = [-3;1;1];
A = [1 -2 1; 4 -1 -2];
b = [11;-3];
aeq = [2 0 -1];
beq = -1;
vlb = [0;0;0];
[x,fval] = linprog(c, A, b, aeq, beq, vlb)
则在命令窗口中输入:optest,可得到计算结果:x1 = 4,x2 = 1,x3 = 9,fval = 2。
您可能关注的文档
- MACD重要的多空分界线【DOC精选】.doc
- M9项目中文规格书【DOC精选】.doc
- m-线方程集合【DOC精选】.doc
- Mac下virtual box默认安装后用不了host-only的问题【DOC精选】.doc
- Macromedia FlashPaper .的安装方法(Win【DOC精选】.doc
- Liu Wenjin-Yubei Ballad (Western Notation) 刘文金-豫北叙事曲曲谱(五线谱)LiuWenjin-Ballade de Yubei【DOC精选】.docx
- LTE测试分析【DOC精选】.doc
- MAME街机模拟器常见问题与解答FAQ【DOC精选】.doc
- MAGICL系列企业标准【DOC精选】.doc
- MagSense【DOC精选】.doc
文档评论(0)