putting some matrix in a cell arrays

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by