Filter löschen
Filter löschen

sum of range of matrix elements from starting and end point

20 Ansichten (letzte 30 Tage)
I have 90000*20 matrix i want to add 50 elements of 18th column successively. how can i do so please help.also could you please tell how to do sum of elements in the vector if the starting and end point is known.

Akzeptierte Antwort

KALYAN ACHARJYA
KALYAN ACHARJYA am 1 Jan. 2021
Bearbeitet: KALYAN ACHARJYA am 1 Jan. 2021
Lets say the matrix data is variable name as "mat"
result=sum(mat(1:50,18))
"could you please tell how to do sum of elements in the vector if the starting and end point is known".
If 1-D vector, you can use sum directly
result=sum(mat(Start_index:End_index))
For 2 D case
data=mat(From rows:Till Rows number,From columns:Till Columns number)
result=sum(data(:))
  4 Kommentare
Abhijit Sardar
Abhijit Sardar am 3 Jan. 2021
No, i meant first i want sum of 1 - 50 elements and then 2-51,3-52 like so on... i am coding like this but in 'res' i am only getting one answer. i want the consecutive sum of 50 elements correspoing to all 90000 row elements.
for i = 1:p-50
res = sum(m(i:i+50,18))
end
KALYAN ACHARJYA
KALYAN ACHARJYA am 3 Jan. 2021
In that case you have to use array indexing
l=1;
res=zeros(1,,,,expected_num_of interation); % Must do
for i = 1:p-50
res(l)= sum(m(i:i+50,18))
end
In this case you can avoid loop, please use movsum, as follows (Recommended)
data=m(:,18);
sum_result=movsum(data,50)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by