【问题标题】:String to variable name MATLAB字符串到变量名 MATLAB
【发布时间】:2015-02-11 13:51:11
【问题描述】:

如果我有一个变量 xa=2,然后我通过连接 'x' 和 'a' 来构造一个字符串,我怎样才能让这个新字符串的值为 2?

xa=2;
var=strcat('x','a');

这样的结果是var=xa,但我想要的是var=2。

谢谢

【问题讨论】:

  • 使用 eval() : mathworks.com/help/matlab/ref/eval.html 编辑:代码测试,发布答案。
  • 可以这样做,但你不应该这样做...map/dictionary 会是更好的方法,即使也在 MATLAB 中不是很惯用。
  • 你为什么要做这么糟糕的事情?
  • 不应该使用eval的原因至少有5个。
  • 我之所以要这样做是因为脚本会提示用户输入项目文件夹,例如“C1”。之后,脚本将进入该文件夹并加载“positiveInstancesC1.mat”,之后将多次使用变量“positiveInstancesC1”。因此,连接字符串是我可以考虑的,以便能够使脚本仅使用文件夹名称的输入工作,而不是更改脚本中的变量。但可能有更好的方法来做到这一点,我不知道。

标签: matlab


【解决方案1】:

使用eval():

var = eval(strcat('x','a'));

它将“评估”字符串'xa'并将其转换为变量xa的值。

来源:MATLAB documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多