Matlab 多维数组求和

Matlab 多维数组求和,matlab,multidimensional-array,Matlab,Multidimensional Array,我有一个I x K x V数组,其中V=S x R,也就是说,对于不同的类别,第三维有“S”观测。最后我想得到一个在第三维中,每个S中R的和的I x K x S e、 g:I=3,K=3,S=2,R=2,我想得到一个矩阵C,它是3x3x2,用下面的方法求第三维的和 A = [5 7 8; 0 1 9;4 3 6]; A(:,:,2)=[1 0 4; 3 5 6;9 8 7] A(:,:,3)=[3 2 1 ; 4 5 6; 3 4 5] A(:,:,4)=[1 2 3 ; 3 4 5; 5 6

我有一个I x K x V数组,其中V=S x R,也就是说,对于不同的类别,第三维有“S”观测。最后我想得到一个在第三维中,每个S中R的和的I x K x S

e、 g:I=3,K=3,S=2,R=2,我想得到一个矩阵C,它是3x3x2,用下面的方法求第三维的和

A = [5 7 8; 0 1 9;4 3 6]; 
A(:,:,2)=[1 0 4; 3 5 6;9 8 7]
A(:,:,3)=[3 2 1 ; 4 5 6; 3 4 5]
A(:,:,4)=[1 2 3 ; 3 4 5; 5 6 7]
C=A(:,:,1)+A(:,:,2)
C2=A(:,:,3)+A(:,:,4)
C(:,:,2)=C2
我无法手动执行此操作,b/c R和S在我的“真实”案例中非常大


谢谢

重塑
分离S和R维度,然后在第三维度上进行
求和
,即S:

I = 3; K = 3; S = 2; R = 2;
C = squeeze(sum(reshape(A,[I K S R]),3));
如果你想在R上求和,那是第四个维度:

C = sum(reshape(A,[I K S R]),4);

使用
重塑
分离S和R维度,然后在第三维度上进行
求和
,即S:

I = 3; K = 3; S = 2; R = 2;
C = squeeze(sum(reshape(A,[I K S R]),3));
如果你想在R上求和,那是第四个维度:

C = sum(reshape(A,[I K S R]),4);

你说你想“在R上求和”(第四维),但你说你想要一个矩阵“对第三维求和”。我认为在我的解决方案中的两个案例都是你想“遍历R”(第四维),但是你说你需要一个“第三维的矩阵”。我认为在我的解决方案中的两个案例都很抱歉,如果我导致混乱,A只意味着只构建三个维度,所以你的第一个答案(重塑第一)是我所需要的。非常漂亮,谢谢!我很抱歉,如果我导致混乱,一个是要建立只有三个维度,所以你的第一个答案(重塑第一)是我需要的。非常漂亮,谢谢!