Access structure arrays after load from a for loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to analyze multiple sequential files (e.g. fv1, fv2, fv3, etc) using a for loop. However, when loading, it adds the variable as another field name (i.e. d.fv1.field.field- see below).
for i=1:5;
d=load(['fv' num2str(i) '.mat']);
data(i,:)=d.Y(4).Data;
If I try to access the data I want, I can't because: 1. Its added a new field name 2. The original file name is still included but I can't access it with structure accessing
for i=1:5;
d=load(['fv' num2str(i) '.mat']);
data(i,:)=d.strcat('fv' num2str(i)).Y(4).Data;
I'm relatively new to Matlab, and while similar questions may have answered parts of this I haven't found anything that addresses this directly. Is this something I'll have to tackle with dynamic variables (which I have almost no grasp on). Thanks so much for any help!
0 commentaires
Réponse acceptée
Walter Roberson
le 3 Oct 2017
for i = 1:5
fn = sprintf('fv%d', i);
d = load( [fn '.mat']);
data(i,:)=d.(fn).Y(4).Data;
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!