[運算] 解非線性答案會跳動已回收

看板MATLAB作者 (letme)時間15年前 (2011/03/07 23:40), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
各位板大好 小弟在解物理題目.練習寫一程式 .m檔如下 function B=tip(a) global E L D f= @(x)x.*tan(x)-a; %想解 xtanx=a 最小正數解 a1=fzero(f,1); B=a1*sqrt(E/L^2/D); ------------------------------------------ >>global E L D >>E=10^8;L=0.5;D=1050; 接著同樣的a跑兩次.卻交互出現兩個答案 例如(下面 某數 都指同一個數.而且滿多數字帶入都有這樣的跳動) >>tip(某數) ans =B >>tip(某數) ans =C >>tip(某數) ans =B >>tip(某數) ans =C ............一直都會交互產生...且B和C差很多 試著將函數改成 f= @(x)abs(x.*tan(x)-a); a1=fminsearch(f,1); 可是一樣出現這樣的問題 用間隔0.01 plot畫y=x.*tan(x)圖...也觀察不出 有人有類似的經驗 或者可以教教我嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.228.247

03/08 11:34, , 1F
最佳解有幾個?
03/08 11:34, 1F
文章代碼(AID): #1DTFn_1_ (MATLAB)