数学建模Matlab优化工具箱_第1页
数学建模Matlab优化工具箱_第2页
数学建模Matlab优化工具箱_第3页
数学建模Matlab优化工具箱_第4页
数学建模Matlab优化工具箱_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB的优化工具箱的优化工具箱1.非线性方程非线性方程(组组)求解命令求解命令: fzero、fsolve2.求函数极值求函数极值(无约束问题无约束问题)命令命令: fmin、fmins、fminu3.求解线性规划问题命令求解线性规划问题命令: lp4.求解非线性规划问题命令求解非线性规划问题命令: constrfzero命令用于求一元函数命令用于求一元函数f(x)的零点的零点.使用格式使用格式1: fzero(f, x0) x0为零点猜测值为零点猜测值例例:fzero(sin, 3), 计算结果计算结果ans=3.1416例例:求函数零点求函数零点604. 0)9 . 0(101. 0

2、) 3 . 0(1)(22xxxffunction y=f2(x)y =1./(x-.3).2+.01)+1./(x-.9).2+.04)-6;在在MATLAB命令窗口中输入命令命令窗口中输入命令:fplot(f2,-1,2)grid观察图形窗口中观察图形窗口中图形可知图形可知,函数有函数有两个零点两个零点,第一个第一个零点在零点在-0.5到到0之之间间,第二个在第二个在1到到1.5之间之间.用求函数用求函数零点命令时必须零点命令时必须给出给出零点猜测值零点猜测值.输入命令输入命令:x1=fzero(f2,.5), x2=fzero(f2,1)得计算结果得计算结果: x1=-0.1316, x

3、2=1.2995-1-0.500.511.52-20020406080100hold onplot(x1,f2(x1),or,x2,f2(x2),or)用绘图命令用绘图命令描零点位置描零点位置:使用格式使用格式2: fzero(f, x0 x1) x0 x1为隔根区间为隔根区间例例 fzero(sin,2,3)MATLAB将显示出错信息将显示出错信息: 错误使用错误使用fzero,函数值在区间端点处必须异号函数值在区间端点处必须异号. fzero(sin,2,4)得正确计算结果得正确计算结果:ans=3.1416例例 fzero(f2,1,1.5)得计算结果得计算结果:ans=1.2995函数

4、文件函数文件f2定义了函数定义了函数:604. 0)9 . 0(101. 0) 3 . 0(1)(22xxxffsolve命令用于求解非线性方程组命令用于求解非线性方程组 f(x)=0,这里这里,f和和x 都是向量或矩阵都是向量或矩阵使用格式使用格式:fsolve(f,x0) x0为解的猜测值为解的猜测值05012307lnsin32zyxzyxzyx例例 求解方程组求解方程组function q=xyz(p)x=p(1);y=p(2);z=p(3);q(1)=sin(x)+y.2+log(z)-7;q(2)=3*x+2y-z3+1;q(3)=x+y+z-5;x0=1 1 1;fsolve(x

5、yz,x0)计算结果计算结果: ans=0.5991, 2.3959, 2.0050一个完整的命令格式可得更多信息一个完整的命令格式可得更多信息x0=1 1 1;%给出初始值给出初始值(猜测值猜测值)options=;%置参数向量为默认值置参数向量为默认值x,options=fsolve(xyz,x0,options);计算结果计算结果: x= 0.5991 2.3959 2.0050向量向量options共存放了共存放了18个参数个参数.常用的有常用的有:options(8) 计算结束时的目标函数值计算结束时的目标函数值;options(10) 计算结束时目标函数计算总次数计算结束时目标函数

6、计算总次数上例中键入上例中键入options(8) 得得 ans = 6.1429e-018键入键入options(10) 得得ans = 34fmin命令命令用于求一元函数极小点用于求一元函数极小点使用格式使用格式:fmin(f,x1,x2)例如例如:fmin(cos,3,4) 将得到将得到ans=3.1416这是介于这是介于3和和4之间的函数之间的函数cos x 的最小值点的最小值点例例.求函数求函数f(x)=2e-x sin x 的极大和极小值点的极大和极小值点function y=f3(x)y=2*exp(-x).*sin(x);fplot(f3,0,8)gridfunction y=

7、f4(x)y=-2*exp(-x).*sin(x);用绘图命令绘图观察最大用绘图命令绘图观察最大值点和最小值点所在位置值点和最小值点所在位置012345678-0.100.10.20.30.40.50.60.7由图可知由图可知,函数有一函数有一最小值点介于最小值点介于3到到4之间之间,有一最大值点有一最大值点介于介于0到到1之间之间.用函用函数文件数文件f3.m求最小求最小值点值点;用用f4.m求最大求最大值点值点xmin=fmin(f3,3,5) 计算结果计算结果: xmin = 3.9270 xmax=fmin(f4,0,1) 计算结果计算结果: xmax = 0.7854在原有函数图形上

8、添加两个极值点在原有函数图形上添加两个极值点: hold onplot(xmin,f3(xmin), or,xmax,f3(xmax),or)fmins命令命令用于求多元函数极小值点用于求多元函数极小值点命令使用格式为命令使用格式为:fmins(f,x0)f是目标函数文件名是目标函数文件名,x0是极小值点的猜测值是极小值点的猜测值例例.求函数的极小值求函数的极小值222)1 ()(100 xxyzx=-2:.125:2;y=-1:.25:3;x,y=meshgrid(x,y);z=100*(y-x.*x).2+(1-x).2;mesh(x,y,z)function z=f5(p)x=p(1);

9、y=p(2);z=100*(y-x.2).2+(1-x).2;绘二元函数图绘二元函数图形形,观察极小值观察极小值点点-2-1012-10123050010001500200025003000输入命令输入命令:x0=0 1;x=fmins(f5,x0)x0=0 1;options=;x,options=fmins(f5,x0);得计算结果得计算结果:X=1.0000 1.0000输入完整命令输入完整命令:键入键入:options(8) 得得 ans = 2.4289e-010键入键入:options(10) 得得 ans = 1928max z=7x1+12x2s. t. 9x1+5x2360

10、4x1+5x2200 3x1+10 x2300 x10 , x20lp命令命令用于求解线性规划问题用于求解线性规划问题MATLAB中线性规划问题的标准形式为中线性规划问题的标准形式为: Min z = cTx s. t. Axb命令使用格式命令使用格式: lp( c, A, b, e0, e1 )c=-7 -12;A=9 5;4 5;3 10;b=360;200;300;e0=0 0;e1=;lp(c,A,b,e0,e1)ans = 20.0000 24.0000constr命令命令用于求解非线性规划问题用于求解非线性规划问题 Min F(x) s. t. G(x)0简单使用格式简单使用格式:

11、 constr(f,x0)例例.1005 . 1. 12424),(min2121212221221211xxxxxxtsxxxxxexxfxfunf=f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2) + 2*x(2) + 1);fung=g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;fun = funf fung;x0 = -1 1; options = ; x, options = constr(fun, x0, options); 非线性规划非线性规划某公司经营两种设备某公司经营两种设备,第一种设备每件售价第一种设备每件售价

12、30元元,第二种设备每件售价第二种设备每件售价450元元.根据统计根据统计,售出售出一件第一种设备所需要的营业时间平均是一件第一种设备所需要的营业时间平均是0.5小时小时,第二种设备是第二种设备是(2+0.25x2)小时小时,其中其中x2是第是第二种设备的售出数量二种设备的售出数量.已知该公司在这段时间已知该公司在这段时间内的总营业时间为内的总营业时间为800小时小时,试决定使其营业试决定使其营业额最大的营业计划额最大的营业计划设经营第一种设备设经营第一种设备x1件件,第二种设备第二种设备x2件件.根据题根据题意意,营业额为营业额为f =30 x1+450 x2由于营业时间的限制由于营业时间的

13、限制, 该计划必须满足该计划必须满足0.5x1+(2+0.25x2)x2800数学模型数学模型Max f =30 x1+450 x2s.t. 0.5x1+(2+0.25x2)x2800在在MATLAB中定义函数中定义函数:function f,g=fun(x)f=-30*x(1)-450*x(2);g=0.5*x(1)+(2+0.5*x(2)*x(2)-800;使用命令求解使用命令求解:x options=constr(fun,1600 3000);x具有非负约束的例子具有非负约束的例子 0, 01005 . 1. 12424),(min212121212221221211xxxxxxxxts

14、xxxxxexxfxfunf=f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+ 2*x(2) + 1);fung=g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)- 10;fun=funf fung;x0 = -1 1;options = ; vlb = zeros(1,2); vub = x, options = constr(fun, x0, options, vlb, vub);x, options(8) , options(10) 等式约束例子等式约束例子 1005 . 10. 12424),(min212121212221221211xxxxxxxxtsxxxxxexxfxfunf = f = exp(x(1) * (4*x(1)2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论