Skip to content
Snippets Groups Projects
Commit 6f033ff6 authored by marwan's avatar marwan
Browse files

*** empty log message ***

parent 644dbd09
No related branches found
No related tags found
No related merge requests found
......@@ -74,26 +74,26 @@ norm = 0;
i_num = find(cellfun('isclass',varargin,'double'));
i_char = find(cellfun('isclass',varargin,'char'));
if length(i_num) > 2 & ~isempty(varargin{i_num(3)})
if length(i_num) > 2 && ~isempty(varargin{i_num(3)})
maxlag = varargin{i_num(3)};
if maxlag < 0, error('Requires positive integer value for maximum lag.'), end
if length(maxlag) > 1, error('Requires MAXLAG to be a scalar.'), end
end
if length(i_num) > 3 & ~isempty(varargin{i_num(4)})
if length(i_num) > 3 && ~isempty(varargin{i_num(4)})
window = varargin{i_num(4)};
if window <= 0, error('Requires positive integer value for window length.'), end
if length(window) > 1, error('Requires WINDOW to be a scalar.'), end
end
if length(i_num) > 4 & ~isempty(varargin{i_num(5)})
if length(i_num) > 4 && ~isempty(varargin{i_num(5)})
noverlap = varargin{i_num(5)};
if noverlap < 0, error('Requires positive integer value for NOVERLAP.'), end
if length(noverlap) > 1, error('Requires NOVERLAP to be a scalar.'), end
if noverlap >= window, error('Requires NOVERLAP to be strictly less than the window length.'), end
end
if length(i_num) > 5 & ~isempty(varargin{i_num(6)})
if length(i_num) > 5 && ~isempty(varargin{i_num(6)})
noverlap = varargin{i_num(6)};
if nbins <= 0, error('Requires positive integer value for NBINS.'), end
if length(nbins) > 1, error('Requires NBINS to be a scalar.'), end
......@@ -104,7 +104,6 @@ for i = 1:length(i_char)
if strcmpi(varargin(i_char(i)), 'norm'), norm = 1; end
end
% prepare time delayed signals
X = buffer(x,maxlag+1,maxlag)';
Y = fliplr(buffer(y,maxlag+1,maxlag)');
......@@ -113,12 +112,13 @@ Y = fliplr(buffer(y,maxlag+1,maxlag)');
% and compute the correlation coefficient
cnt = 1;
warning off
warning('off','MATLAB:divideByZero')
C = zeros(2*maxlag+1, fix((nx-noverlap)/(window-noverlap)));
if verbose, h = waitbar(0,'Compute mutual information'); end
% -MAXLAG:0
[Yi dummy] = buffer(Y(:,1),window,noverlap,'nodelay');
[Yi dummy] = buffer(Y(:,1),window,noverlap,'nodelay');
if exist('accumarray','builtin') == 5
for i = 1:size(X,2), if verbose, waitbar(cnt/(2*size(X,2))), end
[Xi dummy] = buffer(X(:,i),window,noverlap,'nodelay');
......@@ -152,7 +152,7 @@ end
if verbose, delete(h), end
warning on
warning('on','MATLAB:divideByZero')
% create time scale for the windows
t = (1:nx/size(Xi,2):nx)';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment