Matrix 如何求矩阵中相邻行的平均值?

Matrix 如何求矩阵中相邻行的平均值?,matrix,octave,element,Matrix,Octave,Element,我试图找到矩阵中每个相邻行的平均值: x= [ 1 2 3 4; 2 3 1 0; 1 0 1 0; 3 1 0 1; ] 简单地说,我需要一个结果矩阵来计算第1行和第2行、第3行和第4行的平均值,如下所示: y= [ 2; 0.875 ] 如何进行此操作?您可以计算行的平均值,而不是连续两行的平均值 z=mean(x,2) z = 2.50000 1.50000 0.50000 1.25000 octave:22> y=((z(1:2:end)+z

我试图找到矩阵中每个相邻行的
平均值

x=
[
1 2 3 4;
2 3 1 0;
1 0 1 0;
3 1 0 1;
]
简单地说,我需要一个结果矩阵来计算第1行和第2行、第3行和第4行的
平均值,如下所示:

y=
[
2;
0.875
] 

如何进行此操作?

您可以计算行的平均值,而不是连续两行的平均值

   z=mean(x,2)
z =

   2.50000
   1.50000
   0.50000
   1.25000

octave:22> y=((z(1:2:end)+z(2:2:end))/2)
y =

   2.00000
   0.87500

您可以计算行的平均值,而不是连续两行的平均值

   z=mean(x,2)
z =

   2.50000
   1.50000
   0.50000
   1.25000

octave:22> y=((z(1:2:end)+z(2:2:end))/2)
y =

   2.00000
   0.87500

您可以重塑数组的形状,并将其他行放在同一行上:

倍频程:6>[n,m]=大小(x);
倍频程:7>平均值(重塑(x',m*2,n/2))
ans=
2.00000   0.87500
由于转置的结果是一个行向量,如果你真的想要一个列向量,你可以把它转置回去

在足够新的MATLAB(我没有访问权限)上,您应该能够使用,在这种情况下,您可以使用多维数组:

[n,m]=尺寸(x);
平均值(重塑(x,[2,n/2,m]),[1,3])%应留下n/2大小的尺寸

由于明显的原因,上述内容未经测试。

您可以重新调整数组的形状,并将其他行放在同一行上:

倍频程:6>[n,m]=大小(x);
倍频程:7>平均值(重塑(x',m*2,n/2))
ans=
2.00000   0.87500
由于转置的结果是一个行向量,如果你真的想要一个列向量,你可以把它转置回去

在足够新的MATLAB(我没有访问权限)上,您应该能够使用,在这种情况下,您可以使用多维数组:

[n,m]=尺寸(x);
平均值(重塑(x,[2,n/2,m]),[1,3])%应留下n/2大小的尺寸
由于明显的原因,上述内容未经测试