仅计算列的平均值

Cap*_*rog 5 matlab mean

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

inputMatrix =

                1   2   5   3   9
                4   6   2   3   2
                4   4   3   9   1
Run Code Online (Sandbox Code Playgroud)

......我的命令是:

outputVector = mean(inputArray(:,1:2))
Run Code Online (Sandbox Code Playgroud)

...然后我的输出是:

outputVector = 

                3   4
Run Code Online (Sandbox Code Playgroud)

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

例如,输入:

inputMatrix =

               4   3   7   2   1
Run Code Online (Sandbox Code Playgroud)

给出输出:

outputVector = 

               3.5000
Run Code Online (Sandbox Code Playgroud)

无论输入中有多少行,我都希望保持相同的行为.为了澄清,上面第二个例子的正确输出应该是:

outputVector =

               4   3
Run Code Online (Sandbox Code Playgroud)

Jon*_*nas 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
Run Code Online (Sandbox Code Playgroud)