我必须为不同的整数执行for循环,并将每个循环的值存储在矩阵中。我如何在MATLAB中执行此操作? 例如。我必须为值
运行for循环for i=36,48,72,120
end
如果每个循环给出1乘36的矩阵作为输出,我必须得到一个4乘36的矩阵。这是针对i的每个值。
答案 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,通常可以显着缩短处理时间。