Equation
微分方程的单位使用
Code:
start_scope()
eqs = '''
dv/dt = 1*Hz : 1
'''
eqs1 = '''
dv/dt = 1*volt*Hz : volt
'''
G = NeuronGroup(N, eqs, method='euler')
G1 = NeuronGroup(N, eqs1, method='euler')
print(G.v)
print(G1.v)
Output:
<neurongroup.v: array([0.])>
<neurongroup_1.v: array([0.]) * volt>
-
在上例中,Equation句末声明为v的单位,同时Equation两端要保持单位统一
-
在equation中声明变量的单位时只能使用
base unit--defined by standard SI unit
微分方程模型示例
A simple model
- 膜电位与时间的函数为:
\[v=1-e^{-\frac{t}{\tau}}
\]
-
对应的微分方程为:
\[\frac{\mathrm{d}v}{\mathrm{dt}}=\frac{1-v}{\tau}\\ v(0)=0 \] -
对应的Equation代码为:
eqs=''' dv/dt=(1-v)/tau : 1 ''' # NeuronGroup中默认v(0)=0,若初始条件不同需使用NeuronGroup.v指定 -
已知微分方程形式以及某一特解条件,当 \(\tau=1\) 时使用WolframAlpha求解原函数
v'(t)=(1-v)/1, v(0)=0
posted on 2020-08-16 13:54 ctrlplayer 阅读(690) 评论(0) 收藏 举报
浙公网安备 33010602011771号