MATLAB - fzero初始猜测

时间:2017-06-14 16:12:11

标签: matlab function

我一直在寻找stackoverflow来寻求这个问题的一些帮助,但到目前为止还没有发现任何东西,因此,我现在正在寻求一些建议。

基本上,我使用fzero函数来求解方程中的未知变量,其中方程中所有其他变量的值都是已知的。 fzero的初始猜测适用于"其他变量的一组值"在等式中。但是,我有"其他变量的一系列值" - 这是已知的 - 我想解决这个值范围内的未知变量。当范围从20到250时,单个初始猜测将不满足fzero函数,并且我得到一个错误。有没有办法估算20-250范围内每个点的准确(ish)初始猜测值?

希望我能很好地解释我的问题......我很感激任何建议。

1 个答案:

答案 0 :(得分: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