from
Neurocal
by Zeng Lertmanorat Simulation describing the electrical activity of nerve cell (neuron) by solving cable equation
Iinstim(name,node,varargin)
function Iinstim(name,node,varargin)
%[Variable, node, amp, dur, delay]
%[Variable, node, StimWaveform]
global zeng
if isempty(zeng.Iinstim)
stim_num=1;
else
stim_num=1+length(zeng.Iinstim);
end
if nargin==3 %Stim Waveform
zeng.Iinstim(stim_num).varnum=name.varnum;
zeng.Iinstim(stim_num).node=node;
zeng.Iinstim(stim_num).amp =varargin{1};
zeng.Iinstim(stim_num).dur =0;
zeng.Iinstim(stim_num).delay=0;
elseif nargin==5 %Square Pulse
if ~isnumeric(varargin{1})
zexst('err',['Amplitude of Iinstim(' num2str(stim_num) ') has to be a number !!!, You know?']);
return
end
zeng.Iinstim(stim_num).varnum=name.varnum;
zeng.Iinstim(stim_num).node=node;
zeng.Iinstim(stim_num).amp =varargin{1};
zeng.Iinstim(stim_num).dur =varargin{2}/1000; %us->ms
zeng.Iinstim(stim_num).delay=varargin{3}/1000; %us->ms;
else
zexst('err','Your Iinstim is bad.')
end