plotting time series

1 view (last 30 days)
Richard
Richard on 30 Mar 2012
Is it possible to use the timeseries command in a loop? I use the following code for producing a plot:
x = cell2mat(data{1}');
ts1 = timeseries(x,1:length(x));
ts1.TimeInfo.Units = 'hours';
ts1.TimeInfo.StartDate = ['01-Jan-' FirstYear{1}]; %
ts1.TimeInfo.Format = 'mmm dd, yyyy';
ts1.Time=ts1.Time-ts1.Time(1);
plot(ts1)
I want to run this in a loop, however when i try:
for i = 1:length(Year);
figure(i)
x{i} = cell2mat(data{i}');
ts1{i} = timeseries(x{i},1:length(x{i}));
... and so on the run fails. I receive the error:
Cell contents assignment to a non-cell array object.

Accepted Answer

Kye Taylor
Kye Taylor on 30 Mar 2012
Just change the assignment in your loop from
ts1{i} = timeseries(x{i},1:length(x{i}));
to
ts1(i) = timeseries(x{i},1:length(x{i}));
note the parentheses instead of curly braces.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!