2016-02-27 37 views
0

剛剛接觸Matlab編程,我想用10個隨機數,總結這10個隨機數,我想這樣做10次,以便我有10個數字,它們是每組10個隨機數的總和。對不起,如果這是令人困惑的,我不知道該怎麼說。如何在Matlab中對隨機數進行求和

我想用一個循環,我到目前爲止這樣的代碼:

for i = 1:10 
    a = sum(randn(10, 1)); 
end 
a 

我真的不明白爲什麼這不工作,所以,如果有人能在正確的方向將指向我太棒了。謝謝。

回答

2

它不起作用,因爲您在每次迭代時都會覆蓋a的值。

您應修改您的代碼如下所示,使用a作爲數組:

a=[] 
for i = 1:10 
    a(i) = sum(randn(10, 1)); 
end 
a 

旁邊,你可以把它只有一個行來完成:

a=sum(randn(10,10)) 

這樣,你就產生10x10數組的隨機數,那麼你直接用sum來求和隨機數column-wise

如果喲你想要總和row-wise,你可以使用:

a=sum(randn(10,10),2) 

希望這會有所幫助。

Qapla」

+0

這有助於一個感謝很多,但只是以供將來參考,說我想總結總量的10號,我將不得不採取10的總和的總和? – Jay

+1

是的,你有:'a = sum(sum(randn(10,10),2))'。 –