我想在我的脚本中包含一个循环,它找到数据的每个可能组合的相关性。这可以手动将下面的代码来完成:遍历所有可能的组合
clear all
%generate fake data
LName={'Name1','Name2','Name3'};
Data={rand(12,1),rand(12,1),rand(12,1)};
%place in a structure
d = [LName;Data];
Data = struct(d{:});
%find the correlation
[R,P] = corrcoef(Data.Name1,Data.Name2);
[R2,P2] = corrcoef(Data.Name1,Data.Name3);
[R3,P3] = corrcoef(Data.Name2,Data.Name3);
不过,我想这样做在一个循环中,我已经开始,但在第一关都失败了。我试图循环,不工作如下:
SNames=fieldnames(Data);
for i=1:numel(SNames);
[R{i},P{i}] = corrcoef(Data.(SNames{i}),Data.(SNames{i+1}));
end
我挣扎于知道如何通过值与每次迭代的不同组合告诉MATLAB循环。
提供的任何帮助将不胜感激。
完美。但是,为了将来的参考,可以不同地使用线对= combnk(1:3,2),即如果您想查找3个元素之间的相关性,您可以将此线更改为pairs = combnk(1:3,3)?感谢您的帮助 – user1053544 2012-01-11 16:07:58
只有拥有统计工具箱 – 2012-01-11 16:11:59
yes,但是从3种可能的索引中挑选3个元素只有一种可能性(1,2,3),这才会起作用。而且,三个元素之间的相关性是什么......? – 2012-01-12 09:04:17