循环字符串,变量名称为Matlab

时间:2016-11-01 02:29:42

标签: matlab

我想创建变量并通过循环中的索引将变量命名为变量名称

for k = 1 : 10
    A_{k} = rand(10,1);
end

我希望它创建变量

A_1 = [.43,.234.,....]
A_2
A_3
...

但它没有。它只创建一个变量A.

如何将索引提供给循环以创建单个变量?

2 个答案:

答案 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 
相关问题