我想在C中編寫一個類似於MATLAB的函數,名爲fzero
,我發現fzero使用布倫特方法來尋找根。將MATLAB的fzero函數(布倫特方法)轉換爲C代碼
T=fzero(MyFunction,CATHRESHOLD);
這是我所需要的功能,它是想給我的MyFunction零附近CATHRESHOLD
。
當我試圖實施布倫特方法以找到所需的結果時,我發現除了MyFunction,我需要兩個輸入a
和b
。
b
被認爲是MyFunction根目前的猜測。 a
是一個點,使MyFunction(a)
和MyFunction(b)
有相反的符號,所以間隔[a, b]
包含解決方案。
我可以寫一個知道所有輸入的布倫特方法的C代碼,但我不能寫一個只知道函數,而我所謂的CATHRESHOLD
。 我應該如何選擇價值a
?!
任何人都可以向我解釋fzero
的工作方式可能會有所幫助!