MATLAB Optimization Toolbox应用基础【DOC精选】.doc

MATLAB Optimization Toolbox应用基础【DOC精选】.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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。

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档