zoukankan      html  css  js  c++  java
  • [Matlab]协方差矩阵计算使用cov函数的结果与自编程序结果存在不一致

    目前还弄不清是什么原因,有多大影响,只知道存在这个问题。

    运行版本:

    1.MatlabR2015b windows64Bit

    2.https://octave-online.net/

    3.http://www.compileonline.com/execute_matlab_online.php

    代码:

    %自编协方差矩阵计算法结果一致,但与matlab自带的cov函数不一致
    % Rxx.m
    
    close all;
    clear;
    clc;
    rng('default');
    rng(0);
    A = randn(10,4);
    [r,c]=size(A);
    % method 1
    Rxx1=A'*A/r;
    %method2
    for n=1:r
     rx2_0(:,:,n)=A(n,:)'*A(n,:);
    end
    Rxx2=sum(rx2_0,3)/r;
    % method 3
    Rxx3=cov(A);
    fprintf('err1=%f
    ',sumsqr(Rxx1-Rxx2));
    fprintf('err2=%f
    ',sumsqr(Rxx1-Rxx3));
    fprintf('err3=%f
    ',sumsqr(Rxx2-Rxx3));
    

      

    结果

    err1接近于0,err2,err3相等且等于某个数,对比了一下对应的结果矩阵数据,确实有差异。

    Todo~.~

    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    git
    java网络
    配置本地git服务器(gitblit win7)
    atom 插件安装【转载】
    javaIo
    如何在eclipse中设置断点并调试程序
    如何将工程推到github上
    git操作记录
    编码
    node升级7.0以上版本使用gulp时报错
  • 原文地址:https://www.cnblogs.com/alimy/p/9758643.html
Copyright © 2011-2022 走看看