putting some matrix in a cell arrays

2 views (last 30 days)
There are some Matrix, it's needed putting each of them in an array of a cell that the name of that array be equaled with the name of related matrix.
for example:
a=[1 2 3 4 5 3 2]; b=[4 3 5 67 8 8 7]; c=[3 3 2 4 65 7 8 89];
CELL{1,1}=a; CELL{1,2}=b; CELL{1,3}=c;
Now Question is: how could also be put names of above matrix in CELL?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 24 Sep 2011
If you want to have the names, maybe it's better to use structure.
Str.a=a;
Str.b=b;
Str.c=c;
Then you can use Names=fieldnames(Str) to get all the names.
  3 Comments
Walter Roberson
Walter Roberson on 24 Sep 2011
Str(i).value = ... %the data itself
Str(i).name = d(i).name;
mohammad
mohammad on 24 Sep 2011
So nice, works perfect

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 24 Sep 2011
In theory the below should work:
var2name = @(varargin) arrayfun(@inputname, 1:nargin, 'Uniform',0);
Then
CELL = var2name(a,b,c);
  13 Comments
Fangjun Jiang
Fangjun Jiang on 25 Sep 2011
Agree! That's a good programming practice. +1
mohammad
mohammad on 26 Sep 2011
So thanks Walter and Fangjun

Sign in to comment.

Categories

Find more on Data Type Conversion 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!