12345678910111213141516171819202122232425262728293031 |
- function [tscorr,lgs] = ts_xcorr(ts1,ts2,varargin)
- iod = @utils.inputordefault;
- if size(ts1,1)>size(ts1,2)
- ts1 = ts1';
- end
- if size(ts2,1)>size(ts2,2)
- ts2 = ts2';
- end
- mints = min([ts1,ts2]);
- [dt,varargin] = iod('dt',0.001,varargin);% 1 ms timebin
- [maxlagt,varargin] = iod('maxlagt',0.2,varargin); % 200 ms lag
- [titlestr,varargin] = iod('titlestr',[],varargin);
- [ax,varargin] = iod('ax',[],varargin);
- if isempty(ax)
- ax = draw.jaxes();
- end
- tbin1 = round((ts1 - mints)./dt) + 1;
- tbin2 = round((ts2 - mints)./dt) + 1;
- sp1 = zeros(1,max([tbin1,tbin2]));
- sp2 = zeros(1,max([tbin1,tbin2]));
- sp1(tbin1) = 1;
- sp2(tbin2) = 1;
- [tscorr,lgs]=xcorr(sp1,sp2,maxlagt./dt);
- lgs = lgs.*dt;% re-transform into seconds
- tscorr(lgs==0)=0;
- plot(ax,lgs,tscorr);
- ylabel('xcorr');
- title(titlestr);
- end
|