How to sum specific elements in a row of a matrix

8 visualizaciones (últimos 30 días)
Ashton Linney
Ashton Linney el 27 de Mzo. de 2020
Comentada: Ashton Linney el 27 de Mzo. de 2020
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

Respuesta aceptada

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

Más respuestas (1)

darova
darova el 27 de Mzo. de 2020
Editada: darova el 27 de Mzo. de 2020
try this
A = rand(256);
srow = 0;
for i = 1:16:size(A,1)
srow = srow + sum(A(i:i+3,:),1);
end

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by