查找矩阵中所有组合列的`corrcoef`计算

时间:2016-01-11 08:30:02

标签: matlab loops for-loop matrix

我是MATLAB的新手。我很困惑地比较矩阵中所有可能的组合列。假设我有一个输入数据作为矩阵100x4。我想用 corrcoef 函数(内置在matlab中)比较所有列并保存结果。因此,总组合将为N *(N-1)/ 2。

clc
clear all
close all

load input;
% data will be a matrix with 100x4
[N,nu] = size(input);
R1_2 = corrcoef(input(:,1),input(:,2));
R1_3 = corrcoef(input(:,1),input(:,3));
R1_4 = corrcoef(input(:,1),input(:,4));
R2_3 = corrcoef(input(:,2),input(:,3));
R2_4 = corrcoef(input(:,2),input(:,4));
R3_4 = corrcoef(input(:,3),input(:,4));

我认为可以通过循环来解决这个问题。有人可以帮忙解决这个问题吗? 谢谢

1 个答案:

答案 0 :(得分:1)

[R,P] = corrcoef(A)其中A是100x4矩阵,将给出4x4相关矩阵。

换句话说,列组合已包含在corrcoef函数中。您可以使用常规索引访问配对比较:

R(3,4)表示第(3,4)列系数。