File Exchange

image thumbnail


version 1.1 (2.28 KB) by

Remove the seasonal signal from a daily time series of data.



View License

Remove the daily mean value from a multi-year time series. The time series t and y must be vectors of equal length and t must be daily values in datenum format.

y_deseasoned = deseason(t,y); returns the deseasoned y signal.

[y_ds,y_s] = deseason(t,y); returns the deseasoned y signal and the extracted seasonal signal such that y = y_s + y_ds.

[y_ds,y_s,annualsig] = deseason(t,y); also returns a vector of length 366 containing the annual signal where the index of annualsig corresponds to the day of the year.

This function requires Anthony Kendall's date2doy function available on the Mathworks FEX site:

Comments and Ratings (1)


Gracy (view profile)

Thank you for submission. As you have written that X and Y should have same length . My data has few data gaps as well ...even monthly data has also gaps. So how can I detrend my series for seasonal component?



Changed behavior! Now restores DC offset.

MATLAB Release
MATLAB 8.0 (R2012b)
Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video