47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
rates = 1:1:100;
 | 
						|
avisi = [];
 | 
						|
sdisi = [];
 | 
						|
cvisi = [];
 | 
						|
 | 
						|
for rate = rates
 | 
						|
    spikes = hompoissonspikes( 10, rate, 100.0 );
 | 
						|
    isivec = isis( spikes );
 | 
						|
    av = mean( isivec );
 | 
						|
    sd = std( isivec );
 | 
						|
    cv = sd/av;
 | 
						|
    avisi = [ avisi av ];
 | 
						|
    sdisi = [ sdisi sd ];
 | 
						|
    cvisi = [ cvisi cv ];
 | 
						|
end
 | 
						|
 | 
						|
f = figure;
 | 
						|
subplot( 1, 3, 1 );
 | 
						|
scatter( rates, 1000.0*avisi, 'b', 'filled' );
 | 
						|
hold on;
 | 
						|
plot( rates, 1000.0./rates, 'r' );
 | 
						|
hold off;
 | 
						|
xlabel( 'Rate \lambda [Hz]' );
 | 
						|
ylim( [ 0 1000 ] );
 | 
						|
title( 'Mean ISI [ms]' );
 | 
						|
legend( 'simulation', 'theory 1/\lambda' );
 | 
						|
 | 
						|
subplot( 1, 3, 2 );
 | 
						|
scatter( rates, 1000.0*sdisi, 'b', 'filled' );
 | 
						|
hold on;
 | 
						|
plot( rates, 1000.0./rates, 'r' );
 | 
						|
hold off;
 | 
						|
xlabel( 'Rate \lambda [Hz]' );
 | 
						|
ylim( [ 0 1000 ] )
 | 
						|
title( 'Standard deviation ISI [ms]' );
 | 
						|
legend( 'simulation', 'theory 1/\lambda' );
 | 
						|
 | 
						|
subplot( 1, 3, 3 );
 | 
						|
scatter( rates, cvisi, 'b', 'filled' );
 | 
						|
hold on;
 | 
						|
plot( rates, ones( size( rates ) ), 'r' );
 | 
						|
hold off;
 | 
						|
xlabel( 'Rate \lambda [Hz]' );
 | 
						|
ylim( [ 0 2 ] )
 | 
						|
title( 'CV' );
 | 
						|
legend( 'simulation', 'theory' );
 |