计算机仿真实验报告实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 Matlab 优化工具箱的使用
一.实验目的
通过上机操作熟悉Matlab 优化工具箱的主要功能及其使用方法,掌握优化工具箱中常用函数的功能和语法,并利用其进行极值运算、求解线性和非线性问题等,为进一步的仿真设计和研究打下基础。
二. 实验设备
个人计算机,Matlab 软件。
三. 实验准备
预习本实验有关内容(如教材第6章中的相应指令说明和例题),编写本次仿真练习题的相应程序。
四. 实验内容
1. 应用Matlab 优化工具箱求解优化问题
例题6.6~6.10,选做2题,要求自行修改方程系数,并比较运行结果。
例6.6 例如我们希望求解非线性方程:21
2121x x e x x e x x --=+-=-初始值为x0 = [-5 -5]
function Fun=Fun(x)
Fun=[x(1)-x(2)-exp(-x(1));-x(1)+x(2)-exp(-x(2))];
x0=[-3; -3];
options=optimset('Display','iter');
[x,fval]=fsolve(@Fun,x0,options)
例6.7 利用Matlab 语言求解下列线性规划问题
0,,,4
12
326
42..532min 4321431432143214
321≥≤++≤+-+≤-++-+--x x x x x x x x x x x x x x x t s x x x x
f=[-2 -1.3 -5]';
A=[1 2 4 -1; 2 3 -1 1; 1 0 1 1; -1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 -1];
b=[6 12 4 0 0 0 0]';
X=linprog(f,A,b)
例 6.8:利用Matlab 命令求解下面的无约束非线性规划问题。
)12424()(m i n 221222112++++=∈x x x x x e x f x R x
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)
end
x0=[-1 1];
options=[];
[x,options]=fminunc(fun,x0,options)
2. 应用Matlab优化工具箱求解极值问题
已知函数f(x)=10*exp(-x)*cos(x) ,求函数的极值。
(1)x∈[2,5]时,求函数的最小值,并画出函数的曲线。
求解程序如下:
f=inline('10*exp(-x)*cos(x)');
[x,min]=fminbnd(f,2,5)
figure(1);ezplot(f,[1,9])
x =
2.3562
min =
-0.6702
(2)x∈[3,9]时,求函数的最大值,并画出函数的曲线。
为了求解原函数的最大值,即为求解负的原函数的最小值所以求解方程变为f1=-10*exp(-x)*cos(x)。
求解程序如下:
f1=inline('-10*exp(-x)*cos(x)'); [x,max]=fminbnd(f1,3,9) figure(2);ezplot(f1,[1,9])
x =
5.4978
max =
-0.0290
五.总结与体会