首页 > 编程笔记 > MATLAB笔记 阅读:22

MATLAB cov()和corrcoef()函数的用法(附带实例)

MATLAB 中计算协方差的函数为 cov(),其调用格式及说明如下表所示:

表:cov() 函数调用格式及说明
调用格式 说明
C = cov(A) A 为向量时,计算其方差;A 为矩阵时,计算其协方差矩阵,其中协方差矩阵的对角元素是 A 矩阵的列向量的方差,按观测值数量 -1 实现归一化
C = cov(A,B) 返回两个随机变量 A 和 B 之间的协方差
C = cov(...,w) 为之前的任何语法指定归一化权重。如果 w = 0(默认值),则 C 按观测值数量 -1 实现归一化;w = 1 时,按观测值数量对它实现归一化
C = cov(...,nanflag) 指定一个条件,用于在之前的任何语法的计算中忽略 NaN 值

MATLAB 中计算相关系数的函数为 corrcoef(),其调用格式及说明如下表所示:

表:corrcoef()函数调用格式及说明
调用格式 说明
R = corrcoef(A) 返回 A 的相关系数的矩阵,其中 A 的列表示随机变量,行表示观测值
R = corrcoef(A,B) 返回两个随机变量 A 和 B 之间的相关系数矩阵 R
[R,P] = corrcoef(…) 返回相关系数的矩阵和 p 值矩阵,用于测试观测到的现象之间没有关系的假设
[R,P,RLO,RUP] = corrcoef(…) RLO、RUP 分别是相关系数 95% 置信度的估计区间上、下限。如果 R 包含复数元素,此语法无效
corrcoef(...,Name,Value) 在上述语法的基础上,通过一个或多个名称-值对组参数指定其他选项

【实例】求解如下矩阵的协方差和相关系数。


在 MATLAB 命令行窗口输入以下命令:
>> close all                      % 关闭当前已打开的文件
>> clear                          % 清除工作区的变量
>> A = [-1 1 2 ; -2 3 1 ; 4 0 3]; % 输入矩阵A
>> cov(A)                         % 计算A的协方差
ans =
   10.3333   -4.1667    3.0000
   -4.1667    2.3333   -1.5000
    3.0000   -1.5000    1.0000
>> corrcoef(A)                    % 计算A的相关系数
ans =
    1.0000   -0.8486    0.9333
   -0.8486    1.0000   -0.9820
    0.9333   -0.9820    1.0000

相关文章