Summing up values in a matrix

3 vues (au cours des 30 derniers jours)
Jonathan Bird
Jonathan Bird le 4 Jan 2021
Commenté : Matt J le 4 Jan 2021
I have a 4D matrix, I(i,j,y,x) which has dimensions of 64 x 64 x 70 x 160. For each coordinate in y and x I'd like to sum all the values for I across i and j to form a 2D matrix I_y_x. i.e. I_y_x(0,0) = I(1,1,0,0)+I(1,2,0,0)+I(1,3,0,0) + .... + I(2,1,0,0) etc.
Thanks in advance

Réponses (1)

Matt J
Matt J le 4 Jan 2021
  2 commentaires
Jonathan Bird
Jonathan Bird le 4 Jan 2021
Modifié(e) : Jonathan Bird le 4 Jan 2021
Thanks for your response, I tried I_y_x = sum(I,[1,2]); but I_y_x is now also a 4D matrix instead of 2D.
Matt J
Matt J le 4 Jan 2021
Just add a squeeze() or a reshape() operation
l=rand(64 , 64 , 70 , 160);
result=squeeze(sum(l,[1,2]));
whos result
Name Size Bytes Class Attributes result 70x160 89600 double

Connectez-vous pour commenter.

Catégories

En savoir plus sur Develop Apps Using App Designer dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by