我有一个问题,我必须生成一个随机10x20数组,然后获取每列中元素的平均值,然后将它们放在一个新数组中。到目前为止,我已经将程序的核心部分缩小了,但我似乎无法正确地获得while循环的条件。
A = rand(10, 20)*100;
A = floor(A);
B = zeros(1, 20);
while A <= A(:,20)
i = 1;
k = 1;
B(:,k) = floor(sum(A(:,i))/10);
k = k + 1;
i = i + 1;
end
它以无限循环结束,我无法弄清楚原因。
答案 0 :(得分:1)
如果可以,你必须避免循环。 在这种情况下,我们可以使用内置函数来避免它(感谢@David)
A = rand(10, 20)*100;
B = mean(A);
P.S。关于使用randi
和rand
- 主要区别在于randi
生成integer
和rand
- doubles
。所以这取决于你需要什么。