实验-Matlab优化工具箱的使用

  • 格式:doc
  • 大小:110.00 KB
  • 文档页数:5

实验二Matlab优化工具箱的使用
一.实验目的
通过上机操作熟悉Matlab优化工具箱的主要功能及其使用方法,掌握优化工具箱中常用函数的功能和语法,并利用其进行极值运算、求解线性和非线性问题等,为进一步的仿真设计和研究打下基础。

二. 实验设备
个人计算机,Matlab软件。

三. 实验准备
预习本实验有关内容(如教材第6章中的相应指令说明和例题),编写本次仿真练习题的相应程序。

四. 实验内容
1. 应用Matlab优化工具箱求解优化问题
例题6.6~6.10,选做2题,要求自行修改方程系数,并比较运行结果。

选做6-7和6-8,如下:
6.7修改前程序:
Min -2x1-x2+3x3-5x4
St. x1+2x2+4x3-x4≤6
2x1+3x2-x3+x4≤12
x1+x3+x4≤4
x1,x2,x3,x4≥0
仿真程序为:
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=lp(f,A,b)
结果:
6.7修改后程序:
Min 2x1-x2+3x3+5x4
St. x1+2x2+4x3-x4≤6
3x1+4x2-x3+x4≤12
x1+x3+x4≤7
x1,x2,x3,x4≥0
仿真程序为:
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 7 0 0 0 0]';
x=lp(f,A,b)
结果:
对比结论:
6.8修改前程序:
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);
x0=[-1 1];
options=[];
[x,options]=fminu('fun',x0,options)
结果:
修改后程序:
min f(x)=[e^x(1)](5x(1)^2+3x(2)^2+4x(1)x(2)+x(2)+2) M文件:
function f=fun(x)
f=exp(x(1))*(5*x(1)^2+3*x(2)^2+4*x(1)*x(2)+x(2)+2); x0=[-1 1];
options=[];
[x,options]=fminsearch('fun',x0,options)
结果:
2. 应用Matlab优化工具箱求解极值问题
已知函数f(x)=10*exp(-x)*cos(x) ,求函数的极值。

(1)x∈[2,5]时,求函数的最小值,并画出函数的曲线。

程序:
f='10*exp(-x)*cos(x)';
fplot(f,[2 5]),
X=fmin(f,2,5)
>> y=10.*exp(-X).*cos(X)
结果:
(2)x∈[3,9]时,求函数的最大值,并画出函数的曲线。

f='10*exp(-x)*cos(x)';
fplot(f,[3 9]);
X=fmin('-10*exp(-x)*cos(x)',3,9)
y=10.*exp(-X).*cos(X)
结果:
五.总结与体会。