MATLAB: Plotting time series

time series

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.

Best Answer

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.
Related Question