如何将字符串插入到变量名

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

登录评论。

答案(2)

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

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

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map