2013-07-01 4 views
1

Как я могу вычислить суммирование интервала. Я буду использовать код Matlab, например.Подведение итогов до определенного интервала

data=[1;2;3;4;5;6;7;8;9;10;11;12] 

Я хотел был бы выполнить это суммирование.

sum(1)=data(1)+data(2)+data(3) 
sum(2)=data(4)+data(5)+data(6) 
sum(3)=data(7)+(data(8)+data(9) 
sum(4)=data(10)+data(11)+data(12) 

Как я могу это получить? (Использование для цикла)

+6

, пожалуйста, избегайте использования 'sum' для имени переменной, поскольку это перезапишет (довольно важную) встроенную функцию matlab' sum' http://www.mathworks.com/help/fixedpoint/ref/sum.html. – bla

ответ

7

Нет для цикла необходимо, если, конечно, этот интервал постоянен, как в вашем примере:

Ans=sum(reshape(data,3,[])) 

Обратите внимание, что я reshape вектор data к матрице, которая имеет правильное число столбцы, поэтому значение 3 относится к размеру интервала, который вы хотели ...

+1

Использование имени переменной 'Ans' задает проблемы, слишком легко путается со встроенным' ans'. Тем более в совете неофиту. –

+0

, почему в нем с капиталом A, кроме того, что 'ans' в любом случае производится и переписывается часто ... – bla

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