getting data from structure

8 visualizzazioni (ultimi 30 giorni)
Lichay Malka
Lichay Malka il 14 Feb 2020
Risposto: Geoff Hayes il 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)

Risposta accettata

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

Più risposte (2)

Fangjun Jiang
Fangjun Jiang il 14 Feb 2020
Modificato: Fangjun Jiang il 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 il 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.

Categorie

Scopri di più su Biological and Health Sciences in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by