我正在测试我的集成方法重现分析获得的结果(对于参数的各种值)的能力,但结果证明是完全错误的,我找不到我的代码有什么问题。
例如,对于下面的参数值,应该倾向于随着时间(t)。然而,当我在 PyCharm 中运行这段代码时,停在.
使用的动态方程是
任何帮助将不胜感激,谢谢!
代码:
#Parameters:
N = 50
theta= 0.6
µ = 0.6/412.5
k = 1
n = 2
x1 = 0 #x1(0)
listx1 = [] #vector of all x1-values
dt = 0.01 #delta t
from math import pow
import matplotlib.pyplot as plt
t= 3600*24 # time is 1 day
while t>0:
listx1.append(x1)
dx1 = (µ * (N-x1) - (theta * x1) / (k + pow(x1, 2))) * dt
x1 = x1 + dx1
t -= dt
for i in range(500):
print("x1=", listx1[i])
print("x1 final:", listx1[-1])
t = []
for i in range(len(listx1)):
t.extend([i])
plt.plot(t, listx1, 'r')
plt.autoscale(enable=True, axis='both', tight=False)
v = [0, 3600 * 24, 0, 60]
plt.axis(v)
plt.show()
