putting some matrix in a cell arrays

1 回表示 (過去 30 日間)
mohammad
mohammad 2011 年 9 月 24 日
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;
mohammad
mohammad 2011 年 9 月 24 日
So nice, works perfect

サインインしてコメントする。

その他の回答 (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
mohammad
mohammad 2011 年 9 月 26 日
So thanks Walter and Fangjun

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by