1

我想找到 42×4 矩阵的第 1 行和第 22 行、第 2 行和第 23 行等的平均值。第一行和第 22 行是:

0 0 -30 -2.49000000000000

0 0 -30 -2.38000000000000

如何找到这两行中每一列的平均值?

4

2 回答 2

4

MATLAB 具有用于索引矩阵的特殊语法,您可以通过键入

   help :

现在,假设你的矩阵是

   M = randn(42,4);  %generating a random matrix with 42 rows and 4 columns

然后,您可以使用简单的加法和平均值来计算所需行的平均值:

   rowmeans =  ( M(1:21,:) + M(22:end,:) ) / 2;

这将产生一个包含 21 行和 4 列的矩阵,其中每一行是所需的平均值。

更一般地,对于具有偶数行的矩阵的上半部分和下半部分进行平均:

   rowmeans =  ( M(1:end/2,:) + M(end/2+1:end,:) ) / 2;

您可能还想了解endMATLAB 中的关键字:

   help end
于 2012-09-20T20:06:31.730 回答
1

如果你想要两行的每一列的平均值,你可以使用类似的东西

mean(t([1,22],:)); 

这将导致

0 0 -30.0000 -2.4350

于 2012-09-20T21:11:16.697 回答