2017-06-14 79 views
0

我一直在尋找一些幫助這個問題的stackoverflow,但到目前爲止還沒有找到任何東西,因此,我現在正在尋求一些建議。MATLAB - fzero初始猜測

基本上,我使用fzero函數來求解方程中的未知變量,其中方程中所有其他變量的值是已知的。 fzero的初始猜測對於等式中「其他變量」的一組值是正確的。然而,我已經知道「其他變量」的一系列值,並且我希望解決這個值範圍內的未知變量。由於範圍從20到250,單個初始猜測不會滿足fzero函數,並且出現錯誤。是否有任何方法可以估計我的20-250範圍內每個點的準確(ish)初始猜測值?

希望我解釋了我的問題...我很欣賞任何建議。

回答

1

如果你現在猜測你想要使用你的範圍的值,這可以在for循環中完成。當然不是很快,但我認爲這個例子會起作用。

guesses = [1 2 3 4 ...your guesses....guess(i)]; 
range = [9 8 7 6 ....your values....value(i)] 

for i = 1:length(guesses) 
f = @x range(i)*sin(x); 
x(i) = fzero(f,guess(i)) 

end