function out = plotNorCorr(data1,data2,range,bin,l) % 正規化相互相関ヒストグラムの表示(非定常データに適応) % figureハンドル = plotCorr(data1, data2, 試行範囲, ビン, 発火率推定幅) out = figure('Position',[0 0 600 600]); half=(bin-mod(bin,2))/2; %%% 1/2ビン if half == 0 half=1; end Max=200-mod(200,2*half)+half; %%% ビン幅×奇数=全範囲 に設定 nbin=(Max/half-1)/2; %%% 0代表点を除いた片側ビン数 n0=nbin+1; %%% 0代表点の列 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 自己相関ヒストグラム1 ha=subplot('Position', [0.05 0.6 0.4 0.35]); %%% 表示位置指定 tmp=normalizedCorr(data1, data1, range, Max,l); %%% 全ての組のスパイク時刻差のヒストグラム auto=zeros(nbin+1,1); for i=1:nbin auto(i+1)=mean( tmp( ((2*i-1)*half+1):((2*i+1)*half), 3) ); %%% 幅 bin 内で平均をとる end auto(1)=mean(tmp(1:half,3)); stairs([0 half:2*half:Max], [auto; 0]); %%% 階段プロットで表示 xlabel('Interval [ms]'); title('Normalized Auto-correlogram 1'); set(ha,'ylim',[0 3]); set(ha,'xlim',[0 Max]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 自己相関ヒストグラム2 ha=subplot('Position', [0.55 0.6 0.4 0.35]); %%% 表示位置指定 tmp=normalizedCorr(data2, data2, range, Max,half); %%% 全ての組のスパイク時刻差のヒストグラム auto=zeros(nbin+1,1); for i=1:nbin auto(i+1)=mean( tmp( ((2*i-1)*half+1):((2*i+1)*half), 3) ); %%% 幅 bin 内で平均をとる end auto(1)=mean(tmp(1:half,3)); stairs([0 half:2*half:Max], [auto; 0]); %%% 階段プロットで表示 xlabel('Interval [ms]'); title('Normalized Auto-correlogram 2'); set(ha,'ylim',[0 3]); set(ha,'xlim',[0 Max]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 相互相関ヒストグラム ha=subplot('Position', [0.1 0.1 0.8 0.35]); %%% 相互相関ヒストグラムの表示位置を指定 tmp=normalizedCorr(data1, data2, range, Max,half); histo=zeros(2*nbin+1,1); for i=1:nbin histo(n0-i)=mean( tmp( ((2*i-1)*half+1):((2*i+1)*half), 1) ); histo(n0+i)=mean( tmp( ((2*i-1)*half+1):((2*i+1)*half), 3) ); end histo(n0)=mean([tmp(1:half,1); tmp(1,2); tmp(1:half,3)]); stairs(-Max:2*half:Max, [histo; 0]); %%% 階段プロットで表示 xlabel('Interval: t1-t2 [ms]'); title('Normalized Cross-correlogram'); set(ha,'xlim',[-Max Max]); set(ha,'ylim',[0 3]);