如何在MatLab中获得变量内部变量的赋值?

vojdkbi0  于 2022-11-15  发布在  Matlab
关注(0)|答案(2)|浏览(198)

A1,A2,..。分配给t.和A1,A2,A3,...还具有如下for循环中指定的值。现在,当我打印print(t(1,:))时,我想要答案2,但我得到的是A1。这只是我实际问题的一个虚拟代码,A1,A2实际上有500 x 1的值。

t=['A1';'A2';'A3';'A4';'A5'];
for j=1:length(t)
    eval([t(j,:), '= 2*j'])
end

有没有人能帮我解决这个问题。

1hdlvixo

1hdlvixo1#

不要使用这样的动态名称创建变量。这将导致您编写速度较慢的模糊代码。最好使用数组、单元格数组或结构变量。有关详细讨论,请阅读"TUTORIAL: Why Variables Should Not Be Named Dynamically (eval)"上的MatLab答案。

flvlnr44

flvlnr442#

eval(['t(',num2str(j),',:)= 2*',num2str(j)])

相关问题