2017-06-06 221 views
1

I的子集有一個稱爲中號一個200×200鄰接矩陣。這是爲200個節點的連接強度(節點編號爲1至200和M在升序順序組織 - 即,M(23,45)爲節點23和45的連接強度)。在這200個節點中,我對三個節點子集感興趣。索引鄰接矩陣

subset1 = [2,34,36,42,69,102,187]; 
subset2 = [5,11,28,89,107,199]; 
subset3 = [7,55,60,188]; 

使用中號,我想進行以下操作:內SUBSET1

  1. 連接強度平均,SUBSET2,並subset3,分別。例如,對於SUBSET1,這將是對所有可能的節點2,34,26的平均連接,...,187

  2. 查找之間SUBSET1的連接強度,SUBSET2,和subset3。這將是連接強度的節點的所有對跨越三個子集的所有可能的對之間的平均(SUBSET1 & SUBSET2之間的連接的平均,SUBSET2 & subset3,和SUBSET1 & subset3)。請注意,這個連接之間並不等於把所有的節點從三個子集爲一個矩陣(例如,兩個子集之間的連接是一個子集其他子集的每個節點的平均連接與每個節點)。

什麼我試過到目前爲止使用for循環被索引中號。這是龐大的,特別是當我在每個子集中有大量的節點時。有人可以幫忙嗎?

回答

0
M1 = M(subset1, subset1); 
ind = triu(true(size(M1)), 1); % upper triangle 
M1_avg = mean(M1(ind)); 

我會離開M2_avg和M1_M2_avg給你。

+0

謝謝你,祥瑞李。平均之內的作品完美。我採取了for循環爲我的平均之間。 –