次の計算を実行しています。
N = 2**15
dx = 0.1
x = np.arange(-N/2,N/2)
u0 = np.zeros([N, 1])
L = N * dx
x0 = x[1] + 2 * delta
delta = 15
while x0 < L - delta:
l1 = 1.267;
x0 = x0 + delta
r = 1/(l1*np.cosh(x)**2)
u0 = r + u0
基本的に、x0< L - デルタの間、このループは 2^15 ポイント実行されます。
これは MATLAB に変換されても問題なく動作しますが、python では次のエラーが表示されます。
RuntimeWarning: cosh
r = 1/(l1*np.cosh(x)**2)でオーバーフローが発生しました