所以我正在使用稀疏矩陣,我必須找出有關非常大的(10^6大小)的不同信息,我需要找出outlink的平均值。爲了確保我認爲平均值是你從3 + 4 + 5/3 = 4得到的,4是平均值。稀疏矩陣的outlinks的均值
我認爲是這樣的:
[row,col] = find(A(:,2),1,'first')
,然後我會做1/numberInThatIndex或類似的東西,因爲它是一個S-矩陣(很肯定這就是所謂的那個)。
而且我會逐列迭代,但由於某種原因,如果我找到(A(:,1),1,'first'),它不會給我第一個數字在每一列中。在第一列中,但不在第二列中,如果我將其更改爲A(:,2)。
我也需要一些東西來存儲該索引來訪問值,我想到了一個2xN向量,但我想這不是最好的主意。我的意思是,find會給我索引,但我需要索引中的值,然後存儲或顯示它。不知道我是否正確地解釋自己,但我正在努力,對此感到抱歉。
只是要清楚,當我輸入A(:,1)和A(:,2)它給我從第一列索引,我不想這樣,我想要從每列找到第一個元素,所以我可以從該指數中的數字中計算平均值。
編輯:好吧好像確實有效,但是當我檢查結果時,我將3817而不是3871作爲給定的答案,所以當我想要一個不是零的東西時,我找到了0。不知道是否應該刪除所有這些。
* outlink *是什麼意思?你想計算每列的平均值嗎? – knedlsepp
我不明白你的問題。如果您沒有找到解決方案,請嘗試使用小示例解釋您要實現的內容以及您期望的輸出。 – Daniel
Outlink是給予矩陣中某個索引值的...名稱。由於它大部分爲0,如果A(652,1)不爲零,則意味着該頁面引用的頁面數量是每個列的頁面。因此,如果列1有5個outlinks,則每個列的值都是0.2,這意味着它指向5個其他頁面。這不是每列的平均值,而是我猜測的所有列的平均值。但不是每列的總和,因爲我知道給我的值爲1(它有5個值爲0.2,所有總和爲1.0) – keont