我想创建变量并通过循环中的索引将变量命名为变量名称
for k = 1 : 10
A_{k} = rand(10,1);
end
我希望它创建变量
A_1 = [.43,.234.,....]
A_2
A_3
...
但它没有。它只创建一个变量A.
如何将索引提供给循环以创建单个变量?
答案 0 :(得分:1)
您要做的是创建一个变量集合的数组。
A = zeros(10,1); % to initialize array
for k = 1 : 10
A(k) = rand(10,1);
end
现在A是一个大小为10且包含10个随机值的数组。
答案 1 :(得分:-2)
您可以使用assignin动态创建变量,如下所示:
for k = 1:10
assignin('base', ['A_', num2str(k)], rand(10,1))
end
whos
Name Size Bytes Class Attributes
A_1 10x1 80 double
A_10 10x1 80 double
A_2 10x1 80 double
A_3 10x1 80 double
A_4 10x1 80 double
A_5 10x1 80 double
A_6 10x1 80 double
A_7 10x1 80 double
A_8 10x1 80 double
A_9 10x1 80 double
k 1x1 8 double