Sum subarrays of a Matrix.
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Santos García Rosado
le 25 Fév 2021
Modifié(e) : Matt J
le 26 Fév 2021
Hi Mathworks community! Could someone give me a hand?
I'm having trouble trying to sum parts of the arrays of a matrix. Let's say I have the following matrix A of r rows and c columns (rxc).
A = [1,2,3,4,5,6,7,8,9; 10,11,12,13,14,15,16,17,18; 19,20,21,22,23,24,25,26,27]
And what I would like to to is to divide each array in n subarrays (n=3) and sum each of those subarrays. In this case, it would be the sum of every three positions. Getting an output suchs as:
out = [5,15,24; 33,42,51; 60,69,78]
Thank's for the help!
Santos
0 commentaires
Réponse acceptée
Fangjun Jiang
le 25 Fév 2021
Modifié(e) : Fangjun Jiang
le 25 Fév 2021
One-liner
transpose(reshape(sum(reshape(A',3,[])),3,[]))
Or
transpose(cell2mat(cellfun(@sum,mat2cell(A',[3,3,3],3),'unif',0)))
2 commentaires
Fangjun Jiang
le 25 Fév 2021
Can this task be done using accumarray()?? accumarray always makes my head spin!
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices 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!