matlab如何将一个变量的变量名导出为字符串

例如,某数值变量名为ABC

如何将组成其名称的字符串“ABC”赋给一个新的字符串变量Text?

谢谢!
我的问题就是问:如何把某变量的变量名付给一个字符串变量?

1. eval:把字符串当命令来执行
例子:
>> NameSource=[10 20 30];
for i=1:3
Name=['VarName',num2str(i)];
eval([Name,'=NameSource(i)'])
end;

VarName1 =10
VarName2 =20
VarName3 =30

2. 加小括号(只适用于结构struct)
结构体的域名field,字符串可以加小括号转换成域名,例:

>> a=['www',num2str(1)];
>> b.(a)=10
b = www1: 10

变量名转换成字符串

who返回变量名,例:
>> a1=123;a2=1234;a3=444;>> b=who('a*') %返回的b是cell结构的b = 'a1' 'a2' 'a3'
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-13
不知你的意思是不是根据内容得到变量名,这样也只能在事先定义好的一些列变量名里搜索。否则,仔细想想就知道,获取变量的有关信息只有通过变量名,所以,你的这个问题好像就没有什么意义,就好像直接用手输入:
>>Text='ABC'本回答被网友采纳
第2个回答  推荐于2016-07-06
names = who
%这个可以以一个cell数组返回当前工作区间内的所有变量名
names = who('a*')
%返回所有以a开头的变量名,“*”和“?”两个通配符含义同dos下

更多的用法去看help who本回答被提问者采纳
第3个回答  2010-03-13
>>ABC=5;
>>Text=ABC