Global Index (short | long) | Local contents | Local Index (short | long)
y = detrend(x,time)
DETREND Linearly remove time series from data. Y = DETREND(X,TIME) removes the best linear fit of the time series in TIME (possibly multiple) to the data in vector X, and returns the result in vector Y.
function y = detrend(x,time) if nargin < 2, error('Must input data and a time series (possibly multiple)'), end % Reshape x if necessary, assuming the dimension to be % detrended is the first szx = size(x); ndimx = length(szx); if ndimx > 2; x = reshape(x, szx(1), prod(szx(2:ndimx))); end n = size(x,1); if n == 1, x = x(:); % If a row, turn into column vector end N = size(x,1); if N ~= size(time, 1); error('X and TIME must have the same column dimension'); end y = x - time*(time\x); % Remove best fit if n == 1 y = y.'; end % Reshape output so it is the same dimension as input if ndimx > 2; y = reshape(y, szx); end