我想知道是否有人可以提供帮助,我正在尝试阅读以下书籍:
Cohen, Mike X. 面向大脑和认知科学家的 MATLAB(麻省理工学院出版社)(第 490 页)。麻省理工学院出版社。Kindle版。
这是为简单的集成和触发神经元建模而给出的代码示例的精确剪切和粘贴,但是每次我运行它时都会收到一个未定义的错误:(,根据以前的知识,我知道通常未定义与调用一个没有已明确声明。问题是,我不知道“ti”或“timevec”应该与什么相关?(我尝试将它们切换到我已经声明的变量,例如“时间”,但这只会导致更多问题!)也许这是我错过的语法更改并快速修复?我在 OSX 上使用 R2017b。
谢谢!
volt_rest = -70; % resting potential (mV)
volt_thresh = -50; % action potential thresh. (mV)
volt_reset = -75; % post-spike reset voltage
% membrane parameters
R_m = 10; % neuron membrane resistance (MOhm)
tau = 10; % time constant of decay (ms)
srate = 10000; % sampling rate in Hz
sim_dur = 1; % stimulus duration in seconds
time = 0:1/srate:sim_dur - 1/srate;
input = zeros(1,length(time));
input(dsearchn(time',.3):dsearchn(time',.7)) = 3;
neuronV = volt_rest + zeros(size(timevec));
spiketimes = [];
if neuronV(ti) > volt_thresh
neuronV(ti) = volt_reset;
spiketimes = cat(1,spiketimes,ti);
end
r_i = volt_rest + input(ti)*R_m;
neuronV(ti+1) = r_i + (neuronV(ti) - r_i) * exp(-1000/srate/tau);
neuronV(neuronV==volt_reset) = 40;