Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
假设有M个维度和N个样本的数据矩阵数据,
data = randn(N, M); 我可以用以下公式计算协方差矩阵 data_mu = data - ones(N, 1)*mean(data); cov_matrix = (data_mu'*data_mu)./N 如果我使用本机MATLAB函数 cov_matrix2 = cov(data) 这将始终等于 cov_matrix = (data_mu'*data_mu)./(N-1) 也就是说,分母是(N-1)少一。 为什么??你能复制吗?这是一个错误吗? 我使用MATLAB版本7.6.0.324(2008)。 回答: 也就是说,分母是(N-1)少一。为什么??你能复制吗?这是一个错误吗?请参阅cov文档 。它与总体方差与样本方差有关 。 还要注意,如果您希望使用分母N而不是N-1,则可以在调用中添加尾随1参数,即根据文档所述, cov(x,y,1)或cov(x,1) 。 更多&回答... |
![]() |
![]() |