putting some matrix in a cell arrays

2 次查看(过去 30 天)
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?

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-9-24
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 个评论
Walter Roberson
Walter Roberson 2011-9-24
Str(i).value = ... %the data itself
Str(i).name = d(i).name;

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2011-9-24
In theory the below should work:
var2name = @(varargin) arrayfun(@inputname, 1:nargin, 'Uniform',0);
Then
CELL = var2name(a,b,c);
  13 个评论
Fangjun Jiang
Fangjun Jiang 2011-9-25
Agree! That's a good programming practice. +1

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by