如何在Matlab中求解零阶贝塞尔函数方程?

时间:2014-12-03 08:17:36

标签: matlab equation-solving bessel-functions

等式是I 0 (a * x)= b,其中a,b是常数,I 0 (y)是零阶bessel函数。< / p>

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

我希望在给出a和b时得到x的值。我只想要结果,所以没有必要通过Matlab实现所有求解过程,并且一个近似的答案也很好。

1 个答案:

答案 0 :(得分:0)

您可以使用(http://nl.mathworks.com/help/matlab/ref/besselj.htmlhttp://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);