64 lines
1.4 KiB
Matlab
64 lines
1.4 KiB
Matlab
inputs = 0:0.1:20; % lif
|
|
inputs = 0:0.1:10; % pif
|
|
avisi = [];
|
|
sdisi = [];
|
|
cvisi = [];
|
|
dcisi = [];
|
|
|
|
for input = inputs
|
|
input
|
|
% spikes = lifspikes( 100, input, 100.0, 1e-2 );
|
|
spikes = pifspikes( 100, input, 100.0, 1e-1 );
|
|
isivec = isis( spikes );
|
|
if length( isivec ) <= 1
|
|
av = Inf;
|
|
sd = NaN;
|
|
cv = NaN;
|
|
dc = NaN;
|
|
else
|
|
av = mean( isivec );
|
|
sd = std( isivec );
|
|
if av > 0.0
|
|
cv = sd/av;
|
|
dc = sd^2.0/2.0/av^3;
|
|
else
|
|
cv = NaN;
|
|
dc = NaN;
|
|
end
|
|
end
|
|
avisi = [ avisi av ];
|
|
sdisi = [ sdisi sd ];
|
|
cvisi = [ cvisi cv ];
|
|
dcisi = [ dcisi dc ];
|
|
end
|
|
|
|
f = figure;
|
|
subplot( 2, 2, 1 );
|
|
plot( inputs, 1.0./avisi, '-b', 'LineWidth', 3 );
|
|
xlabel( 'Input' );
|
|
xlim( [ inputs(1) inputs(end) ] )
|
|
title( 'Mean rate [Hz]' );
|
|
|
|
subplot( 2, 2, 2 );
|
|
plot( inputs, 1000.0*avisi, '-b', 'LineWidth', 3 );
|
|
hold on;
|
|
plot( inputs, 1000.0*sdisi, '-c', 'LineWidth', 3 );
|
|
hold off;
|
|
xlabel( 'Input' );
|
|
xlim( [ inputs(1) inputs(end) ] )
|
|
ylim( [ 0 1000 ] )
|
|
title( 'ISI [ms]' );
|
|
legend( 's.d. ISI', 'mean ISI' );
|
|
|
|
subplot( 2, 2, 3 );
|
|
plot( inputs, cvisi, '-b', 'LineWidth', 3 );
|
|
xlabel( 'Input' );
|
|
xlim( [ inputs(1) inputs(end) ] )
|
|
title( 'CV' );
|
|
|
|
subplot( 2, 2, 4 );
|
|
plot( inputs, dcisi, '-b', 'LineWidth', 3 );
|
|
xlabel( 'Input' );
|
|
xlim( [ inputs(1) inputs(end) ] )
|
|
title( 'D [Hz]' );
|