37 lines
1000 B
Matlab
37 lines
1000 B
Matlab
% lif:
|
|
noises = [ 1e-5 1e-4 1e-3 1e-2 1e-1 ];
|
|
inputs = 0:0.1:20;
|
|
duration = 50.0;
|
|
% pif:
|
|
% noises = [ 1e-1 1 1e1 1e2 1e3 ];
|
|
% inputs = -5:0.1:10;
|
|
% duration = 100.0;
|
|
|
|
f = figure;
|
|
hold all;
|
|
for noise = noises
|
|
fprintf( 'noise=%.0e\n', noise );
|
|
rates = [];
|
|
for input = inputs
|
|
spikes = lifspikes( 10, input, duration, noise );
|
|
% spikes = pifspikes( 50, input, duration, noise );
|
|
nspikes = 0;
|
|
for k = 1:length( spikes )
|
|
nspikes = nspikes + length( spikes{k} );
|
|
end
|
|
rate = nspikes/duration/length( spikes );
|
|
%fprintf( 'I=%g N=%d rate=%g\n', input, length( spikes ), rate )
|
|
rates = [ rates rate ];
|
|
end
|
|
plot( inputs, rates, 'LineWidth', 2, 'DisplayName', sprintf( 'D=%.0e', noise ) );
|
|
end
|
|
xlabel( 'Input' );
|
|
xlim( [ inputs(1) inputs(end) ] )
|
|
ylabel( 'Firing rate [Hz]' );
|
|
%title( 'Leaky integrate-and-fire' )
|
|
title( 'Perfect integrate-and-fire' )
|
|
legend( '-DynamicLegend', 'Location', 'NorthWest' )
|
|
hold off
|
|
|
|
|