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

2024-11-05 13:35:38
推荐回答(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: