我想在我的腳本中包含一個循環,它找到數據的每個可能組合的相關性。這可以手動將下面的代碼來完成:遍歷所有可能的組合
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