计算和优化考试问题
主程序是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万元,