使用循环将数组的元素替换为另一个数组中的列的总和

时间:2015-11-06 03:37:58

标签: matlab

我有一个问题,我必须生成一个随机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

它以无限循环结束,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:1)

如果可以,你必须避免循环。 在这种情况下,我们可以使用内置函数来避免它(感谢@David)

A = rand(10, 20)*100;
B = mean(A);

P.S。关于使用randirand - 主要区别在于randi生成integerrand - doubles。所以这取决于你需要什么。