gpt4 book ai didi

matlab - Matlab 中的 Pearson 系数和协方差计算

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:28 24 4
gpt4 key购买 nike

我想计算Pearson's correlation coefficent在 Matlab 中(不使用 Matlab 的 corr 函数)。

简单地说,我有两个向量 A 和 B(每个向量都是 1x100),我正在尝试像这样计算 Pearson 系数:

P = cov(x, y)/std(x, 1)std(y,1)

我正在使用 Matlab 的 covstd 函数。我没有得到的是,cov 函数返回一个像这样的方阵:

corrAB =
0.8000 0.2000
0.2000 4.8000

但我希望有一个数字作为协方差,因此我可以得出一个 P( PIL 逊系数)数字。我错过了什么?

最佳答案

我认为您只是混淆了协方差和协方差矩阵,数学符号和 MATLAB 的函数输入看起来确实很相似。在数学中,cov(x,y) 表示 covariance 两个变量 xy。在 MATLAB 中,cov(x,y) 计算 covariance matrix xy。这里 cov 是一个函数,xy 是输入。

为了更清楚,让我用 C 表示协方差。 MATLAB 的 cov(x,y) 返回一个形式为

的矩阵
C_xx    C_xy
C_yx C_yy

正如 RichC 所指出的,您需要非对角线 C_xy(请注意 C_xy=C_yx 用于实变量 xy).为您提供两个变量 xy 的 Pearson 系数的 MATLAB 脚本是:

C=cov(x,y);
p=C(2)/(std(x)*std(y));

关于matlab - Matlab 中的 Pearson 系数和协方差计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5644981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com