Brian2学习——突触模拟

该代码示例展示了如何使用Python的Brian2库模拟神经元之间的突触连接。通过定义神经元的动态方程,设置电流刺激和时间常数,以及创建具有权重的突触,模拟前神经元对后神经元的影响。突触在前神经元触发脉冲时调整后神经元的膜电位。结果以图形形式展示,显示了两个神经元的膜电位变化。
部署运行你感兴趣的模型镜像

突触模拟

突触是指一个神经元的冲动传到另一个神经元或传到另一细胞间的相互接触的结构,突触具备权重,表示两个神经元之间的连接强度。代码示例如下,其完成的功能是前神经元不断接受电流刺激,然后产生脉冲影响后神经元。
代码实现如下:

from brian2 import *
import matplotlib.pyplot as plt

# Starts a new scope for magic functions
start_scope()

eqs = '''
dv/dt = (I-v)/tau : 1
I : 1
tau : second
'''

G = NeuronGroup(2, eqs, threshold='v>1', reset='v=0', method='exact')
# 两个神经元的初始电流值,时间常数值
G.I = [2, 0]
G.tau = [10, 100]*ms

# 建立突触,突触是两个神经元之间连接的枢纽,具有权重
# on_pre这句的含义是当前神经元发出脉冲尖峰时,后神经元膜电压增加0.2
S = Synapses(G, G, on_pre='v_post += 0.2')
# 建立连接, 前神经元0与后神经元1连接
S.connect(i=0, j=1)

M = StateMonitor(G, 'v', record=True)

# 仿真100ms
run(100*ms)

plot(M.t/ms, M.v[0], label='Neuron 0')
plot(M.t/ms, M.v[1], label='Neuron 1')
xlabel('Time (ms)')
ylabel('v')
legend()

plt.savefig(r'C:\Users\wzc\Documents\自学技术笔记\img\demo_synapse.png')
plt.show()

结果如下:

在这里插入图片描述

Brian2库还具备引入delay等功能,细节可见于官方文档

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值