好文档 - 专业文书写作范文服务资料分享网站

机械优化设计MATLAB程序

天下 分享 时间: 加入收藏 我要投稿 点赞

机械优化设计作业

21.用二次插值法求函数?? ?t? ? ? t 1?? ?t 2? 极小值,精度 e=0.01。 在 MATLAB 的 M 文件编辑器中编写的 M 文件,如下: f=inline('(t+1)*(t-2)^2','t') a=0;b=3;epsilon=0.01; t1=a;f1=f(t1); t3=b;f3=f(t3);

t2=0.5*(t1+t3);f2=f(t2); c1=(f3-f1)/(t3-t1);

c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=0;

while(abs(t4-t2)>=epsilon)

if t2

if f2>f4

f1=f2;t1=t2; t2=t4;f2=f4; else

f3=f4;t3=t4; end else

if f2>f4

f3=f2;t3=t2; t2=t4;f2=f4; else

f1=f4;t2=t4; end end

c1=(f3-f1)/(t3-t1);

c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=0.5*(t1+t3-c1/c2);f4=f(t4); k=k+1; end

%输出最优解 if f2>f4

t=t4;f=f(t4); else

t=t2;f=f(t2); end

fprintf(1,'迭代计算 k=%3.0f\\n',k) fprintf(1,'极小点坐标 t=%3.0f\\n',t) fprintf(1,'函数值 f=%3.4f\\n',f)

323 22.用黄金分割法求函数?? t? ? t ? t ?1 的极小值,精度 e=0.01。 运行结果如下: 迭代计算 k= 7 极小点坐标 t= 2 函数值 f=0.0001 在 MATLAB 的 M 文件编辑器中编写的 M 文件,如下: f=inline('t^(2/3)-(t^2+1)^(1/3)','t'); a=0;b=3;epsilon=0.01; t1=b-0.618*(b-a);f1=f(t1); t2=a+0.618*(b-a);f2=f(t2); k=1; while abs(b-a)>=epsilon if f1

22, xxxxxf ???? (1)在用牛顿法在 MATLAB 的 M 文件编辑器中编写的 M 文件,如下:

3.用牛顿法、阻尼牛顿法及变尺度法求函数

?21121

function [x,fx,k]=niudunfa(x0)

syms x1 x2

f=(x1-2)^4+(x1-2*x2)^2; fx=0;

v=[x1,x2];

df=jacobian(f,v); df=df.';

G=jacobian(df,v); epson=1e-12;

g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)}); k=0;

p=-G1\\g1; x0=x0+p;

while(norm(g1)>epson)

p=-G1\\g1; x0=x0+p;

g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)}); k=k+1; end x=x0;

fx=subs(f,{x1,x2},{x(1,1),x(2,1)}); 运行结果如下:

>> [x,fx,k]=niudunfa([1;1])

x =1.9999554476059523381489991377897 0.99997772380297616907449956889483

fx =0.0000000000000000039398907941382470301534502947647 k =23

(2)用阻尼牛顿法在 MATLAB 的 M 文件编辑器中编写的 M 文件,如下:

function [x,fx,k]=zuniniudunfa(x0)%阻尼牛顿法 syms x1 x2

f=(x1-2)^4+(x1-2*x2)^2; fx=0;

v=[x1,x2];

df=jacobian(f,v); df=df.';

G=jacobian(df,v);

epson=1e-12;%停机原则

机械优化设计MATLAB程序

机械优化设计作业21.用二次插值法求函数???t???t1???t2?极小值,精度e=0.01。在MATLAB的M文件编辑器中编写的M文件,如下:f=inline('(t+1)*(t-2)^2','t')a=0;b=3;epsilon=0.01;t1=a;f1=f(t1);t3=b;f3=f(t3);t2
推荐度:
点击下载文档文档为doc格式
4f3lv8b6520zn011oo6h6et871df1c0192i
领取福利

微信扫码领取福利

微信扫码分享