Re: [問題] fsolve 解多元非線性方程組

看板MATLAB作者 (攸藍)時間10年前 (2015/05/12 15:52), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《wen7774 (文...)》之銘言: : 我嘗試用fsolve解多元非線性問題 : 第一次寫matlab,參考板上之前的討論 : 原始題目 : (A-x-y)(B-x-β) = K1(x-α) : (A-x-y)(C-y-α) = K2(y-β) : (x-α) (C-y-α) = K3(α+β) : (y-β)(B-x-β) = K4(α+β) : Constant: K1.K2.K3.K4 : input : A.B.C : output: α.β.x.y create a file to put functions: =========== prac.m ============= function F = prac(x, A, B, C, K) F = [(A-x(1)-x(2))*(B-x(1)-x(4))-K(1)*(x(1)-x(3)); (A-x(1)-x(2))*(C-x(2)-x(3))-K(2)*(x(2)-x(4)); (x(1)-x(3))*(C-x(2)-x(3))-K(3)*(x(3)+x(4)); (x(2)-x(3))*(B-x(1)-x(4))-K(4)*(x(3)+x(4));]; end ================================= solve.m: A=30;B=20;C=60; %input parameter K1=2;K2=5.71;K3=3;K4=1.0; %constant x01 = [1,1,1,1]; fsolve(@(x) prac(x,A,B,C, [K1,K2,K3,K4]),x01) ans = 10.1211 18.1556 8.6104 8.1256 你也可以把prac.m直接用anonymous function取代 隨你 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.27.107 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1431417122.A.D7A.html

05/14 14:30, , 1F
非常謝謝
05/14 14:30, 1F

05/15 22:55, , 2F
05/15 22:55, 2F

05/24 15:23, , 3F
推認真...
05/24 15:23, 3F

05/24 15:26, , 4F
solve.m建議取別的名稱, 因為內建函式也有solve.m怕混淆
05/24 15:26, 4F

05/24 15:33, , 5F
[X,FVAL,EXITFLAG] = fsolve(省略, 可以看有無找到答案
05/24 15:33, 5F
文章代碼(AID): #1LKR4Yrw (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1LKR4Yrw (MATLAB)