[問題] 以fzero求解非線性方程式只有一解
我想解一非線性方程式
利用fzero來解
以實際畫圖來看,應該會有兩個解
http://i.imgur.com/Czr83Ow.jpg

但經以下兩種方法運算出來卻只有一解
請問各位大大,是小弟我哪邊沒注意到還是做錯呢!?
1.
利用fzero
function y=fname(f)
L=12;
X=0.86*1.72;
CS=18.8715;
y=((540.*(1+0.7./L).^-0.2)./1+12./X.*(1+f./3)).*f.*exp(-(0.3.*(1+100./L).^0.15).*f).*sqrt(1+0.06.*exp((0.3.*(1+100./L).^0.15).*f))-CS;
x0=2;
sol = fzero('fname',x0)
結果 sol = 0.0343
2.
利用solve
sol = solve(((540.*(1+0.7./L).^-0.2)./1+12./X.*(1+f./3)).*f.*exp(-(0.3.*(1+100./L).^0.15).*f).*sqrt(1+0.06.*exp((0.3.*(1+100./L).^0.15).*f))-CS)
結果 sol = 0.034223012728613170972559442722555
都只有一解!?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.249.117
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1433316582.A.C4D.html
※ 編輯: tom20417 (140.124.249.117), 06/03/2015 15:42:45
→
06/04 00:09, , 1F
06/04 00:09, 1F
推
06/06 20:39, , 2F
06/06 20:39, 2F