1

次数 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

私のカスタム関数はこれを行うための最良の方法ですか?

ありがとう

4

1 に答える 1