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~.~

    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    整数的可除性
    椭圆曲线的基本概念
    数组方法分析-笔记
    JS-作用域
    JS-变量存储
    Web框架-inoic
    圣杯布局
    js,php中的面向对象
    正则
    math对象
  • 原文地址:https://www.cnblogs.com/alimy/p/9758643.html
Copyright © 2011-2022 走看看