方程是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来实现求解过程,一个近似的答案也可以。
方程是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来实现求解过程,一个近似的答案也可以。
您可以使用(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);