How to read specific fields from multiple structure arrays in MATLAB?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I have a very large dataset arranged into multiple structure arrays in MATLAB. The structures look something like this:
Flight1=
.testpoint = 1
.Mach = 0.8
.Speed = 300
.Cieling = 35000
.Data = [A] % A is an MxN matrix
Similarly there are multiple test points for multiple flights. Is there a way to retrieve the Data of only specified test points? For example I want to plot and compare the Data of ALL the test points whose .Mach = 0.8 or where .testpoint = 2?
I hope I have made it clear enough.
0 Commenti
Risposta accettata
Azzi Abdelmalek
il 20 Feb 2013
Modificato: Azzi Abdelmalek
il 20 Feb 2013
idx=cellfun(@(x,y) x==2 |y==0.8,{Flight1.testpoint},{Flight1.match})
%idx is the index that fit your conditions
6 Commenti
Azzi Abdelmalek
il 20 Feb 2013
Modificato: Azzi Abdelmalek
il 20 Feb 2013
for k=1:10
s=sprintf('Flight%d',k)
Flight1=load(s)
idx=cellfun(@(x,y) x==2 |y==0.8,{Flight1.testpoint},{Flight1.match})
out=Flight1(idx)
v{k}={out.testpoint}
end
Più risposte (1)
Thorsten
il 20 Feb 2013
A = Flight([Flight.Mach] == 0.8);
B = Flight([Flight.testpoint] == 2);
0 Commenti
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!