一维随机序列的协方差矩阵Matlab实现

最近在论文里看到很多协方差矩阵的表示方式为 Rx=E{XXT}    ,但是我们经常用的都时 cov(X)来计算协方差。

其中:X为一维随机序列或者信号的采样, XT 代表 X 的转置序列

设:x=[10 20 32 44 5 7 2 56 7 2]';       注意有 转置符号,此处为列向量

这里介绍一下 matlab函数: repmat( A, a, b)   ,这个函数的意思是将矩阵A为块(即分块矩阵)重复a行b列,如下:


 

%%%matlab代码:

x=[10 20 32 44 5 7 2 56 7 2]';
x = x - repmat(mean(x),10,1);   %%  去均值,也叫中心化,也就是让一维序列中的
                                %%  每个数都减去这些数的均值
Rx = (x * x')./(size(x,1)-1)


运行结果如下:

此外,  cov(x,0) = cov(x) =var(x)   都是计算 一维序列 x 的方差     

扫描二维码关注公众号,回复: 5923013 查看本文章

     cov(X,Y)   计算两个一维序列 X,Y的协方差(也可以是 矩阵)。必须是各维数都相同

      cov(X,1)     除以N而不是N-1                          

      cov(X,Y,1)   除以N而不是N-1

本帖参考:http://blog.sciencenet.cn/blog-455004-805926.html

猜你喜欢

转载自blog.csdn.net/qq_41071706/article/details/85264805