资源描述:
《优化设计共轭梯度matlab程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、111%用阻尼牛顿法求课本93页第2题f(x1,x2)=(x1-2)^4+(x1-2x2)^2极小值(matlab语言)k=0;ptol=1.0e-5;xk=input('inputx0:')itcl=[1;1];whilenorm(itcl)>=ptolf1=[4*xk(1,1)^3-24*xk(1,1)^2+50*xk(1,1)-4*xk(2,1)-32;-4*xk(1,1)+8*xk(2,1)];G=[12*xk(1,1)^2-48*xk(1,1)+50,-4;-4,8];dk=-inv(G)*
2、f1;a=-(dk'*f1)/(dk'*G*dk);xk=xk+a*dk;itcl=a*dk;k=k+1;endf=(xk(1,1)-2)^4+(xk(1,1)-2*xk(2,1))^2;fprintf('用阻尼牛顿法迭代%d次后得到极小点x*及极小值f为:',k);disp(xk);disp(f);inputx0:[1;1]xk=11用阻尼牛顿法迭代27次后得到极小点x*及极小值f为:2.00001.00001.3270e-019≈04%用共轭梯度法求课本93页第32题f(x1,x2)=1.
3、5*xk(1)^2+0.5xk(2)^2-xk(1)*xk(2)-2*xk(1)的极小值(matlab语言)xk=input('inputx0:')ptol=1.0e-5;k=2;whilek==2k=0;btk=0;dk=0;fork=0:2gk=[3*xk(1,1)-xk(2,1)-2;xk(2,1)-xk(1,1)];dk=-gk+btk*dk;f1=gk;G=[3,-1;-1,1];a=-(dk'*f1)/(dk'*G*dk);xk=xk+a*dk;gk1=[3*xk(1,1)-xk(2,1)
4、-2;xk(2,1)-xk(1,1)];ifnorm(gk1)5、xk及极小值f为:1.00001.0000-14%用鲍威尔法求解课本94页第4题中二次型的极小值(matlab语言)x0=[0;0];x2=[0;0];ptol=1.0e-5;d=eye(2);k=0;dk=[1;1];f=zeros(4,1);whilenorm(dk)>=ptolfori=1:2f(1)=2*x0(1)^2+2*x0(2)^2-4*x0(1)-2*x0(1)*x0(2);f1=[2*x0(1)-2*x0(2)-4;4*x0(2)-2*x0(1)];f2=[2,-2;-2,4];a=
6、-(d(:,1)'*f1)/(d(:,1)'*f2*d(:,1));x2=x2+a*d(:,1);f(2)=2*x2(1)^2+2*x2(2)^2-4*x2(1)-2*x2(1)*x2(2);det1=f(1)-f(2);f1=[2*x2(1)-2*x2(2)-4;4*x2(2)-2*x2(1)];a=-(d(:,2)'*f1)/(d(:,2)'*f2*d(:,2));x2=x2+a*d(:,2);f(3)=2*x2(1)^2+2*x2(2)^2-4*x2(1)-2*x2(1)*x2(2);det2=
7、f(2)-f(3);endf1=[2*x2(1)-2*x2(2)-4;4*x2(2)-2*x2(1)];ifdet1>=det2detm=det1;m=1;elsedetm=det2;m=2;enddk=x2-x0;x3=2*x2-x0;f(4)=2*x3(1)^2+2*x3(2)^2-4*x3(1)-2*x3(1)*x3(2);if(f(4)8、/(dk'*f2*dk);x0=x3+a*dk;ifm==1d(:,m)=d(:,2);d(:,2)=dk;elsed(:,2)=dk;endelseiff(3)