auto correlation time in matlab

2 次查看(过去 30 天)
Jakub
Jakub 2022-12-22
in my assignment, i am asked to "State the autocorrelation time for each variable" (of which i have 2). I have just created 2 time series graphs for 2 datasets for context. I am very confused as to what this means. Please help?
load("RiverData50.mat")
x = RiverData(:,1); % daily discharge of riverdata
x2 = x(1:365); % first 365 days of daily discharge
y = RiverData(:,2); % daily rainfall of riverdata
y2 = y(1:365); % first 365 days of daily rainfall
ts1 = timeseries(x2,1:365);
ts1.Name = 'Daily Discharge (M^3/s)';
ts1.TimeInfo.Units = 'Days';
ts1.TimeInfo.StartDate = '1-Oct-1990'; % start date.
ts1.TimeInfo.Format = 'mmm dd, yy'; % Set format for display on x-axis.
ts1.Time = ts1.Time - ts1.Time(1); % Express time relative to the start date.
ts2 = timeseries(y2,1:365);
ts2.Name = 'Daily Rainfall (mm)';
ts2.TimeInfo.Units = 'Days';
ts2.TimeInfo.StartDate = '1-Oct-1990'; % Setting start date.
ts2.TimeInfo.Format = 'mmm dd, yy'; % Setting format for display on x-axis.
ts2.Time = ts2.Time - ts2.Time(1); % Express time relative to the start date.
subplot(2,1,1)
plot(ts1)
subplot(2,1,2)
plot(ts2)
(my code, if that helps with context at all)

回答(1 个)

Bora Eryilmaz
Bora Eryilmaz 2022-12-22
"Autocorrelation time" most likely means the lag (in days, in your case) where the autocorrelation sequence of your data it at a maximum. See this documentation for additional info: https://www.mathworks.com/help/signal/ug/find-periodicity-using-autocorrelation.html.
The locations of the maxima of the autocorrelation sequence indicate the periodicities in a signal. In this context, the autocorrelation time is the same as the period (in days) of the most prominent periodic component in a signal.

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by