Matlab 字符串转换为变量名
例如,如果我有一个变量xa=2,然后我通过连接'x'和'a'来构造一个字符串,那么如何使这个新字符串的值为2Matlab 字符串转换为变量名,matlab,Matlab,例如,如果我有一个变量xa=2,然后我通过连接'x'和'a'来构造一个字符串,那么如何使这个新字符串的值为2 xa=2; var=strcat('x','a'); 结果是var=xa,但我想要的是var=2 谢谢使用eval(): 它将“计算”字符串'xa',并将其转换为变量xa的值 来源:使用eval(): 它将“计算”字符串'xa',并将其转换为变量xa的值 来源:使用eval():编辑:代码测试,发布答案。你可以这样做,但不应该这样做。。。A将是一种更好的方法,即使在MATLAB中也不是
xa=2;
var=strcat('x','a');
结果是var=xa,但我想要的是var=2
谢谢使用eval()
:
它将“计算”字符串'xa'
,并将其转换为变量xa
的值
来源:使用eval()
:
它将“计算”字符串'xa'
,并将其转换为变量xa
的值
来源:使用
eval()
:编辑:代码测试,发布答案。你可以这样做,但不应该这样做。。。A将是一种更好的方法,即使在MATLAB中也不是很惯用。为什么要做这样糟糕的事情?至少有5种不同的原因不应该使用eval
。我之所以要这样做,是因为脚本提示用户输入项目文件夹,例如“C1”。之后,脚本将进入该文件夹并加载“positiveInstancesC1.mat”,之后将多次使用变量“positiveInstancesC1”。因此,我可以考虑将字符串连接起来,使脚本仅在输入文件夹名称时工作,而不更改脚本中的变量。但可能有一种更好的方法我不知道。使用eval()
:编辑:代码测试,发布答案。你可以这样做,但不应该这样做。。。A将是一种更好的方法,即使在MATLAB中也不是很惯用。为什么要做这样糟糕的事情?至少有5种不同的原因不应该使用eval
。我之所以要这样做,是因为脚本提示用户输入项目文件夹,例如“C1”。之后,脚本将进入该文件夹并加载“positiveInstancesC1.mat”,之后将多次使用变量“positiveInstancesC1”。因此,我可以考虑将字符串连接起来,使脚本仅在输入文件夹名称时工作,而不更改脚本中的变量。但也许有一种更好的方法我不知道。
var = eval(strcat('x','a'));