putting some matrix in a cell arrays

3 visualizaciones (últimos 30 días)
mohammad
mohammad el 24 de Sept. de 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?

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by