[問題] 聯立方程 + 限制條件已回收

看板MATLAB作者 (機掰人)時間15年前 (2010/09/28 15:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
方程式如下 f(x) = x1*3 + x2 = 10 限制條件如下 x1^2 +x2^2 < 25 大致上至少會有 x1 = 2 ; x2 = 4 ; 這一組答案 不過我不太清楚假設限制條件是自己的多次如何去寫他的程式 因為大多限制條件都是x1*x2 或 x1和x2乘上常數項 小於或等於之類的 目前使用 fseminf 但發生錯誤 還是可以使用其他方法? 程式碼如下 clear all X = fseminf('fun',x0,1,'test') ; 限制條件如下 function[C, Ceq, K1] = test(X) C=[] ; Ceq=[] ; K1 = X(1)^2/2 +X(2)^2/3 -25 ; end 解方程式如下 function A = fun(X) A =10 - X(1)*3 + X(2) ; end 錯誤如下 Caused by: Failure in initial evaluation of user-supplied semi-infinite constraint function (seminfcon). FSEMINF cannot continue. 謝謝指教.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.241.2
文章代碼(AID): #1CePcsAk (MATLAB)