File Exchange

image thumbnail


version (2.28 KB) by Chad Greene
Remove the seasonal signal from a daily time series of data.


Updated 31 Jan 2014

View Version History

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:

Cite As

Chad Greene (2021). deseason (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)


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?

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!