Effacer les filtres
Effacer les filtres

sum of range of matrix elements from starting and end point

20 vues (au cours des 30 derniers jours)
Abhijit Sardar
Abhijit Sardar le 1 Jan 2021
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.

Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 1 Jan 2021
Modifié(e) : KALYAN ACHARJYA le 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 commentaires
Abhijit Sardar
Abhijit Sardar le 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 le 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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by