getting data from structure

1 view (last 30 days)
Lichay Malka
Lichay Malka on 14 Feb 2020
Answered: Geoff Hayes on 14 Feb 2020
Hi!
I have a structure set up like so:
S(1).speed = [x1 y1 z1];
S(2).speed = [x2 y2 z2];
S(3).speed = [x3 y3 z3];
and so on...
for every entry, the speed data is separated into x, y, and z axis in that order.
how can i, for example, get a vector containing only the speed in the x axis of all the entries? (the first object in every entry)

Accepted Answer

David Hill
David Hill on 14 Feb 2020
T=struct2table(S);
out=T.speed(:,1);

More Answers (2)

Fangjun Jiang
Fangjun Jiang on 14 Feb 2020
Edited: Fangjun Jiang on 14 Feb 2020
temp=[S.speed];
out=temp(1:3:end)
% or get all three speeds
Speed=reshape([S.speed],3,[])

Geoff Hayes
Geoff Hayes on 14 Feb 2020
Lichay - you could try something like
speedX = arrayfun(@(k)S(k).speed(1), 1:length(S))
where we use arrayfun to iterate over each element of S and extract the speed in x.

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!