matlab 皮尔逊相关系数计算代码
时间: 2023-09-02 17:12:18 浏览: 81
下面是 Matlab 中计算两个向量的皮尔逊相关系数的代码:
```matlab
function r = pearson_corr(x, y)
% 计算两个向量 x 和 y 的皮尔逊相关系数
n = length(x); % 向量长度
mean_x = mean(x); % 求 x 的平均值
mean_y = mean(y); % 求 y 的平均值
std_x = std(x); % 求 x 的标准差
std_y = std(y); % 求 y 的标准差
% 计算皮尔逊相关系数
r = sum((x-mean_x).*(y-mean_y)) / (std_x*std_y*(n-1));
end
```
使用方法:将两个向量作为参数传入函数 `pearson_corr(x, y)` 即可计算它们的皮尔逊相关系数。例如:
```matlab
x = [1, 2, 3, 4, 5];
y = [2, 3, 4, 5, 6];
r = pearson_corr(x, y);
disp(r);
```
输出结果为:`1.0000`,即两个向量完全正相关。
相关问题
matlab计算皮尔逊相关系数的代码
要计算MATLAB中的皮尔逊相关系数,可以使用corr函数。下面是一个示例代码:
a = [0.6; 0.9; 0.78; 0.28; 0.44; 0.40; 0.69; 0.94; 0.45];
b = [31.46; 26.75; 32.08; 26.38; 29.75; 27.57; 28.56; 27.67; 28.18];
coeff = corr(a, b, 'type', 'Pearson'); %
这段代码中,a和b分别是两个向量,代表了数据的两个维度。corr函数用于计算这两个向量的相关系数。'type'参数指定了相关系数的类型,这里使用'Pearson'表示计算皮尔逊相关系数。计算结果存储在变量coeff中。
参考文献:
Pearson correlation coefficient in MATLAB. https://www.mathworks.com/matlabcentral/answers/249245-pearson-correlation-coefficient
用matlab编写皮尔逊相关系数计算
你可以使用MATLAB编写皮尔逊相关系数的计算。皮尔逊相关系数是用来衡量两个变量之间线性相关程度的统计量。以下是一个简单的示例代码:
```matlab
% 定义两个变量
x = [1, 2, 3, 4, 5];
y = [2, 4, 6, 8, 10];
% 计算平均值
mean_x = mean(x);
mean_y = mean(y);
% 计算标准差
std_x = std(x);
std_y = std(y);
% 计算协方差
cov_xy = cov(x, y);
% 计算皮尔逊相关系数
pearson_coefficient = cov_xy(1, 2) / (std_x * std_y);
% 显示结果
disp("皮尔逊相关系数: " + pearson_coefficient);
```
这段代码中,我们首先定义了两个变量 `x` 和 `y`,然后计算了它们的平均值和标准差。接下来,使用 `cov` 函数计算了变量 `x` 和 `y` 的协方差,并根据皮尔逊相关系数的定义,通过除以标准差的乘积得到最终的皮尔逊相关系数。
运行以上代码,你将得到输出结果为:
```
皮尔逊相关系数: 1
```
这表明变量 `x` 和 `y` 是完全正相关的。你可以根据需要修改变量 `x` 和 `y` 的值,以及其他计算相关统计量的方法。