Nest创建神经元,并显示电压变化曲线

  1. nest 安装与介绍

NEST(神经模拟工具)最初是在 1990 年代后期开发的。它的主要目标是作为计算神经科学模拟器。它支持具有不同生物学细节水平的各种神经元和突触模型。例如,NEST 的神经元模型范围从泄漏积分和激发模型到详细的 Hodgkin-Huxley 模型。 NEST 是用 C++ 编写的,但有一个称为 PyNEST 的 Python 接口。该模拟器支持多线程混合并行化和 MPI 多节点模拟。它可以灵活地从单核笔记本电脑扩展到多节点超级计算机 。NEST 实现离散事件模拟;因此,NEST 的性能很大程度上取决于网络中的活动量。

nest的安装现在主要有2.x和3.x,安装的步骤可以在官网上直接找到

Install NEST — NEST Simulator Documentation

这里我建议安装3.x,python版本不能带太低,建议3.8.10以后的

详细的介绍我就不说了,具体的可以自己百度,主要开始敲代码

  1. 创建神经元并显示电压变化曲线
import matplotlib.pyplot as plt
import nest
import nest.voltage_tracenest.ResetKernel()
#设置仿真精度
nest.resolution = 0.001
#创建了一个HH的神经元
neuron = nest.Create("hh_psc_alpha")
#用来测量神经元的膜电位的变化情况
voltmeter = nest.Create("voltmeter")
#给HH神经元进行一个恒定的电流注入
neuron.I_e = 376.0
#将检测器和神经元进行链接
nest.Connect(voltmeter, neuron)
#开始仿真
nest.Simulate(10.0)
#可以直接调用nest提供的api函数访问电压的变化
#nest.voltage_trace.from_device(voltmeter)#但是有时候需要自定义电压低变化曲线
# 第一种方式,通过GetStatus获取检测起的状态,返回一个tupple
# 然后通过字典访问相应的数据
# events = nest.GetStatus(voltmeter, 'events')
# V_m = events[0]['V_m']
# times = events[0]['times']#第二种方式是直接通过检测器提供的get函数获取
V_m = voltmeter.get('events','V_m')
times = voltmeter.get('events','times')plt.plot(times,V_m,label="Membrane potential")
plt.axhline(y = 20,color='r',linestyle='--',label='Threshold Voltage')
plt.xlabel("Time (%s)")
plt.ylabel("Membrane potential (mV)")
plt.title("Action Potential")
plt.legend()
plt.show()

运行结果如下:

  1. 经典神经元的电压变化曲线
# -*- coding: utf-8 -*-import matplotlib.pyplot as plt
import nest
import nest.voltage_tracenest.ResetKernel()nest.resolution = 0.001
#创建神经元
hh = nest.Create("hh_psc_alpha")
lif = nest.Create("iaf_cond_alpha")
izhi = nest.Create("izhikevich")#创建检测器
voltmeter = nest.Create("voltmeter",3)hh.I_e = 376.0
lif.I_e = 376.0
izhi.I_e = 376.0nest.Connect(voltmeter[0], hh)
nest.Connect(voltmeter[1], lif)
nest.Connect(voltmeter[2], izhi)nest.Simulate(40.0)#显示多个窗口
fig, axes = plt.subplots(1,3,figsize=(12,4))#HH
hh_events = nest.GetStatus(voltmeter[0], 'events')
axes[0].plot(hh_events[0]['times'],hh_events[0]['V_m'],label="Membrane potential")
axes[0].set_title("HH")
#LIF
lif_events = nest.GetStatus(voltmeter[1], 'events')
axes[1].plot(lif_events[0]['times'],lif_events[0]['V_m'],label="Membrane potential")
axes[1].set_title("LIF")#Izhikevich
izhi_events = nest.GetStatus(voltmeter[2], 'events')
axes[2].plot(izhi_events[0]['times'],izhi_events[0]['V_m'],label="Membrane potential")
axes[2].set_title("Izhikevich")#设置间隙
plt.tight_layout()
plt.show()

运行结果:

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

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

相关文章

python jupyter notebook打开页面方便使用

如果没安装jupyter, 请安装: pip install jupyter notebook 运行jupyter notebook jupyter-notebook

03|Order by与Group by优化

索引顺序依次是 : name,age,position 案例1 EXPLAIN SELECT * FROM employees WHERE name LiLei AND position dev ORDER BY age;分析: 联合索引中只是用到了name字段做等值查询[通过key_len 74可以看出因为name字段的len74],在这个基础上使用了age进…

学会字符转换

字符转换 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入⼀一个字符串,将字符串中大写字母全部转为小写字母,小写字母转成大写字母,其他字符保持不变。注:字符串…

pthread_cond_timedwait()函数

绝对时间:相对于1970年1月1日0时0分0秒 相对时间:相对于当前时间,如sleep(3);相对于当前,过3s.

1110. 删点成林

1110. 删点成林 关键要点 通过O(1)时间复杂度确认节点是否需要删除 Set to_deleteSet new HashSet<>(); Arrays.stream(to_delete).forEach(to_deleteSet::add); 使用深度优先搜索&#xff08;DFS&#xff09;遍历树 node.left dfs(node.left, s, ans); node.right …

组态软件在物联网中的应用

随着物联网的快速发展&#xff0c;组态软件在物联网中的应用也越来越广泛。组态软件是一种用于创建和管理物联网系统的可视化工具&#xff0c;它能够将传感器、设备和网络连接起来&#xff0c;实现数据的采集、分析和可视化。本文将探讨组态软件在物联网中的应用&#xff0c;并…

【Django开发】0到1开发美多shop项目:短信验证码和RabbitMQ。全md文档笔记(附代码 文档)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目&#xff08;4.0版本&#xff09;含代码和文档。功能包括前后端不分离&#xff0c;方便SEO。采用Django Jinja2模板引擎 Vue.js实现前后端…

基于虚拟力优化的无线传感器网络覆盖率matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 虚拟力优化算法 4.2 覆盖覆盖率计算 5.完整程序 1.程序功能描述 基于虚拟力优化的无线传感器网络覆盖率&#xff0c;仿真输出优化前后的网络覆盖率&#xff0c;覆盖率优化收敛迭代曲线…

jQuery瀑布流画廊,瀑布流动态加载

jQuery瀑布流画廊&#xff0c;瀑布流动态加载 效果展示 手机布局 jQuery瀑布流动态加载 HTML代码片段 <!-- mediabanner --><div class"mediabanner"><img src"img/mediabanner.jpg" class"bg"/><div class"text&qu…

【计算机网络】深度学习使用应用层的HTTP协议

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【计算机网络】深度学习使用应用层的HTTP协议 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录 一:HTTP是什么二:HTTP请求1.HTTP请求的组成2.HTTP请求的方法…

Linux之部署前后端分离项目

Nginx配置安装 1.安装依赖 我们这里安装的依赖是有4个的 [rootlocalhost opt]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.上传解压安装包 [rootlocalhost opt]# tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/3.安装Nginx &#xff0…

我的NPI项目之设备系统启动(八) -- Android14的GKI2.0开发步骤和注意事项

GKI是什么&#xff1f; Google为什么要推行GKI&#xff1f; GKI全称General Kernel Image。GKI在framework和kernel之间提供了标准接口&#xff0c;使得android OS能够轻松适配/维护/兼容不同的设备和linux kernel。 Google引入GKI的目的是将Framework和Kernel进一步的解耦。因…

【NCom】:通过高温气相合成调节Pt-CeO2相互作用以提高晶格氧的还原性

摘要&#xff1a;在这项工作中&#xff0c;我们比较了通过两种方法制备的 Pt 单原子催化剂&#xff08;SAC&#xff09;的 CO 氧化性能&#xff1a;&#xff08;1&#xff09;传统的湿化学合成&#xff08;强静电吸附strong electrostatic adsorption–SEA&#xff09;&#xf…

音视频数字化(数字与模拟-电视)

上一篇文章【音视频数字化(数字与模拟-音频广播)】谈了音频的广播,这次我们聊电视系统,这是音频+视频的采集、传输、接收系统,相对比较复杂。 音频系统的广播是将声音转为电信号,再调制后发射出去,利用“共振”原理,收音机接收后解调,将音频信号还原再推动扬声器,我…

UI风格汇:极简主义(Minimalism),有人喜欢,有人唾弃。

Hello&#xff0c;我是大千UI工场&#xff0c;设计风格是我们新开辟的栏目&#xff0c;主要讲解各类UI风格特征、辨识方法、应用场景、运用方法等&#xff0c;本次带来的极简主义风格的解读&#xff0c;有设计需求&#xff0c;我们也可以接单。 一、什么是极简主义风格&#xf…

T-Dongle-S3开发笔记——移植LVGL

添加lvgl组件 idf.py add-dependency lvgl/lvgl>8.* 新建终端执行命令后出现了新的文件&#xff1a; 清除再编译后才会出现lvgl库 优化为本地组件 以上方式修改了组件文件内容重新编译后文件又会变回去。 所以我们要把lvgl变成本地组件 1、要把 idf_component.yml 文…

【其他】简易代码项目记录

1. KeypointDetection 1.1. CharPointDetection 识别字符中的俩个关键点。 1.2. Facial-keypoints-detection 用于检测人脸的68个关键点示例。 1.3. Hourglass-facekeypoints 使用基于论文Hourglass 的模型实现人体关键点检测。 1.4. Realtime-Action-Recognition containing:…

opencv基础 python与c++

question: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib Opencv 一、读取图片 (1).imshow Mat imread(const string& filename, intflags1 );flags: enum { /* 8bit, color or not */CV_LOAD_IMAGE_UNCHANGED -1, /* 8bit, gray */CV_LOAD_I…

Vue3 exceljs库实现前端导入导出Excel

前言 需求场景 最近在开发项目时需要批量导入和导出Excel数据&#xff0c;在实现这个需求时&#xff0c;我们既可以在前端完成数据解析和文件生成工作&#xff0c;也可以通过前端发起导入以及导出请求后&#xff0c;后端实现解析文件流解析文件内容以及生成文件并提供下载链接…

中科大计网学习记录笔记(十五):可靠数据传输的原理

前前言&#xff1a;看过本节的朋友应该都知道本节长度长的吓人&#xff0c;但其实内容含量和之前的差不多&#xff0c;老师在本节课举的例子和解释比较多&#xff0c;所以大家坚持看完是一定可以理解透彻的。本节课大部分是在提出问题和解决问题&#xff0c;先明确出现的问题是…