最近在论文里看到很多协方差矩阵的表示方式为 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 的方差
cov(X,Y) 计算两个一维序列 X,Y的协方差(也可以是 矩阵)。必须是各维数都相同
cov(X,1) 除以N而不是N-1
cov(X,Y,1) 除以N而不是N-1