sum of range of matrix elements from starting and end point

30 次查看(过去 30 天)
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.

采纳的回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2021-1-1
编辑:KALYAN ACHARJYA 2021-1-1
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 个评论
Abhijit Sardar
Abhijit Sardar 2021-1-3
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 2021-1-3
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)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by