How do I access field name elements from structure?

53 vues (au cours des 30 derniers jours)
Kristan Sears
Kristan Sears le 18 Sep 2025 à 20:24
Modifié(e) : dpb le 20 Sep 2025 à 13:25
I generated a list of file names using the follwoing:
m = dir([source,'/*.MAT'])
This provided the desired results, but returns a structure with fields. I want to access the elements of m.name, so that I can loop through each file and perform actions.
If I run;
m.name
ans =
'CFGC1-1000_1.MAT'
ans =
'CFGC1-750_1.MAT'
ans =
'CFGC1-800_1.MAT'
ans =
'CFGC1-850_1.MAT'
ans =
'CFGC1-900_1.MAT'
ans =
'CFGC1-950_1.MAT'
How do I access m.name so that I can index each field value separately?

Réponse acceptée

dpb
dpb le 18 Sep 2025 à 20:34
m = dir([source,'/*.MAT']);
for i=1:numel(m)
fn=fullfile(m(i).folder,m(i).name);
...
end
Congratulations on the use of dir() here with the wildcard; it is one of the most efficient ways to do such...
  9 commentaires
Kristan Sears
Kristan Sears le 19 Sep 2025 à 0:40
This is fantastic! Thank you so much for all of the help. This is not long-winded at all. If it's not obvious, I'm a novice user to Matlab and I really appreciate the help.
Thank you for explaining. That helps a lot. And I appreciate the time you took to explain this. I need to practice with what you have shown me. I didn't realize I was making the mistakes you pointed out. The fullfile method makes a lot more sense than the way I was doing it.
dpb
dpb le 19 Sep 2025 à 14:38
Modifié(e) : dpb le 20 Sep 2025 à 13:25
No problem, glad to help. Trying to teach some as well as just straight answer is part of my DNA... <g>
"The fullfile method makes a lot more sense than the way I was doing it."
Yes, besides simply the easier syntax of the function call, fullfile uses the OS-specific file separator character so your m-code is then more able to be used elsewhere if that ever came up in working with colleagues. It's just better practice to get into the habit early rather than trying to break bad habits later...

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Workspace Variables and MAT Files dans Help Center et File Exchange

Produits


Version

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by