calculation of time series.

I have monthly (420 months) time series data of temperature . I need to calculate a another time series based on following formula:
x = T(month,i) - T(month,i-1)
where, T(month,i) is temperature of current month
T(month,i-1) is temperature of previous month
how to create a time series of x ?

回答(3 个)

Thorsten
Thorsten 2015-11-6
编辑:Thorsten 2015-11-6
diffdata = diff(ts.Data)
difftime = ts.Time(1:end-1)+diff(ts.Time)/2;
tsdiff = timeseries(diffdata, difftime)
If the second index is the month number, what does the first index represent? Have you tried
x = diff(T(month,:))?

2 个评论

both represents month. month,i is number of month. we can write x = T(i) - T(i-1)
suppose i is current month (January) and i-1 is previous month (December)
But originally you said T was a 2-D array - it had two indexes: for a row and a column. Now you're saying T is a 1D array taking only one index. Totally inconsistent. Which is it?????

请先登录,再进行评论。

SONI SONI
SONI SONI 2015-11-9

0 个投票

Temperature is 2-D array. I am trying to say I have a arrays T (time series of temperature January to December 1*12). now I want to substrate temperature values from current month to previous month. for example feb - jan, mar - feb....
But I have solved this problem
x(i) = T(i) - T(i-1)

2 个评论

Now you're back to a 1-D array, NOT a 2-D array despite what you say, because it has only 1 index.
And your code just does diff() which is the same as what I gave you except in a function instead of a for loop.
I give up.
Thank you sir, for the interest to help me.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

提问:

2015-11-6

评论:

2015-11-9

Community Treasure Hunt

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

Start Hunting!

Translated by