【发布时间】:2019-12-16 20:43:00
【问题描述】:
我正在尝试为 Fitzhugh-Nagumo 模型提出一个 python 实现。
V_t = V_xx + V(V - a)(1 - V) - W + I
W_t = eps(beta*V - W)
使用eps = 0.05, a = 0.2, beta = 5, I = .1 的基本代码我可以对系统进行数值求解(没有V_xx),但我似乎无法弄清楚如何实现空间扩散。
def func_v(v, w):
return v * (1 - v) * (v - .2) - w + .1
def func_w(v, w):
return .05 * (5 * v - w)
def get_yn(t0, v, w, h, t):
while t0 < t:
w += h * func_w(v, w)
v += h * func_v(v, w)
t0 += h
return v, w
我知道二阶导数的中心差分公式是
V_xx(x_i, t) = (V(x_i+1, t) - 2*V(x_i, t) + V(x_i-1, t)) / dx^2
但是我将如何实现x_i 的不同值(假设从x=0 到10)以使波沿x 轴传播?
结果应该给出一个像这样传播的波。
【问题讨论】:
-
您有任何测试数据或测试样本我们可以使用吗?
-
@wundermahn 测试数据是什么意思?就像我用来解决它的时间间隔和初始条件一样,没有
V_xx? -
您如何看待之前关于该主题的问题,例如stackoverflow.com/q/14915398/3088138 或stackoverflow.com/q/38116507/3088138
-
@Dr.LutzLehmann 我在 MATLAB 中看到了这个问题,当我将代码翻译成 python 时,它对我不起作用。
标签: python differential-equations pde