数学实验实验报告六答案

更新时间:2024-04-06 14:05:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实 验 六

实验项目名称:优化

实验时间: 2010-5-26、2010-6-2、2010-6-9 实验地点:理学实验楼525 实验目的:

1、掌握Matlab优化工具箱的基本用法,利用优化工具包解线性规划和非线性规划的问题;对不同算法作初步分析、比较; 2、练习实际问题的非线性最小二乘拟合。

3、初步了解实际问题的线性规划和非线性规划的模型建立。 实验内容: 1、

教材205页习题2;求解min ex1(4x12+2x22+4x1x2+2x2+1),初值(-1,1),对不同算法的结果分析,比较。

编写M-文件 fun.m: function f=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) 2、

教材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计算函数值。 function f=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; for i=1:1:33 t(n)=10*(i-1); n=n+1; end

c=[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.0221 norm = 5.4649e-005 out = 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.0221 norm = 5.4649e-005 out =

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法。 3、

教材238页习题1;求解线性规划

max z=-x1+2x2+x3

s.t. x1-x2-2x3>=-2 x1+x2-x3<=4 x1+2x2<=4 x2+x3<=4 x2-x3=1 x1,x2,x3>=0 给出函数值和起作用约束。

4、

教材238页习题2;求解二次规划

min z=(x1-1)2+(x2-x3)2+(x4-x3)2 s.t. x1+x2+x3+x4+x5=5 x3-2(x4+x5)+3=0

本文来源:https://www.bwwdw.com/article/h3wr.html

Top