ntjm.net
当前位置:首页 >> 如何用mAtlAB求协方差矩阵特征值 >>

如何用mAtlAB求协方差矩阵特征值

要先求出协方差矩阵,再用eig命令求出特征值,再用命令roots求出根,如:a=magic(5);b=cov(a),c=eig(b),d=roots(c)结果是:b =52.5000 5.0000 -37.5000 -18.7500 -1.25005.0000 65.0000 -7.5000 -43.7500 -18.7500-37.5000 -7.5000 90.0000

先写出协方差矩阵s,再调用eig(s)这个库函数,调用方法:[ev,ed]=eig(s).ed为特征值矩阵,ev特征向量矩阵,排列顺序:从低阶到高阶.》s=[2291.333 1340 1934 2523.333 1245.333 2482; 1340 956.6667 1596 1401.333 883.3333 1480;1934

在数理统计上,协方差矩阵一定是对称矩阵. 对称矩阵是半正定的,特征值一定不小于0.因为协方差矩阵对角元素每个随机变量各自的方差,是恒不小于0的数.楼主检查一下你的矩阵是否出现了协方差本身要求的错误.谢谢

先写出协方差矩阵s,再调用eig(s)这个库函数,调用方法:[ev,ed]=eig(s). ed为特征值矩阵,ev特征向量矩阵,排列顺序:从低阶到高阶.s=[2291.333 1340 1934 2523.333 1245.333 2482; 1340 956.6667 1596 1401.333 883.3333 1480;1934

是你概念搞错了.你把一行六列的矩阵和6维随机变量搞混了.1.协方差是衡量随机变量之间的关系,给定两个数,你说他们两个之间能不能求协方差呢?很显然这是求不出来的.2.既然是求的随机变量间的关系,概率分布未知,matlab的cov求的又是什么呢?cov函数是通过两个信号产生的一些数据,对协方差进行估计.3.上一条也就解释了为什么他会得到一个2x2的矩阵,因为他把你的两个矩阵作为两个随机变量的输出了,进行估计.最后得到的自然就是两个变量的协方差矩阵了.

用cov函数就可以

用eig函数求出特征值和特征向量,具体用法参考:http://baike.baidu.com/link?url=LBQ1ZFs_LCCQcpLc-6lcZ27nwXpRTP8-kOlSodd9rzaoadEs2p2avnRAqOqV20JoQG-MxPMXBYMrmDau4LDpYK

利用cov函数.cov(A,B)

例:>>a=rand(5,5);>>[v,d]=eig(a) \\ 其中v的列向量是a的特征向量,d的对角线元素即a的特征值.>>eig(a) \\结果即a的特征值.更多相关内容可参考 http://gdjpkc.xmu.edu.cn/DocumentList.aspx?cID=40 中MATLAB简介及MATLAB实验.

函数 cov 格式 cov(X) %求向量X的协方差 cov(A) %求矩阵A的协方差矩阵,该协方差矩阵的对角线元素是A的各列的方差,即:var(A)=diag(cov(A)). cov(X,Y) %X,Y为等长列向量,等同于cov([X Y]).

网站首页 | 网站地图
All rights reserved Powered by www.ntjm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com