我寫了一個代碼,用于測量距離k的意思。
所以, r 是我的資料點的陣列。我想用每個質心減少資料點的每個坐標。所以,流程就像, J 只有在 y=k 時才會改變。同時我應該繼續前進(我的號碼應該保持更新 1)。距離是二維陣列,Z 是列索引。距離是空的二維陣列,該值將被歸約結果填充,這就是為什么每次計算都應該更新 i 的值。N 是資料點的數量,k 是集群的數量。z、k 和 n 是不同的值。
我當前代碼的問題,
do i=1,z
do j=1,n
y=1
do while
y<=k
distance(1,i)=abs( r(1,j) - centroid (1,y) )
distance(2,i)=abs( r(2,j) - centroid (2,y) )
y=y 1
end do
end do
end do
問題是, i 值不會保持更新。我需要我的價值不斷增加, 1
uj5u.com熱心網友回復:
這是一個猜測,因為我仍然對你的問題感到困惑,但這就是你想要的嗎?
i = 0
do j=1,n
do y=1,k
i = i 1
distance(:,i) = abs(r(:,j)-centroid(:,y))
enddo
enddo
因此,回圈j過r陣,y過centroid陣(但僅限于k),并增加i兩個的每一種組合?
這假設distance陣列足夠大,i不會超出它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/377717.html
上一篇:用于過濾和替換例外值的回圈
