在matlab中如何求两个列矩阵的协方差?

2024-04-29

1. 在matlab中如何求两个列矩阵的协方差?

matlab函数:mean
>>x=[1,2,3]
>>mean(x)=2
如果x是一个矩阵,则其均值是一个向量组。mean(x,1)为列向量的均值,mean(x,2)为行向量的均值。
>>x=[1
2
3
4
5
6]
>>mean(x,1)=[2.5,
3.5,
4.5]
>>mean(x,2)=[2
5]
若要求整个矩阵的均值,则为mean(mean(x))。
>>mean(mean(x))=3.5
也可使用mean2函数:
>>mean2(x)=3.5
协方差矩阵
a=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];
b=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];
c=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];
d=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];
e=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];
>>
q=[a',b',c',d',e'];
>>
w=cov(q)
w
=
10.3710
-4.7446
-6.6023
-0.1873
-1.8881
-4.7446
59.1503
38.7606
-3.0743
3.0982
-6.6023
38.7606
28.6966
-2.0199
2.4166
-0.1873
-3.0743
-2.0199
0.8474
0.3936
-1.8881
3.0982
2.4166
0.3936
1.3412
来自网络

在matlab中如何求两个列矩阵的协方差?

2. matlab求矩阵的自协方差。。。。急。。!!!

是你概念搞错了。

你把一行六列的矩阵和6维随机变量搞混了。

1.协方差是衡量随机变量之间的关系,给定两个数,你说他们两个之间能不能求协方差呢?很显然这是求不出来的。

2.既然是求的随机变量间的关系,概率分布未知,matlab的cov求的又是什么呢?cov函数是通过两个信号产生的一些数据,对协方差进行估计。

3.上一条也就解释了为什么他会得到一个2x2的矩阵,因为他把你的两个矩阵作为两个随机变量的输出了,进行估计。最后得到的自然就是两个变量的协方差矩阵了。

3. 如何求协方差矩阵

(1) 取列向量c和s,分别以cos(theta_i)和sin(theta_i)为分量
那么原来的矩阵是I+XY^T,其中X=[c,s],Y=[s,c]
利用Sylvester恒等式det(I+XY^T)=det(I+Y^TX)即可,后面那个二阶行列式可以算出来
(2) 记原矩阵为A,再取多项式f(x)=a1+a_2x+...+a_nx^{n-1}
再取一个Vandermonde矩阵W,W由x^n-2=0的n个复根x_1,...,x_n生成
那么AW=WD,其中D是对角阵,对角元为f(x_1),...,f(x_n),所以det(A)=det(D)

如何求协方差矩阵

4. 两个矩阵的协方差是如何计算的,为什么用matlab的计算结果为2×2的矩阵?

如图所示

5. 已知一个矩阵,怎么用matlab软件求它的协方差矩阵,最好能举例说明


已知一个矩阵,怎么用matlab软件求它的协方差矩阵,最好能举例说明

6. matlab中已知协方差矩阵怎样算相关系数?

已知协方差矩阵,计算相关系数可以按图中的公式进行。
R就是相关系数矩阵,C为协方差矩阵。
>> a=rand(5,5)
a =
    0.9501    0.7621    0.6154    0.4057    0.0579
    0.2311    0.4565    0.7919    0.9355    0.3529
    0.6068    0.0185    0.9218    0.9169    0.8132
    0.4860    0.8214    0.7382    0.4103    0.0099
    0.8913    0.4447    0.1763    0.8936    0.1389
>> C=cov(a)
C =
    0.0878    0.0129   -0.0526   -0.0253   -0.0276
    0.0129    0.1022   -0.0229   -0.0739   -0.0993
   -0.0526   -0.0229    0.0819   -0.0037    0.0515
   -0.0253   -0.0739   -0.0037    0.0774    0.0624
   -0.0276   -0.0993    0.0515    0.0624    0.1079%%协方差矩阵
>> R=corrcoef(a)
R =
    1.0000    0.1364   -0.6207   -0.3063   -0.2836
    0.1364    1.0000   -0.2503   -0.8309   -0.9454
   -0.6207   -0.2503    1.0000   -0.0460    0.5478
   -0.3063   -0.8309   -0.0460    1.0000    0.6822
   -0.2836   -0.9454    0.5478    0.6822    1.0000%%相关系数矩阵
可以看出相关系数矩阵是是对称阵。它的计算结果R(1,2)是第一列和第二列的相关系数;R(1,3)是第一列和第三列的相关系数;R(2,3)是第二列和第三列的相关系数;R(1,2)和R(2,1)都是第一列和第二列的相关系数所以是相等的。

7. matlab求两个总体的均值向量和协方差矩阵

Matlab函数:mean
>>X=[1,2,3]
>>mean(X)=2
 
如果X是一个矩阵,则其均值是一个向量组。mean(X,1)为列向量的均值,mean(X,2)为行向量的均值。
>>X=[1 2 3
     4 5 6]
>>mean(X,1)=[2.5, 3.5, 4.5]
>>mean(X,2)=[2
             5]
 
若要求整个矩阵的均值,则为mean(mean(X))。
>>mean(mean(X))=3.5
也可使用mean2函数:
>>mean2(X)=3.5


协方差矩阵
 
A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];
B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];
C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];
D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];
E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];
>> q=[A',B',C',D',E'];
>> w=cov(q)
w =
   10.3710   -4.7446   -6.6023   -0.1873   -1.8881
   -4.7446   59.1503   38.7606   -3.0743    3.0982
   -6.6023   38.7606   28.6966   -2.0199    2.4166
   -0.1873   -3.0743   -2.0199    0.8474    0.3936
   -1.8881    3.0982    2.4166    0.3936    1.3412

                                                                                                                来自网络

matlab求两个总体的均值向量和协方差矩阵

8. matlab中已知协方差矩阵,怎样算相关系数?

计算方法如下:
假设协方差矩阵为c
第i行与第j行的相关系数为:
r(i,j)=c(i,j)/sqrt(c(i,i)*c(j,j))
若要求整个矩阵可用循环实现
[m,n]=size(c);
for i=1:m
for j=1:n
r(i,j)=c(i,j)/sqrt(c(i,i)*c(j,j));
end
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
最新文章
热门文章
推荐阅读