[問題] fzero的問題已回收

看板MATLAB作者 (有沒有條紋)時間14年前 (2010/04/22 02:05), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串3/4 (看更多)
請問大大 在使用fzero時,假如我使用區間限制找根的方式: fzero(f1,[0.1,0.5]); 結果出現以下錯誤訊息: The function values at the interval endpoints must differ in sign. 但我知道在這區間內一定有等於零的解,請問該怎麼處理? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.68.211

04/22 19:56, , 1F
如果f1(0.1)和f2(0.5)的值同號,那麼就算0.1和0.5之間有解
04/22 19:56, 1F

04/22 19:57, , 2F
fzero也解不出來,因為它的原理是類似勘根定理,
04/22 19:57, 2F

04/22 19:58, , 3F
在兩個異號的函數值中間至少會有一個解
04/22 19:58, 3F

04/22 19:58, , 4F
因此如果兩個函數值同號,就算中間有解,fzero也會找不到
04/22 19:58, 4F

04/22 19:59, , 5F
舉例: y = x^2 這個拋物線函數,在x=0有解,
04/22 19:59, 5F

04/22 20:00, , 6F
但是用fzero(@(x)x.^2,[-1 1])會找不到
04/22 20:00, 6F
文章代碼(AID): #1BppvLAx (MATLAB)
文章代碼(AID): #1BppvLAx (MATLAB)