[問題] 用Matlab的GATOOL在允計誤差內計算出 區間解已回收

看板MATLAB作者 (YetiMax)時間16年前 (2009/07/17 17:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想用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
文章代碼(AID): #1AO4dtEg (MATLAB)
文章代碼(AID): #1AO4dtEg (MATLAB)