% 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