IF以及LIF神经分析

2 篇文章 0 订阅
1 篇文章 0 订阅

首先HH神经元模型的电路结构如下图所示:
在这里插入图片描述
LIF神经元模型的电路图如下所示
在这里插入图片描述
LIF神经元模型就是对HH神经元模型进行一种简化,把所有电阻都模型化成一个电阻R。
利用基尔霍夫电流定律,流入节点的电流之和等于流出节点的电流之和。可以得到
在这里插入图片描述
引入分压原理以及电容和电流之间的关系公式
在这里插入图片描述
引入时间常数:τm = RC
在这里插入图片描述
在这里就出现了du/dt,电压变化量的求法,用来在代码中通过前一时刻电压值求解后一时刻电压值。

上代码!

def run_LIF(pars, Iinj, stop=False):
  """
  Simulate the LIF dynamics with external input current
  Args:
    pars       : parameter dictionary
    Iinj       : input current [pA]. The injected current here can be a value
                 or an array
    stop       : boolean. If True, use a current pulse 用一个电流脉冲
  Returns:
    rec_v      : membrane potential
    rec_sp     : spike times
  """
  # Set parameters
  V_th, V_reset = pars['V_th'], pars['V_reset']   #初始化阈值和重置电压
  tau_m, g_L = pars['tau_m'], pars['g_L']   #泄露电导,和细胞膜时间常数
  V_init, E_L = pars['V_init'], pars['E_L']  #初始化电压,泄露平衡电压
  dt, range_t = pars['dt'], pars['range_t']  #时间差
  Lt = range_t.size  #时间长度
  tref = pars['tref']   #不应期

  # Initialize voltage and current
  v = np.zeros(Lt)  #记录迭代时刻的电压
  v[0] = V_init  #初始化电压
  Iinj = Iinj * np.ones(Lt)  #输入的信号
  if stop:  # set end of current to 0 if current pulse
    Iinj[:int(len(Iinj) / 2) - 1000] = 0
    Iinj[int(len(Iinj) / 2) + 1000:] = 0
  tr = 0.  # the count for refractory duration 不应期

  # Simulate the LIF dynamics
  rec_spikes = []  # record spike times  发放脉冲的时间
  for it in range(Lt - 1):
    if tr > 0:  # check for refractoriness  如果tr>0,说明不应期时间没结束
      v[it] = V_reset
      tr = tr - 1
    elif v[it] >= V_th:  # reset voltage and record spike event  到达阈值,发放脉冲
      rec_spikes.append(it)  #放入发放时间
      v[it] = V_reset
      tr = tref / dt #不应期时间

    # calculate the increment of the membrane potential  计算细胞膜电势增量
    dv = (-(v[it] - E_L) + Iinj[it] / g_L) * (dt / tau_m)

    # update the membrane potential  更新细胞膜电势
    v[it + 1] = v[it] + dv

  rec_spikes = np.array(rec_spikes) * dt  

  return v, rec_spikes

结果
在这里插入图片描述
这个网站有详解,也有完整代码

https://compneuro.neuromatch.io/tutorials/W2D3_BiologicalNeuronModels/student/W2D3_Tutorial1.html#tutorial-slides

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lif神经元和if神经元是两种常见的脑细胞类型,它们在神经科学研究中非常重要。 首先,lif神经元是指阈下整流模型神经元,其全称为Leaky Integrate-and-Fire(漏电积分和放电)神经元lif神经元模型认为神经元的膜电位受到其输入电流的积分,一旦膜电位达到某个特定的阈值,神经元就会发放一个动作电位。之后,膜电位会被重置,并在一个短暂的绝对不应期内无法再次发放动作电位。lif神经元模型主要用于模拟神经元的发放行为,以及神经网络的动力学。 其次,if神经元是指膜电位不应期模型神经元,其全称为Integrate-and-Fire(积分和放电)神经元。if神经元模型假设膜电位也是受到输入电流的积分,但与lif神经元不同的是,if神经元没有阈值,并且其膜电位在发放动作电位后会有一个更长的绝对不应期。if神经元模型主要用于描述神经元动作电位的频率,以及在神经网络中的同步和振荡现象。 综上所述,lif神经元和if神经元在模拟脑部神经元活动和神经网络行为上起着重要的作用。两种神经元模型都可以用来研究神经元的发放行为以及神经网络的动力学特征,但在模型中的某些细节上存在差异,例如膜电位的阈值和绝对不应期的长度。因此,在实际应用中需要根据具体的研究需求选择合适的神经元模型来进行模拟和分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值