论文 Simple Model of Spiking Neurons
下载地址 https://ieeexplore.ieee.org/document/1257420/citations#citations
神经元模型函数
v和u是无量纲的变量,并且a,b,c和d是无量纲的参数。v代表神经元的细胞膜的电势,u代表一个细胞膜回归变量,对k离子电流的活化作用和Na离子的失活作用,它对v提供了负反馈。
参数a描述回归变量u的时间范围。 更小的值导致更慢的恢复。一般a=0.02.
参数b描述描述回归变量u对细胞膜电势v的阈下波动的敏感度。一般b=0.2.
参数c描述了脉冲后细胞膜电势v被快速高阈值钾离子电导造成的重置电压值。一般为c=-65mV。
参数d描述了脉冲后被缓慢高阈值Na离子和K离子电导造成的回归变量u,一般为d=2.
import numpy as np
import matplotlib.pyplot as plt
a=0.02
b=0.2
c=-50
d = 2
V = -65
u = b*V
VF = []
tau = 0.5
#print(len(tspan))
tspan = np.arange(0,1000)
I = np.zeros(1000)
V = np.zeros(1000)
u = np.zeros(1000)
Vo = np.zeros(1000)
V[0] = -65
u[0] = b*V[0]
VF=[-65]
VT=30
for t in tspan: #时间维度0~1000 步长为1
if(t>VT):
I[t]=10+(0.015*(t-VT)); #注射的电流变化,坡度电流
else:
I[t]=10;
print(I.size)
for t in range(1,1000):
Vo[t] = 0.04*V[t-1]*V[t-1]+5*V[t-1]+140
V[t] = V[t-1]+0.25*(0.04*V[t-1]*V[t-1]+5*V[t-1]+140-u[t-1]+I[t-1])
u[t] = u[t-1]+0.25*a*(b*V[t-1]-u[t-1])
if V[t]>30 :
VF.append(30)
#VF(end+1)=30;
V[t]=c;
u[t]=u[t]+d;
else:
VF.append(V[t])
#VF(end+1)=V;
plt.plot(tspan,VF)
plt.show()
#print(VF)
程序运行结果
输入电压:
0.04vv+5*v+140这个部分被获得通过拟合大脑皮层神经元的脉冲初始化动态特性。
以下是它的图形
u细胞膜电势回归变量。