matlab程序

matlab程序,第1张

因为disp后面跟字符,a(i,j)是数值,不能直接接。

用num2str就可以了,修改后的程序及结果为:

>> a=[1,2,3;5,4,6;7,9,3;3,1,7];

for i=1:4

for j=1:3

a(i,j)=a(i,j)+1;

disp(['a(i,j)=',num2str(a(i,j))]);

end

end

a(i,j)=2

a(i,j)=3

a(i,j)=4

a(i,j)=6

a(i,j)=5

a(i,j)=7

a(i,j)=8

a(i,j)=10

a(i,j)=4

a(i,j)=4

a(i,j)=2

a(i,j)=8

例1 求 f = 2 在0<x<8中的最小值与最大值

主程序为wliti1m:

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

fplot(f,[0,8]); %作图语句

[xmin,ymin]=fminbnd (f, 0,8)

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

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

运行结果:

xmin = 39270 ymin = -00279

xmax = 07854 ymax = 06448

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

例2 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?

设剪去的正方形的边长为x,则水槽的容积为: ,建立无约束优化模型为:min y=- , 0<x<15

先编写M文件fun0m如下:

function f=fun0(x)

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

主程序为wliti2m:

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

xmax=x

fmax=-fval

运算结果为: xmax = 05000,fmax =20000即剪掉的正方形的边长为05米时水槽的容积最大,最大容积为2立方米

★(借助课件说明过程、作函数的图形、并编制计算程序)

例3

1、编写M-文件 fun1m:

function f = fun1 (x)

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

2、输入M文件wliti3m如下:

x0 = [-1, 1];

x=fminunc(‘fun1’,x0);

y=fun1(x)

3、运行结果:

x= 05000 -10000

y = 13029e-10

★(借助课件说明过程、作函数的图形并编制计算程序)

例4 Rosenbrock 函数 f(x1,x2)=100(x2-x12)2+(1-x1)2 的最优解(极小)为x=(1,1),极小值为f=0试用不同算法(搜索方向和步长搜索)求数值最优解初值选为x0=(-12 , 2)

为获得直观认识,先画出Rosenbrock 函数的三维图形, 输入以下命令:

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

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

mesh(x,y,z)

画出Rosenbrock 函数的等高线图,输入命令:

contour(x,y,z,20)

hold on

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

text(-12,2,'start point')

plot(1,1,'o')

text(1,1,'solution')

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

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

运行结果:

x =10000 10000

fval =19151e-010

exitflag = 1

output =

iterations: 108

funcCount: 202

algorithm: 'Nelder-Mead simplex direct search'

★(借助课件说明过程、作函数的图形并编制计算程序)

(五)、 作业

陈酒出售的最佳时机问题

某酒厂有批新酿的好酒,如果现在就出售,可得总收入R0=50万元(人民币),如果窖藏起来待来日(第n年)按陈酒价格出售,第n年末可得总收入 (万元),而银行利率为r=005,试分析这批好酒窖藏多少年后出售可使总收入的现值最大 (假设现有资金X万元,将其存入银行,到第n年时增值为R(n)万元,则称X为R(n)的现值)并填下表:

是这样的,如果你再程序开始添加holdon这个的画,表示这之后的每一次作图都保留以前的图,这样就可以连续画图了

反之holdoff,表示打开这个之后,每次画图,删除以前的图,

以上就是关于matlab程序全部的内容,包括:matlab程序、请教高手帮忙编程序~~用matlab编写数值优化方法(最速下降法,惩罚函数法),具体题目如下:、matlab程序画图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10174532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存