优化设计matlab作业
结构优化设计作业 班 级: 道桥10901 学 号: 200905793 姓 名: 胡 俊 班内序号: 08 指导老师:罗永赤 长江大学城市建设学院 2012年6月 用while语句及0.618法求例题3.3计算过程及结果 >> f=inline( x^2+2*x , x ); >>a=-3;b=5;epsilon=0.2;k=1; >>x1=a+0.382*(b-a);f1=f(x1); >>x2=a+0.618*(b-a);f2=f(x2); >>fprintf(1, 0.618法运算结果\n ); >>fprintf(1, k 迭代区间左a 迭代区间右b 坐标x1 坐标x2 函数值f1 函数值f2 区间中点x\n ); >>x=0.5*(b-a) >>fprintf(1, %0.0f%7.4f%12.4f%11.4f%8.4f%12.4f%11.4f%7.4f\n ,k,a,b,x1,x2,f1,f2,x); disp( ) >>while k syms x1 x2 r ; y0=[1 1] ; H0=eye(2); e=0.005; f=x1^2+2*x2^2-4*x1-2*x1*x2; dx1=diff(f,x1); dx2=diff(f,x2); gf1=subs(dx1,{x1,x2},y0); gf2=subs(dx2,{x1,x2},y0); gf_0=double([gf1;gf2]); f1=subs(f,{x1,x2},y0-r*gf_0); f2=inline(f1); r=fminbnd(f2,-10000,10000); y1=y0-r*gf_0; dx1=diff(f,x1); dx2=diff(f,x2); gf1=subs(dx1,{x1,x2},y1); gf2=subs(dx2,{x1,x2},y1); gf_1=double([gf1;gf2]); clear r; syms r; while(norm(gf_1)>e) dy=y1-y0; dgf=gf_1-gf_0; H1=H0+dy*dy /(dgf *dy)-H0*dgf*dgf *H0/(dgf *H0*dgf); p=H1*gf_1; f1=subs(f,{x1,x2},y1-r*p); f2=inline(f1); r=fminbnd(f2,-10000,10000); y1=y1-r*p; y0=y1; gf_0=gf_1; gf1=subs(dx1,{x1,x2},y1); gf2=subs(dx2,{x1,x2},y1); gf_1=double([gf1;gf2]); clear r; syms r; end disp(y1) F=subs(f,{x1,x2},y1) 4 2 F = -8