HH神经元模型

1、HH神经元的电路图。
在这里插入图片描述
在这里插入图片描述

电池表示特定离子的平衡电势,电阻器反映通道对特定离子的渗透性。
电容代表的就是细胞膜,存储电荷,起到了电容的作用。
在这里插入图片描述
在这个公式中IL代表的是泄露电流,图中它的电路中就是一个电阻R和一个电源的分路,而Ik代表的是各个离子的电流,图中它所代表的电路是一个可变电阻R和一个电源,如RNa和Rk,Ic代表的通过电容器的电流,下面这个公式代表的是。
电流是指在单位时间里通过导体任一横截面的电量。

I = dq/dt = C(du/dt)
用这个公式计算瞬时电压变化。
电导g:在数值上等于电阻的倒数,导电率。
在这里引入3个门控变量,m、h、n,其中m和h控制的是Na离子的流通,而n控制的是K离子的流通。在这里,m、n、h所代表的就是某离子通道某时刻打开的概率,由不允许到允许转换的速率为αi(t),由允许到不允许状态转换的速率为βi(t),

各个门控变量的变化导数。
在这里插入图片描述

参数初始化,因为门控系数和当时的膜电势有关:
在这里插入图片描述
然后,根据门控系数和初始化的参数,求得当时电流。
在这里插入图片描述
步骤:
1、设置参数,包括平衡电势、电容、电阻、静息电位、最大电导、dt以及仿真时长
2、循环开始
更新α和β
若i为1,利用上述参数得到初始化mnh
根据mnh更新电导
计算各通道电流,得到-∑Ik(t)+I(t)
更新膜电势
根据膜电势更新mnh

HH方程python实现

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv
# 参数定义 可参考
# 平衡电位
E_Na = 115.0  # [mV]
E_K = -12.0  # [mV]
E_L = 10.6  # [mV]# 最大电导
g_Na = 120.0  # [mS]
g_K = 36.0  # [mS]
g_L = 0.3  # [mS]dt = 0.01  # [ms]
T = 40  # [ms]img = cv.imread('t1.png')
stimu1us1 = img[:, :, 0]
stim1 = np.array([])
for i in range(0, 2):stim1 = np.hstack((stim1, stimu1us1[i]))
stim1 = stim1 / 25
t = np.arange(0,len(stim1), 1) # 循环次数,时间
V = np.zeros(len(stim1))
n = np.zeros(len(stim1))
m = np.zeros(len(stim1))
h = np.zeros(len(stim1))I_E = 0.0
V[0] = 0.0
h[0] = 0.59 # K离子通道系数
m[0] = 0.05 # Na离子通道系数
n[0] = 0.31 # Na离子通道系数# 在10ms是注入10mA的电流,然后15ms再次置电流为0
for i in range(1, len(stim1)):  # 把上一个输出作为神经元的下一次输入if i == 1000:I_E = 10.0if i == 1500:I_E = 0.0# Calculate the alpha and beta functions (代码同上)# 计算α和β,分别代表从不允许到允许转换的速率和从允许到不允许转换的速率alpha_n = (0.1 - 0.01 * V[i - 1]) / (np.exp(1 - 0.1 * V[i - 1]) - 1)alpha_m = (2.5 - 0.1 * V[i - 1]) / (np.exp(2.5 - 0.1 * V[i - 1]) - 1)alpha_h = 0.07 * np.exp(-V[i - 1] / 20.0)beta_n = 0.125 * np.exp(-V[i - 1] / 80.0)beta_m = 4.0 * np.exp(-V[i - 1] / 18.0)beta_h = 1 / (np.exp(3 - 0.1 * V[i - 1]) + 1)# Calculate the time constants and steady state values# 打开通道的比例随时间变化tau_n = 1.0 / (alpha_n + beta_n)# 表示通道多久能打开inf_n = alpha_n * tau_ntau_m = 1.0 / (alpha_m + beta_m)inf_m = alpha_m * tau_mtau_h = 1.0 / (alpha_h + beta_h)inf_h = alpha_h * tau_h# 更新n,m,hn[i] = (1 - dt / tau_n) * n[i - 1] + (dt / tau_n) * inf_nm[i] = (1 - dt / tau_m) * m[i - 1] + (dt / tau_m) * inf_mh[i] = (1 - dt / tau_h) * h[i - 1] + (dt / tau_h) * inf_h# 公式四# 更新膜电位方程I_Na = g_Na * (m[i] ** 3) * h[i] * (V[i - 1] - E_Na)I_K = g_K * (n[i] ** 4) * (V[i - 1] - E_K)I_L = g_L * (V[i - 1] - E_L)# dv = -(I_Na + I_K + I_L - I_E)dv = stim1[i] - (I_Na + I_K + I_L)   # 变化V[i] = V[i - 1] + dv * dt
print(len(m))
print(m)
plt.clf()
plt.subplot(1, 3, 1)
plt.plot(t, V)
# 膜电位变化
plt.title('Membrane potential')
plt.subplot(1, 3, 2)
plt.plot(t, n)
plt.plot(t, m)
plt.plot(t, h)
plt.title('Gating variables')
plt.legend(['n', 'm', 'h'])
plt.subplot(1, 3, 3)
plt.plot(t, g_Na * h * m ** 3)
plt.plot(t, g_K * n ** 4)
plt.title('Ionic currents')
plt.legend(['Na', 'K'])
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/73156.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络输出层多个神经元

由于matlab升级,已经不能想以前一样直接在newff函数里面规定好隐含层多少个,或者几层,还可以有多个神经元的输出层。改版后需要输出层变成矩阵的形式,神经网络工具箱可以自动识别输出层有几个神经元。详细代码如何下: …

训练神经网络用什么显卡,cpu可以训练神经网络吗

gpu构架为什么更适合发展神经网络 因为神经网络这种大范围多任务的简单运算来说,正好符合GPU这种多核架构,比如你CPU20核心,同时处理20个任务。但是神经网络可能有20000个任务(比喻)。 但最近比较有代表性的GPU-Nvid…

单个神经元

先来看一下单个神经元网络模型: 其中 xi 表示输入,wi 和 b 表示参数。图中下方的公式是 1 函数的模型,嗯,就是一个线性模型。那么就这么一个简单的线性模型怎么仿真出人类神经元那么复杂的玩意儿呢?一个线性模型当然满…

人工神经元模型及常见激活函数

人工神经元模型 生物学上神经元通常由细胞体,细胞核,树突和轴突构成。 树突用来接收其他神经元传导过来的信号,一个神经元有多个树突; 细胞核是神经元中的核心模块,用来处理所有的传入信号; 轴突是输出信…

神经元是个啥子

空间平面的方程 这是一个似曾相识的方程👇 b ∑ n 1 N x n θ n i n 0 b\sum_{n1}^Nx_n\theta_n\bm{i}_n0 bn1∑N​xn​θn​in​0 没错,它描述了空间中的一个平面。其关于每一个坐标轴都有斜率 θ i \theta_i θi​,而 i n 为 这 个 轴…

神经网络的神经元个数,神经网络每层单元数

1、请问如何确定神经网络控制中网络层数和每层神经元个数 你使用的什么神经网络?如果是RBF神经网络,那么只有3层,输入层,隐含层和输出层。确定神经元个数的方法有K-means,ROLS等算法。 谷歌人工智能写作项目:小发猫 …

LSTM中神经元的个数

在初学RNN\LSTM时,经常将其与CNN进行类比,从而会思考LSTM中的神经元的个数。 然而循环神经网络与卷积神经网络差异很大,个人建议不进行类比,概念容易混淆。 其次来解释RNN\LSTM中神经元的个数。 这张在RNN中广为流传的神图&…

一个神经网络有多少个神经元?

引言 神经网络是机器学习的一个迷人的领域,但是它们有时很难优化和解释。事实上,它们有几个超参数。要优化的最常见的超参数是隐藏层中的神经元数量。让我们看看如何为我们的数据集找到一个神经网络的最佳神经元数量。 什么是神经网络? 神经网…

人体中数量最多的神经元,人体内有多少个神经元

人体的神经细胞到底有多少个? 谷歌人工智能写作项目:神经网络伪原创 人体内平均有多少神经元? 写作猫。 约含有140亿个神经元胞体虽然神经元形态与功能多种多样,但结构上大致都可分成胞体(cellbody,orsoma&#xff…

人体的神经元有多少个,人体的神经元有多少支

人体内平均有多少神经元? 。 约含有140亿个神经元胞体虽然神经元形态与功能多种多样,但结构上大致都可分成胞体(cellbody,orsoma)和突起(neurite)两部分.突起又分树突(dendrite)和…

HICE第四天笔记 12月8日

第四天 12月8号 TCP和UDP 的区别 1,TCP是面向连接的协议,UDP是无连接的协议 2,TCP协议传输是可靠的,UDP协议传输“尽力而为” 3,TCP可以进行流控,UDP不行 4,TCP可以进行分段,UDP不行…

微信每日早安推送 Windows版

应诸多网友要求,这次上一个windows版的。 使用方法就是双击打开,立即就会推送一次。需要定时执行,可以使用windows的 任务计划程序 实现。帮大家百度好了 windows如何定时运行程序https://jingyan.baidu.com/article/7c6fb428334a49c1642c90e…

AutoGPT太火了,无需人类插手自主完成任务,GitHub2.7万星!

机器之心报道 编辑:杜伟、陈萍 OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。 近日,AI 界貌似出现了一种新的趋势:自主人工智能。 这不是空穴来风,最近一个名为 AutoGPT 的研究开始…

【人工智能】大模型平台新贵——文心千帆

个人主页:【😊个人主页】 🌞热爱编程,热爱生活🌞 文章目录 前言大模型平台文心千帆发布会推理能力模型微调 作用 前言 在不久的之前我们曾讨论过在ChatGPT爆火的大环境下,百度推出的“中国版ChatGPT”—文…

你如何看待百度的文心一言ERNIE Bot?心有所系,言出必行。

心有所系,言出必行。 排队中。。。 文心一言 百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。 文心一言&#x…

post请求发送几次?

http请求这个问题在面试中可谓是三天两头的出现,好多人对这道题都是屡试不爽,倒背如流的就可以将get和post的区别如数家珍的娓娓道来! 如下图 上图来自 w3schools 我相信当面试官问这道题的时候你心里肯定是乐开花了,正中下怀的感觉&…

一个页面同时请求多个接口,超过6个请求之后,stallled时间过长

Network Timing 使用Chrome浏览器请求多个接口时发现前面的请求Network Timing中stalled时间明显较短,到第四个请求时stalled时间开始加长,超过6个请求之后,stallled时间过长,导致接口整体请求时间变长,页面渲染变慢。…

Chrome浏览器发送两次请求

Chrome浏览器在请求时会调用两次Servlet 但在FireFox上却没这个问题,发现大家说的都是插件问题。经过一一排查,发现了罪魁祸首。 在开启这个插件的时候会请求两次,将这个插件的权限改为点击时即可解决。

ChatGPT对于普通人有哪些用处

以程序员为例,让ChatGPT可以模拟面试:刷题、预测面试(从面试官角度出题、评分)、修改简历……ChatGPT简直太香了! 但很可惜的是,很多人还不知道怎么用ChatGPT。看这里!!&#xff01…