对某些整数执行for循环并存储每次迭代的值

时间:2015-06-28 08:40:28

标签: matlab matrix

我必须为不同的整数执行for循环,并将每个循环的值存储在矩阵中。我如何在MATLAB中执行此操作? 例如。我必须为值

运行for循环
for i=36,48,72,120
end

如果每个循环给出1乘36的矩阵作为输出,我必须得到一个4乘36的矩阵。这是针对i的每个值。

1 个答案:

答案 0 :(得分:0)

将整数存储在向量中并迭代此向量:

values = [36,48,72,120];

num = numel(values);

per_iteration_size = 36;
result = zeros(num, per_iteration_size);

for k=1:num
    % store the "results" in the result vector
    % in this example, we just store [values(k), values(k), ...]
    result(k,:) = values(k)*ones(per_iteration_size,1);
end

根据每次循环迭代发生的情况,通常可以在不使用任何循环的情况下完成。这称为vectorization,通常可以显着缩短处理时间。