[問題] fsolve 解非線性方程式的問題已回收
請問一下版上的高手...
我想用 fsolve 解一個非線性方程式.
我有最初始的 H(1) 值.所以可以找出 H1(1) 和 H1(2).
然後每一個 H(i+1) 都是用 H1(i+1) 解出來的.
所以勢必要放在迴圈裡跑.
function G = myfun(H)
G = 1.535*(H-0.7)^(-2.715)+3.3-H1(1,j1+1);
我在主程式裡的迴圈寫成下面這樣..
____________________________________________________
for j1=p1:N-1
H1(1,j1) = 1.535*(H(1,j1)-0.7)^(-2.715)+3.3; % Start point H1
FH1(1,j1) = 0.0306*(H1(1,j1)-3)^(-0.653);
H1(1,j1+1) = (Ue(1,j1)*H1(1,j1)*Theta2(1,j1)+FH1(1,j1)*...
Ue(1,j1)*ds(1,j1))/(Ue(1,j1+1)*Theta2(1,j1+1));
H(1,j1+1) = fsolve(@myfun,3);
end
____________________________________________________
可是一直有錯誤訊息說我沒有定義 j1 變數.
所以想請問一下版上的高手知道問題是在哪裡嗎..??
看了很久的 help 檔還是不知道問題在哪.
貼上Matlab 給我的錯誤訊息.
______________________________________________________
??? Undefined function or variable 'j1'.
Error in ==> myfun at 3
G = 1.535*(H-0.7)^(-2.715)+3.3-H1(1,j1+1);
Error in ==> fsolve at 253
fuser = feval(funfcn{3},x,varargin{:});
Error in ==> HW7 at 80
H(1,j1+1) = fsolve(@myfun,3);
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE
cannot continue.
_______________________________________________________
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 146.244.89.133
推
12/01 08:03, , 1F
12/01 08:03, 1F
→
12/01 08:07, , 2F
12/01 08:07, 2F
→
12/01 08:08, , 3F
12/01 08:08, 3F
→
12/01 08:08, , 4F
12/01 08:08, 4F
推
12/01 11:44, , 5F
12/01 11:44, 5F
→
12/01 11:44, , 6F
12/01 11:44, 6F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):