How to sum specific elements in a row of a matrix

6 Ansichten (letzte 30 Tage)
Ashton Linney
Ashton Linney am 27 Mär. 2020
Kommentiert: Ashton Linney am 27 Mär. 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

Akzeptierte Antwort

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

Weitere Antworten (1)

darova
darova am 27 Mär. 2020
Bearbeitet: darova am 27 Mär. 2020
try this
A = rand(256);
srow = 0;
for i = 1:16:size(A,1)
srow = srow + sum(A(i:i+3,:),1);
end

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by