我是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));
我认为可以通过循环来解决这个问题。有人可以帮忙解决这个问题吗? 谢谢
答案 0 :(得分:1)
[R,P] = corrcoef(A)
其中A
是100x4矩阵,将给出4x4相关矩阵。
换句话说,列组合已包含在corrcoef函数中。您可以使用常规索引访问配对比较:
R(3,4)
表示第(3,4)列系数。