如何插入一个字符串变量的名字吗

20视图(30天)
布鲁克
布鲁克 2022年10月18日
回答: 沃尔特·罗伯森 2022年10月20日
大家好!
我试图插入一个字符串作为变量名,下面是我的代码但文件名不读 “sub-x421m9_”。最后我希望我sub-x421m9_文件名
sub_ID = {“sub-x421m9_”};
k = 0
一个= eval (“sub_ID”);
(R, P) = corrcoef (sub1);
保存(,“R”);
结束
1评论
Stephen23
Stephen23 2022年10月18日
你为什么需要这样一个间接和混淆的方式来定义文件名?
具体是什么阻止你简单地传递文件名本身?

登录置评。

答案(2)

史蒂文的主
史蒂文的主 2022年10月18日
你应该尝试创建变量与动态名称呢? 普遍的共识是否定的 。回答文章解释了为什么这个通常是沮丧和提供了几种不同的方法。
此外, sub-x421m9_ 不是一个有效的变量名在MATLAB。
isvarname (“sub-x421m9_”)
ans =逻辑
0
变量名只能包含字母、数字或下划线字符。的字是不允许的。当你试图 eval ,它被解释为试图减去变量(或一个函数调用的结果1 0输入和输出)命名x421m9_从变量(或一个函数调用的结果等等)命名的子。
如果你想做的是,作为一个使用 文件 名字,这很简单。我要切换到一个临时目录:
cd (tempdir)
mkdirdir1829478
cddir1829478
在这个目录下没有文件:
ls
现在做一些示例数据保存:
sampleDataToSave = 1:10;
并保存它。
文件名= {“sub-x421m9_”};
保存(文件名{1},“sampleDataToSave”)
注意,现在的文件存在:
ls
sub-x421m9_.mat
并且包含变量sampleDataToSave。
谁(“- file”文件名{1})
类属性名称大小字节sampleDataToSave 1 x10 80双

沃尔特·罗伯森
沃尔特·罗伯森 2022年10月20日
sub_ID = {“sub-x421m9_”};
k = 0
一个= sub_ID {k + 1};
(R, P) = corrcoef (sub1);
保存(,“R”);
结束

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!