数学实验实验报告六答案_第1页
数学实验实验报告六答案_第2页
数学实验实验报告六答案_第3页
数学实验实验报告六答案_第4页
数学实验实验报告六答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

实验六实验项目名称:优化实验时间:2010-5-26、2010-6-2、2010-6-9实验地点:理学实验楼525实验目的:1、掌握Matlab优化工具箱的基本用法,利用优化工具包解线性规划和非线性规划的问题;对不同算法作初步分析、比较;2、练习实际问题的非线性最小二乘拟合。3、初步了解实际问题的线性规划和非线性规划的模型建立。实验内容:教材205页习题2;求解minex1(4x12+2x22+4x1x2+2x2+1),初值(-1,1),对不同算法的结果分析,比较。编写M-文件fun.m:functionf=fun(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);输入M文件wliti.m如下:x0=[-1,1];x=fminunc('fun',x0);y=fun(x)教材205页习题4;有一组数据(ti,yi),i=1,…,33,其中ti=10(i-1),yi由表给出。现要用这组数据拟合函数f(x,t)=x1+x2e-x4t+x3e-x5t中的参数x,初值可选为(0,5,1.5,-1,0.01,0.02),用GN和LM两种方法求解。对yi作一扰动,即yi+ei,ei为(-0.05,0.05)内的随机数,观察并分析迭代收敛变慢的情况。首先,建立函数文件fun6计算函数值。functionf=fun6(x,t)f=x(1)+x(2).*(exp(-x(4).*t))+x(3).*(exp(-x(5).*t));end本题要求拟合一个函数,已经给出函数的表达式,要通过数值方法判断其系数的取值。在matlab中可使用lsqcurvefit命令来实现。1,用LM方法求解LM程序:x0=[0.5,1.5,-1,0.01,0.02];n=1;fori=1:1:33t(n)=10*(i-1);n=n+1;endc=[0.844,0.908,0.932,0.936,0.925,0.908,0.881,0.850,0.818,0.784,0.751...,0.718,0.685,0.658,0.628,0.603,0.580,0.558,0.538,0.522,0.506,0.490...,0.478,0.467,0.457,0.448,0.438,0.431,0.424,0.420,0.414,0.411,0.406];opt1=optimset('LargeScale','off','MaxFunEvals',1000,'LevenbergMarquardt','on');[x,norm,res,exit,out]=lsqcurvefit('fun6',x0,t,c,[],[],opt1)结果:x

=

0.3754

1.9358

-1.4647

0.0129

0.0221norm

=

5.4649e-005out

=

iterations:35

funcCount:

230

stepsize:

2.9676e-005

cgiterations:

[]

firstorderopt:

:4.9405e-008

algorithm:

'Levenberg-Marquardt,'

message:

[1x111

char]即函数系数的拟合值: 0.3754

1.9358

-1.4647

0.0129

0.0221迭代次数:35目标函数调用次数:230算法:LM方法根据上述结果f(x,t)=0.3754+1.9358e-0.0129t-1.4647e-0.0221t绘图程序输入:s=0:1:350;s1=x(1)+x(2).*(exp(-x(4).*s))+x(3).*(exp(-x(5).*s));plot(t,c,'+',s,s1,'-')

2,用GN方法求解GN源程序:将上面的程序中控制参数LevenbergMarquardt改为Off即改为使用GN方法。结果:x

=

0.3754

1.9358

-1.4647

0.0129

0.0221norm

=

5.4649e-005out

=

iterations:

9

funcCount:

81

stepsize:

0.999

algorithm:

'medium-scale:

Gauss-Newton,

line-search'

message:

[1x147

char]

即函数系数的拟合值:

0.3754

1.9358

-1.4647

0.0129

0.0221迭代次数:9目标函数调用次数:81算法:GN方法从输出的结果看,两种方法拟合得到的系数一致。比较输出的迭代次数和目标函数的引用次数,本题中GN法明显小于LM法。教材238页习题1;求解线性规划maxz=-x1+2x2+x3s.t.x1-x2-2x3>=-2x1+x2-x3<=4x1+2x2<=4x2+x3<=4x2-x3=1x1,x2,x3>=0给出函数值和起作用约束。教材238页习题2;求解二次规划minz=(x1-1)2+(x2-x3)2+(x4-x3)2s.t.x1+x2+x3+x4+x5=5x3-2(x4+x5)+3=0M文件源代码;H=[20000;02-200;0-2200;0002-2;000-22];c=[-20000];A2=[11111;001-2-2];b2=[5-3];v1=[00000];[x,fv,ef,out,lag]=quadprog(H,c,[],[],A2,b2,v1)结果x=1.00001.00001.00001.00001.0000fv=-1ef=1out=iterations:1constrviolation:-1.0000algorithm:'medium-scale:active-set'firstorderopt:0cgiterations:[]message:'Optimizationterminated.'lag=lower:[5x1double]upper:[5x1double]eqlin:[2x1double]ineqlin:[0x1double]即最优解为x1=1,x2=1,x3=1,x4=1,x5=1,最优值f=-1+1=0(最小值),ef=1(收敛)x1+x2+x3+x4+x5=5,x3-2(x4+x5)+3=0为有效约束。教材239页习题5。某厂生产甲乙两种产品,一件甲用A原料1公斤,B原料5公斤;一件乙用A原料2公斤,B原料4公斤。现有A原料20公斤,B原料70公斤。甲乙产品每件售价分别为20元和30元。问如何安排生产使收入最大?当A原料和B原料增加1公斤时对收入影响多大。又若可用有限资金以每公斤6元买进A原料,以每公斤2元买进B原料。问如何安排计划使利润最大?解释得到的结果。解:c=[-20-30];A=[12;54];b=[2070];v1=[00];[x,f,ef,out,lag]=linprog(c,A,b,[],[],v1)z=-f得到x=10.00005.0000z=350.0000生产甲10件,乙5件,收入最大350元。A原料增加1公斤时c=[-20-30];A=[12;54];b=[2170];v1=[00];[x,f,ef,out,lag]=linprog(c,A,b,[],[],v1)z=-f得到x=9.33335.8333z=361.6667生产甲9.3333件,生产乙5.8333件,收入最大361.6667元,多11.6667元B原料增加1公斤时c=[-

温馨提示

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

评论

0/150

提交评论