matlab cov 函数解析
2012-03-09 10:50
281 查看
最近在用matlab,一直搞不懂cov()函数怎么算出来了。从网上查了一下,结合一些程序例子总结如下:
x=
6934
5421
6778
78910
>>cov(x)
ans=
0.66671.33332.33333.0000
1.33334.66673.00005.0000
2.33333.000010.916713.0833
3.00005.000013.083316.2500
归纳起来为:cov对角线是相应列的方差,非对角线列是相应列的协方差,你是4*4的原始方阵,所以就是4*4的矩阵。
1.先来验证cov对角线是相应列方差:
>>var(x(:,1))
ans=
0.6667
>>var(x(:,2))
ans=
4.6667
>>var(x(:,3))
ans=
10.9167
>>var(x(:,4))
ans=
16.2500
>>diag(cov(x))
ans=
0.6667
4.6667
10.9167
16.2500
>>
从上面结果可以看出cov对角线就是每一列方差。
2.下面来验证非对角线列是相应列的协方差
我们来验证cov(X,Y)(4,3)
据a式
值正好等于cov(X,Y)(4,3),cov(X,Y)(3,4)。
3.疑问
cov(X,Y)=EXY-EX*EY
但是我按这种方法算,不对。如下:
>>mean(x(:,4).*x(:,3))-mean(x(:,4)).*mean(x(:,3))
ans=
9.8125≠13.0833
有大牛知道为什么不?谢谢了。
归纳起来为:cov对角线是相应列的方差,非对角线列是相应列的协方差,你是4*4的原始方阵,所以就是4*4的矩阵。
1.先来验证cov对角线是相应列方差:
从上面结果可以看出cov对角线就是每一列方差。
2.下面来验证非对角线列是相应列的协方差
D(X+Y)=D(X)+D(Y)+2COV(X,Y)
因此COC(X,Y)=(D(X+Y)-D(X)-D(Y))/2(a)
我们来验证cov(X,Y)(4,3)
据a式
>>(var(x(:,3)+x(:,4))-var(x(:,3))-var(x(:,4)))/2
ans=
13.0833
>>
值正好等于cov(X,Y)(4,3),cov(X,Y)(3,4)。
3.疑问
cov(X,Y)=EXY-EX*EY
但是我按这种方法算,不对。如下:
ans=
9.8125≠13.0833
有大牛知道为什么不?谢谢了。
相关文章推荐
- Matlab var std cov 函数解析
- 【Matlab】isa函数解析 类型判断函数
- 【原创】Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab使用函数解析之文件操作
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab使用函数解析之图像操作
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- 【Matlab】Matlab中的plot函数及legend函数解析 持续更新...
- Matlab使用函数解析之小技巧
- Matlab中plot函数全功能解析
- Matlab中plot函数全功能解析
- Matlab中plot函数解析
- matlab 的cov()函数
- Matlab中plot函数解析