2012-07-12 121 views
4

我有一个函数可以计算矩阵的两列的平均值。例如,如果下面的矩阵是输入:只计算列的平均值

inputMatrix = 

       1 2 5 3 9 
       4 6 2 3 2 
       4 4 3 9 1 

...而我的命令是:

outputVector = mean(inputArray(:,1:2)) 

...那么我的输出是:

outputVector = 

       3 4 

问题当我的输入矩阵只包含一行时(即,当它是一个矢量,而不是一个矩阵时)出现。

例如,输入:

inputMatrix = 

       4 3 7 2 1 

给出的输出:

outputVector = 

       3.5000 

我想不管有多少行是在输入被保持相同的行为。为了澄清,对第二个例子正确的输出上面应该是:

outputVector = 

       4 3 

回答

13

使用的MEAN的第二个参数来表示一个维度要平均

inputMatrix =[ 4 3 7 2 1] 

mean(inputMatrix(:,1:2),1) %# average along dim 1, i.e. average all rows 

ans = 

    4  3