Summing up values in a matrix

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

回答 (1 件)

Matt J
Matt J 2021 年 1 月 4 日

0 投票

sum(l,[1,2])

2 件のコメント

Jonathan Bird
Jonathan Bird 2021 年 1 月 4 日
編集済み: Jonathan Bird 2021 年 1 月 4 日
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 2021 年 1 月 4 日
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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

質問済み:

2021 年 1 月 4 日

コメント済み:

2021 年 1 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by