graph multiple fields in a struct
30 views (last 30 days)
Show older comments
I have a struct with multiple fields named data1, data2, data3 etc up to 9 I want to graph the first two colums of each field
I used this
position = variable.data1(:,2);
velocity = variable.data1(:,3);
%then i did
plot(position,velocity)
This worked fine but is there anyway to do this in a loop to make it faster? In the future I may have data up to 100s of different arrays
0 Comments
Accepted Answer
Kevin Phung
on 18 Feb 2019
Edited: Kevin Phung
on 18 Feb 2019
fld = fieldnames(variable); %list of all field names.. data1, data2,data3...
for i = 1:numel(fld) % for each field name
m = variable.(fld{i}); %this will be the data1,data2,data3 matrix
pos = m(:,2);%index matrix for position
vel = m(:,3); %velocity
plot(pos,vel); %plot results
hold on; % keep plot for next plot
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Line Plots 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!