[問題] fsolve可以解聯立方程+條件式嗎?已回收

看板MATLAB作者 (....)時間15年前 (2010/11/10 08:30), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
若有三個聯立方程 五個未知數 想找最佳解 可以用fsolve再加上條件限制嗎? 例如 function ptt121 options=optimset('Display','iter'); x0=[1 1 1 1 1]; [x,fval] = fsolve(@myfun,x0,options) function f = myfun(x) f = zeros(3,1); f(1) = x(1)-x(5); f(2) = x(2)-x(4); f(3) = x(3)+2*x(4)+2*x(5)-10; 如果我想要加上x1~x5皆大於0 且x3>x2>x1 這樣的限制 希望得到的值都能滿足上面的條件 要怎麼寫呢?? matlab有支援這種功能嗎?? 感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 143.215.204.68

11/10 08:33, , 1F
要都正數,取x1=x(1)^2,解出來再自己開根號,不過,最好
11/10 08:33, 1F

11/10 08:34, , 2F
直接用fmincon,有限制條件的最佳化問題,目標函數是函數
11/10 08:34, 2F

11/10 08:34, , 3F
誤差值就好了
11/10 08:34, 3F

11/10 12:32, , 4F
感謝~改了之後有錯 我po在下面了 希望大大解惑m(_ _)m
11/10 12:32, 4F
文章代碼(AID): #1CsUUYVo (MATLAB)
文章代碼(AID): #1CsUUYVo (MATLAB)