我有一个涉及 0 阶球面贝塞尔函数的问题。我编写了自己的球面贝塞尔函数:
function js = sphbesselj(nu,x)
js = sqrt(pi ./(2* x)) .* besselj(nu + 0.5, x);
end
这似乎与我所有测试用例的 Mathematicas 内置一致。问题在nu
或x =0
。Mathematica 正确返回 1,但我的 MATLAB 脚本返回 NaN。我怎样才能更正我的代码,这样如果我输入一个say数组,x = 0:1:5
我的第一个值就会得到1,而不是
>> sphbesselj(0,x)
ans =
NaN 0.8415 0.4546 0.0470 -0.1892 -0.1918
我的自定义函数是解决这个问题的最佳方法吗?
谢谢