以下与链接的问题有关:
我试图解决的问题,使用. 由此,我需要找到并继续集成到一个大的odeint
我知道对于我应该使用np.arctan
我的问题是我的代码出现尺寸错误,因此无法解决
我也不确定如何将集成继续进行到较大的价值。
我附上了我的代码(我是 Python 新手,所以对明显的错误表示歉意。)
我真的可以在这里得到帮助,谢谢。
"""
Code to integrate ODE to numerically solve phase-shifts for given
values of k and r
"""
import numpy as np
import scipy.special as sp
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def pend(U, r, l, k, A):
theta, omega = U
dUdr = [r, (-k*(A**2)/(r**2))([sp.spherical_jn(l, z, derivative=False) \
-(sp.spherical_yn(l, z, derivative=False)*U(r))])**2]
return dUdr
# Set limits and step
rmin = 0
rmax = 100
dr = 1
# Set up array of r-values
r = np.arange(rmin, rmax+dr, dr);
N = len(r);
# Set Constants
A = 35.3
l = [0.0, 1.0]
k = 0.5
r = 7
z = k*r
# set initial conditions
U0 = [0.0]
# Solve
sol = odeint(pend, U0, r, args=(l, k, A))
# Plot
plt.legend(loc='best')
plt.xlabel('r')
plt.ylabel('U(r)')
plt.grid()
plt.show()
```