只计算列的平均值

5

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

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
2个回答

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

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接