0

方程是I 0 (a*x)=b,其中a,b是常数,I 0 (y)是零阶贝塞尔函数。

I 0 (x)=1/(2*pi)*integral(x*cos(t)) dt [从 0 ->2*pi]

我想在给出 a 和 b 时得到 x 的值。我只想要结果,所以不必全部通过Matlab来实现求解过程,一个近似的答案也可以。

4

1 回答 1

0

您可以使用http://nl.mathworks.com/help/matlab/ref/besselj.html,http://nl.mathworks.com/help/optim/ug/fsolve.html

x = fsolve(@(x)(besselj(0,a*x)-b),x0);

或使用下面评论中指出的更简单的求解器(http://nl.mathworks.com/help/optim/ug/fzero.html

x = fzero(@(x)(besselj(0,a*x)-b),x0);
于 2014-12-03T09:06:04.743 回答