# I'm trying to sum every two row and store the answer in new matrix, but the code keep giving me the wrong sum and copy the wrong answer in all the row of the new matrix.

2 views (last 30 days)

Show older comments

the code I'm talking about is cyrcled in red

##### 0 Comments

### Answers (2)

William Rose
on 18 Sep 2022

Agg_load_1=10*rand(8,1);

N=length(Agg_load_1);

s=zeros(floor(N/2),1); %allocate array for the sums of 2 elements at a time

for i=1:length(s)

s(i)=sum(Agg_load_1(2*i-1:2*i));

end

disp(Agg_load_1')

disp(s')

Try the above.

##### 1 Comment

William Rose
on 18 Sep 2022

William Rose
on 18 Sep 2022

Agg_load_1=10*rand(8,1);

N=length(Agg_load_1);

s=Agg_load_1(1:2:end-1)+Agg_load_1(2:2:end);

disp(Agg_load_1'); disp(s')

The approach above is nicer than my first answer, because it does not use a for loop. It works when Agg_load_1 has an even number of elements. It would need an adjustment if Agg_load_1 has an odd number of elements.

##### 3 Comments

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!