该错误来自尝试从 scipy.integrate 导入 Radau 方法(需要,因为 Oregonator 模型是一个刚性系统)。
我试图对俄勒冈州模型进行数值积分,以表明参数 f 在 0 和 3 之间必须存在某个过渡点,以便在该区间的特定子集中发生振荡。
原谅我的经验不足,我是 Python 新手。
错误:ImportError:无法从“scipy.integrate”导入名称“radau”
在我的无知中,我从头开始构建了一个四阶龙格-库塔方法。在找到股票价格而不是化学波动后,我转而使用 odeint。这仍然失败。直到这之后我才发现了刚性系统的想法,所以我一直在研究 Radau 方法。
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate. import radau
# Dimensionless parameters
e = 0.04
q = 0.0008
f = 1.0
# Oregonator model
def Oregonator(Y, t):
return [((Y[0] * (1 - Y[0]) - ((Y[0] - q) * f * Y[1]) // (q + Y[0])))
// e, Y[0] - Y[1]]
# Time span and inital conditions
ts = np.linspace(0, 10, 100)
Y0 = [1, 3]
# Numerical algorithm/method
NumSol = radau(Oregonator, 0, Y0, t_bound=30)
x = NumSol[:,0]
z = NumSol[:,1]
预期的结果应该是类似(第 12 页)中的振荡: https ://pdfs.semanticscholar.org/0959/9106a563e9d88ce6442e3bb5b242d5ccbdad.pdf 仅适用于 x 和 z。y 的缺失是由于我使用了稳态近似值。
慕村225694
相关分类