How to sum specific elements in a row of a matrix

5 次查看(过去 30 天)
I have a 256 by 256 matrix, lets say it is called m.
I would like to sum specific elements from a specific row in that matrix.
For example, just looking at row 1, I would like to sum the following of these elements:
1-4, (multiples of 16) + 1, (multiples of 16) + 2, (multiples of 16) + 3, and (multiples of 16) + 4.
Therefore I will end up with a single value for each row of the matrix.
Please can somebody help me with the coding for this?
Thank you

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-27
Try this:
m = rand(256,256);
mask = reshape((1:16:256)+(0:3)', 1, []);
result = sum(m(:,mask), 2);

更多回答(1 个)

darova
darova 2020-3-27
编辑:darova 2020-3-27
try this
A = rand(256);
srow = 0;
for i = 1:16:size(A,1)
srow = srow + sum(A(i:i+3,:),1);
end

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by