putting some matrix in a cell arrays

2 vues (au cours des 30 derniers jours)
mohammad
mohammad le 24 Sep 2011
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?

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 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 commentaires
Walter Roberson
Walter Roberson le 24 Sep 2011
Str(i).value = ... %the data itself
Str(i).name = d(i).name;
mohammad
mohammad le 24 Sep 2011
So nice, works perfect

Connectez-vous pour commenter.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion 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!

Translated by