Matlab mean() & mean2() & std() 函数的使用

M = mean(A)
返回沿数组中不同维的元素的平均值。
如果A是一个向量,mean(A)返回A中元素的平均值。
如果A是一个矩阵,mean(A)将其中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。
如果A是一个多元数组,mean(A)将数组中第一个非单一维的值看成一个向量,返回每个向量的平均值。

M = mean(A,dim)
返回A中沿着标量dim指定的维数上的元素的平均值。对于矩阵,mean(A,2)就是包含每一行的平均值的列向量。
《Simulink与信号处理》
应用举例 编辑本段回目录

A = [1 2 3; 3 3 6; 4 6 8; 4 7 7];
mean(A)
ans =
       3.0000 4.5000 6.0000

mean(A,2)
ans =
       2.0000
       4.0000

       6.0000
       6.0000

mean(A)

当A为向量时,那么返回值为该向量所有元素的均值

当A为矩阵时,那么返回值为该矩阵各列向量的均值

mean(A,2)

返回值为该矩阵的各行向量的均值


1、mean() :

mean函数的作用主要是求列或行的平均数:


   % 下面参数说明:A是矩阵、函数原型:mean(A , dim)


<1>、 对列求平均数:

mean(A , 1)  = mean(A)    % dim = 1可以简写


<2>、对行求平均数:

mean(A , 2)

2、mean2():

相当于mean( mean( A ) )

相当于对整一个矩阵求像素平均值


 3、std():





% std函数是求标准偏差,即标准差的函数

% 大致有以下两种常用形式



<1> std( x , a ); % std函数的标准形式,当a=0时,是无偏估计( 概率论有讲过, 累加和除以n-1 ),当a=1时,是有偏估计( 累加和除以n );

<2> std( x , a , b );  % 增加的b形参代表维数,如果是2维矩阵,b=1是按行分,b=2是按列分,若是3维及以上维数矩阵,b = i,就是增多的一维的维数

%其默认格式是 std( x ) = std( x , 0 , 1 )


Sample:

x = [   1   3   2 

          5   7   4   ]

                

std( x ) = [   2.8284    2.8284  1.4142   ]   % 按列求标准差,除以n-1

根据输出验证 =>  std( x ) = std( x , 0 , 1 )

        % 其余原理类似可以自己尝试

猜你喜欢

转载自blog.csdn.net/leo_whj/article/details/78679942