?? mg0523076zuoye.m
字號:
%近代電子學作業
% mg0523076 潘向昱
%求min(x1^2+x2^2),約束條件1-x1-x2<=0
%0.618法
a=[0,0];
b=[10,10]; %確定單谷搜索[a,b]
c_wucha=[1.0e-7,1.0e-7]; %給定最后精度c_wucha
t1=[0.1,0.1];
t2=[9.9,9.9];
ck=50; %給出罰參數
f1=t1(1,1)^2+t1(1,2)^2+ck*(max(1-t1(1,1)-t1(1,2),0))^2;
f2=t2(1,1)^2+t2(1,2)^2+ck*(max(1-t2(1,1)-t2(1,2),0))^2; %計算最初的兩個探索點
t1=a+0.382*(b-a);
t2=a+0.618*(b-a);
while(1)
if f1<=f2 %如果f1<f2
if t2(1,1)-a(1,1)<=c_wucha(1,1)
break
else
b=t2;
t2=t1;
t1=a+0.382*(b-a);
f2=f1;
f1=t1(1,1)^2+t2(1,2)^2+ck*(max(1-t1(1,1)-t1(1,2),0))^2;
end
else
if b(1,1)-t1(1,1)<=c_wucha(1,1)
break
else
a=t1;
t1=t2;
t2=a+0.618*(b-a);
f1=f2;
f2=t2(1,1)^2+t2(1,2)^2+ck*(max(1-t2(1,1)-t2(1,2),0))^2;
end
end
ck=ck*2; %調整罰參數
end
(t1+t2)/2
t1
t2
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -