2016-02-27 3 views
0

Новое в программировании Matlab, и я хотел бы принять 10 случайных чисел, суммировать эти 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

Если yo и хочет, чтобы подвести row-wise, вы можете использовать:

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

Надеется, что это помогает.

Qapla»

+0

Это очень помогает, спасибо, но просто на будущее, скажем, я хотел бы подвести итог из 10 номеров, я бы должен взять сумму из суммы 10? – Jay

+1

Да, у вас есть: 'a = sum (sum (randn (10,10), 2))'. –

Смежные вопросы