資源描述:
《優(yōu)化設(shè)計(jì)共軛梯度matlab程序》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
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次后得到極小點(diǎn)x*及極小值f為:',k);disp(xk);disp(f);inputx0:[1;1]xk=11用阻尼牛頓法迭代27次后得到極小點(diǎn)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)