我的问题的一个部分问题是,我不知道足够多的计算机科学术语来简洁地问它,所以希望这个示例代码能有所帮助:
假设我有这样的代码:
a1 = 1;
a2 = 2;
a3 = 3;我想很懒,在'for循环‘中增加变量"a“。
for(i=1:3)
ai = i
enda1 = 1,a2 = 2,a3 = 3,这在matlab中是可能的吗?这叫什么?
发布于 2020-07-22 22:36:08
我想你可以试试下面这样的assignin
for i = 1:3
assignin('base',sprintf("a%d",i),i);
end如果在函数中使用它,则可能需要
for i = 1:3
assignin('caller',sprintf("a%d",i),i);
end发布于 2020-07-24 13:27:17
ThomasisCoding和Ander给出了很好的答案。
谢谢你的帮助!我最后使用的代码:
a = (zeros(13,1));
for i = 1:numberoffiles
v = num2str(i)
formatspec1 = '%s%s';
d = sprintf(formatspec1,'filename',v);
a(i,:) = string(eval(d));
endhttps://stackoverflow.com/questions/63042969
复制相似问题