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

如题a='aea'b=1如何得到结果aea=1有没有matlab高手帮帮忙,很急,在线等结果,解决了会再给奖励的....... 如题
a='aea'
b=1
如何得到结果aea=1
有没有matlab高手帮帮忙,很急,在线等结果,解决了会再给奖励的....
展开
 我来答
tianxiawulang
推荐于2017-11-25 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2577万
展开全部
楼上的回答欠妥。

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

其实正确的用法非常简单:
eval([a '=b;'])
可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型。
重归于好i
2018-03-31 · TA获得超过7315个赞
知道小有建树答主
回答量:65
采纳率:100%
帮助的人:9620
展开全部
  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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dbb627
2012-11-27 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1376万
展开全部
a='aea';
b=1;
eval([a,'=',num2str(b)])
追问
您好
如果b是一个数组呢,很多的元素,这里假设5个.
b=[1 2 3 4 5];
如何将他附给aea呢?
追答
>> a='aea';
b=[1 2 3 4 5];

eval([a,'=',mat2str(b)])

aea =

1 2 3 4 5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
善明珠0EZ
2012-11-27 · 超过11用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:31万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式