実現したいこと
下記コードのようなscipyの球ベッセル関数を用いた計算をしようとしたところ、
実数部分が9乗以下だと計算できるのですが、10乗以上だとなぜかnanになってしまい困っています。
nanにならずに計算する方法はないのでしょうか。
ご教示いただけますと助かります。
宜しくお願いいたします。
試したコード
python
1import numpy as np 2import scipy as sc 3from scipy.special import spherical_jn 4 5#9乗以下の場合、計算できる 6x = 1e+9 + 0j 7fx = spherical_jn(0, x) 8 9print(fx) 10 11#10乗以上の場合、nanになる 12y = 1e+10 + 0j 13fy = spherical_jn(0, y) 14 15print(fy)
計算結果
(5.458434494486996e-10+0j) (nan+0j)
試したこと
下記のように虚数部分がない場合は10乗以上でも計算可能でした。
python
1import numpy as np 2import scipy as sc 3from scipy.special import spherical_jn 4 5x = 1e+10 6fx = spherical_jn(0, x) 7 8print(fx)
-4.875060250875107e-11
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/02 08:17