function [y_downsampled,tau]=neuron(v_pre,delta_t,y_init,g_l,v_l,c_m,sigma,mu,W,E) y_1 = y_init; %[v_pre_resampled time_ref]= resample(v_pre,[1:size(v_pre,1)],1/delta_t); for i = 1:size(v_pre,1) dydt = (-(g_l + sum(W.*1./(1+ exp(-sigma'.*(v_pre(i,:)-mu')))',1)').*y_1 + g_l.*v_l + sum(W.*1./(1+ exp(-sigma'.*(v_pre(i,:)-mu')))'.*E,1)')./c_m; y(i,1) = y_1 + delta_t * dydt; y_1 = y(i,1); tau(i,1) =1./((g_l + sum(W.*1./(1+ exp(-sigma'.*(v_pre(i,:)-mu')))',1)')./c_m); end y_downsampled = resample(y,[1:size(v_pre,1)],1/1); %figure;plot(y) clear g_l v_l c_m sigma mu W E end
时间: 2024-04-26 07:26:26 浏览: 47
lyaprosen.rar_The First_exp
这是一个 Matlab 函数,其功能为模拟神经元的行为。具体来说,该函数接受一些输入参数(如预先记录的电压信号 v_pre,时间步长 delta_t,初始状态 y_init,电导 g_l、电压阈值 v_l、膜电容 c_m、激活函数参数 sigma、mu、连接权重矩阵 W,以及静息电位 E 等),并通过计算得出相应的输出值(如下采样后的状态 y_downsampled,时间常数 tau 等)。函数中包含了一些基本的运算,如矩阵乘法、求和、sigmoid 函数等,用于模拟神经元的膜电位变化及其对应的动作电位输出。
阅读全文