计算和优化考试问题

示例1在0找到f = 2

主程序是wliti1.m:

f='2*exp(-x)。* sin(x)';

fplot(f,);%绘图语句

[xmin,ymin]= fmin NBD(f,0,8)

f1='-2*exp(-x)。* sin(x)';

[xmax,ymax]=fminbnd (f1,0,8)

运行结果:

xmin = 3.9270 ymin = -0.0279

xmax = 0.7854 ymax = 0.6448

★(借助课件说明函数的过程和图形)

例2对于一个边长为3米的正方形铁板,在四个角上切相等的正方形,做一个正方形的无盖水槽。如何切割才能让水槽的容积最大化?

设切割正方形的边长为x,则水箱的体积为:,无约束优化模型为min y=-,0

按如下方式编写m文件fun0.m:

函数f=fun0(x)

f=-(3-2*x)。^2*x;

主程序是wliti2.m:

[x,fval]=fminbnd('fun0 ',0,1.5);

xmax=x

fmax=-fval

计算结果为:xmax = 0.5000,fmax =2.0000。即切割正方形的边长为0.5米时,罐体的容积最大,最大容积为2立方米。

★(借助课件讲解过程,制作函数图形,编写计算程序)

示例3

1,写M文件fun1.m:

函数f = fun1 (x)

f = exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);

2.按如下方式输入m文件wliti3.m:

x0 = [-1,1];

x=fminunc('fun1 ',x0);

y=fun1(x)

3.操作结果:

x= 0.5000 -1.0000

y = 1.3029e-10

★(讲解过程,借助课件绘制函数的图形,编写计算程序)

例4 Rosen Brock函数f(x1,x2)= 100(x2-x 12)2+(1-x 1)2的最优解(极小)为x*=(1,

为了获得直观的理解,首先绘制Rosenbrock函数的三维图形,并输入以下命令:

[x,y]=meshgrid(-2:0.1:2,-1:0.1:3);

z=100*(y-x.^2).^2+(1-x).^2;

网格(x,y,z)

绘制Rosenbrock函数的等值线图,输入命令:

轮廓(x,y,z,20)

继续

plot(-1.2,2,' o ');

文本(-1.2,2,“起点”)

plot(1,1,' o ')

文本(1,1,'解')

f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';

[x,fval,exitflag,output]=fminsearch(f,[-1.2 ^ 2])

运行结果:

x =1.0000

fval = 1.9151e-010

exitflag = 1

输出=

迭代次数:108

函数计数:202

算法:“内尔德-米德单纯形直接搜索”

★(讲解过程,借助课件绘制函数的图形,编写计算程序)

(五)、作业

销售陈年葡萄酒的最佳时机

某酒厂有一批新酿的好酒。如果你现在卖掉它们,你可以获得R0 = 50万元(人民币)的总收入。如果你把它们囤积起来,第二天(第n年)以老酒价格卖出,那么第n年末你可以获得(万元)的总收益,银行利率r=0.05。试分析一下这些好酒囤积出售多少年后,总收益的现值会最大。(假设现有资金为X万元,