matlab如何将一个字符串转化为一个变量名?

2024-11-25 11:03:20
推荐回答(4个)
回答1:

楼上的回答欠妥。

用eval函数没裤蔽枯错,但按照楼上的用法,适应性很差,比如b是其它数据类型的,例如struct或cell之类的呢?而且使用num2str这类函数本身还存在有效数字导致的精度损失问题。

其实正并如确的用法非常胡洞简单:
eval([a '=b;'])
可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型。

回答2:

  1. eval([a '=b;'])

    可以原汁原味b赋歼芹值给a所保存变量名,没有任何精度损失,且适用于任意数据类型。

  2. 连续load,每改氏源毕变file_name
    for i = 1:13
    name = ['Data1_Al_',num2str(i),'__U'];
    load name;
    % your code;

  3. load用eval(s)执行顺便赋值裂扮(s命令行)

  4. 比C/C++简单很多,直接一个命令行搞定,如下: >> str = 'abc' str = abc

回答3:

a='aea';
b=1;
eval([a,'=',num2str(b)])

回答4: