Automatically create matrix names

4 views (last 30 days)
I'm using dir and dlmread to bring in files:
I want a loop that automatically creates matrixes on it's own, and assigns that data from my files to them.
example:
% 'a' is a struct array with file names, 'f' is folder location
for i = 1:numel(a)
(???) = dlmread(fullfile(f,a{i}),'',4,1)
end
Ex. Output
matrix1 = [data from file 1]
matrix2 = [data from file 2]
matrix3 = .....
In general is there a way to create matrixes, variable names etc. automatically using some type of command?...

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 23 Jul 2015
for i = 1:numel(a)
out{k}=dlmread(fullfile(f,a{i}),'',4,1)
end
  2 Comments
Philip Hoskinson
Philip Hoskinson on 23 Jul 2015
Edited: Philip Hoskinson on 23 Jul 2015
This creates one matrix - I actually need new matrixs to be generated automatically, and be able to sort through them.....
Start with nothing, run function that creates - say twenty matrixes automatically...
John D'Errico
John D'Errico on 23 Jul 2015
And you can trivially sort through a cell array of matrices! In fact, it is easier to work with a cell array of matrices than with a whole slew of differently named matrices.
Or if they are all the same size, then make a 3-dimensional matrix. That will be even easier to work with.
So the answer is, DON'T DO WHAT YOU WANT TO DO!

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!