Plotting based on a for loop from a cell array

3 views (last 30 days)
Hi every one,
I am trying to plot acceleration data, which I always have in X, Y & Z direction.
To avoid doing everything 3 times, I have created a cell array: names = {'X', 'Y', 'Z'}.
I now want to plot this data in 3 subplots using a for loop, which yields something like this:
for i = 1:length(names)
figure();
subplot(3,1,i);
plot(UA_SEG.Acc_(names{i}));
end
In which UA_SEG is a table containing the data I'm using.
However, I am doing something wrong in accessing the cell array, as it won't plot and I get the error "Error using tabular/dotParenReference (line 69), Unrecognized variable name 'Acc_'."
Which means that it does not recognize the first element of the array as being 'X', but I am not sure which braces or indexing to use to make this work.
Thank you in advance
Inti

Accepted Answer

Stephen23
Stephen23 on 18 Mar 2019
Edited: Stephen23 on 18 Mar 2019
xyz = 'XYZ';
figure()
for k = 1:3
subplot(3,1,k)
plot(UA_SEG{:,['Acc',xyz(k)]})
end
  1 Comment
Inti Vanmechelen
Inti Vanmechelen on 18 Mar 2019
Thank you Stephen!
I had looked at a lot of information pages before, but I hadn't found that one yet.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!