% init_neuron_izh
%
% initialize neuron state vector
%
%
% $Revision:$
%
function [sim, nn_params, l_param, nn_mu_params] = init_neuron_izh(sim, varargin)
N_states = 2;
% V 1
% U
N_params = 6;
% 1 a
% 2 b
% 3 c
% 4 d
% 5 mu-excit
% 5 mu-inh
sim.nn_parnames = [ ...
{'a'}, ...
{'b'}, ...
{'c'}, ...
{'d'}, ...
{'mu-excit'}, ...
{'mu-inh'} ...
];
l_param = 20 + N_params;
nn_params = zeros(1,l_param);
if (nargin > 1),
nn_mu_params_in = varargin{:};
else
nn_mu_params_in = zeros(N_params);
end;
%
% start values
%
V_0 = (1/0.08)*(-(5-nn_mu_params_in(1,2).^2) - ...
sqrt(abs((5-nn_mu_params_in(1,2)).^2 - 4*0.04*140)));
U = nn_mu_params_in(1,2)*V_0;
nn_params(1:N_states)=[V_0,U];
%
% standard neuron has mu's of 1.0
%
nn_params(21:20+N_params) = 1.0;
sim.N_states = N_states;
sim.N_params = N_params;
sim.integration = 'euler';
%----------------------------------------------------
nn_mu_params=zeros(sim.N_nn,sim.N_params)+1;
nn_mu_params(:,1) = 0.02;
nn_mu_params(:,2) = 0.2;
nn_mu_params(:,3) = -65;
nn_mu_params(:,4) = 8;
nn_mu_params(:,5) = 5;
nn_mu_params(:,6) = 5;
%
% some global settings
%
sim.display.channels.Cai=0;
sim.display.channels.NMDA=0;
sim.get_channels = 0;
%
% avoid multiple counting of "longer" peaks
%
sim.activity_win = 7;