[問題] 用Matlab的GATOOL在允計誤差內計算出 區間解已回收
我想用Matlab的GATOOL在允計誤差內計算出 區間解
Maximzation:f(x,y)=-x^2+2X-y^2-6Y=XY
subjext to:-6 <= x,y <= 6
我的問題是不知道怎麼用設定 區間變數
xx-x(1) <= x <= xx+x(2) ; yy-y(1) <= y <= yy+y2)
以下是我嘗試過的m檔 不過答案不理想
想請大大幫忙修改
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Gx=fuc(x) %GAtool目標函數(最小值)
xx=-0.667 %ff=(xx,yy) 方程式的最大值及最佳解
yy=-3.3343
ff=9.33333
obj_error=1 %允計誤差1%
a=xx+x(1);b=yy+x(3)
f(1)=-a^2+2a-b^2-6b+ab
a=xx-x(2);b=yy+x(3)
f(2)=-a^2+2a-b^2-6b+ab
a=xx+x(1);b=yy+x(4)
f(1)=-a^2+2a-b^2-6b+ab
a=xx-x(2);b=yy+x(4)
f(2)=-a^2+2a-b^2-6b+ab
error=abs((ff-f)/ff)*100
if error <= obj_error
Hx=-10^4
elseif error > obj_error
Hx=erroe
else Hx=10^4
Hx_ave=sum(Hx)/4 %使答案掉進允計誤差內
A_design=(x(1)+x(2))/(6-(-6))*(x(3)+x(4))/(6-(-6)) %在允計誤差內找最大的區間
Gx = Hx_ave-(10^2)*A_design
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
感謝大家的意見,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.78.134
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章