# Sum function on part of an array

2 views (last 30 days)
Robert Demyanovich on 8 Jun 2021
Commented: Walter Roberson on 8 Jun 2021
I don't understand what the following sum function does.
mA=zeros(M,1);
mA(1)=sum(cA(1,:))*dx;
mA is a column vector, so what does mA(1) mean?
The documentation for the sum function indicates that taking the sum of a vector just results in one value which is the sum of all of the values in the vector. Is that also what happens when you take the sum of a single row in a matrix (sum(cA(1,:)))? So is mA(1) equal to a single value? I can't seem to find out what mA(1) means for a vector.

Walter Roberson on 8 Jun 2021
mA(1) in this context is designating a single array element as the destination for the assignment. You are putting the results into the first box of the stack of cubby-holes.
Is that also what happens when you take the sum of a single row in a matrix (sum(cA(1,:)))
Yes.
Walter Roberson on 8 Jun 2021
Right.
reshape(1:25,5,5)
ans = 5×5
1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25
reshape() changes the information about dimensions without changing the order in memory, so the values you see above in this particular case also happen to correspond to linear index.