我想使用 Python 求解非线性一阶微分方程。
例如,
df/dt = f**4
我写了下面的程序,但是matplotlib有问题,所以不知道我用scipy的方法对不对。
from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
derivate=lambda f,t: f**4
f0=10
t=np.linspace(0,2,100)
f_numeric=scipy.integrate.odeint(derivate,f0,t)
print(f_numeric)
plt.plot(t,f_numeric)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这导致以下错误:
AttributeError: 'float' object has no attribute 'rint'
Run Code Online (Sandbox Code Playgroud)