forming matrices depending on file name

I have matlab files in a folder and there are, for example, several that have file names that start with M1, several that start with M9, several that start with M13, etc. I want to group the ones that start with the same letter and number into the same matrix and create separate matrices for different file names.
What matlab functions can I use to do this using for loops????
Thank you for your help in advance!

3 Comments

You shouldn't name your functions dynamically. Use a cell array or a struct instead.
And how could I do that? Sorry if this is a dumb question but I’m new to Matlab so I’ve just started learning these things.
If you have trouble with Matlab basics you may consider doing the Onramp tutorial (which is provided for free by Mathworks).
Otherwise have a read here and here. It will greatly improve your chances of getting an answer (or find one on your own).

Sign in to comment.

Answers (1)

Hello,
From my understanding, you want to retrieve all the files which start with a particular string into one structure.
You can use the dir() to list the files and folders which match a particular name.
Example:
cd myfolder
s1 = dir ('M1*.m');
s2 = dir('M2*.m');
This code returns all the matlab files which start with 'M1' inside the folder 'myfolder' into a struct array 's1'. Similarly, all the files which start with 'M2' are retrieved into 's2' struct array.

Categories

Asked:

on 29 Oct 2020

Answered:

on 14 Dec 2020

Community Treasure Hunt

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

Start Hunting!