次数 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 を返します。コードを修正するにはどうすればよいですかx = 0:1:5
?
>> sphbesselj(0,x)
ans =
NaN 0.8415 0.4546 0.0470 -0.1892 -0.1918
私のカスタム関数はこれを行うための最良の方法ですか?
ありがとう