2016-08-12 65 views
2

我做了一個腳本來計算線路在笛卡爾的矩陣組成的座標點:腳本中的R返回的數字(0),我解決不了

# Line Integral (Discrete) 
# Input dataSet(as a matrix) 
LineInt <- function(dataSet) 
{ 
    Dist = 0; 
    L = nrow(dataSet) 
    for (idx in 1: L - 1) 
    { 
        Dist = Dist + ( ((dataSet[idx + 1, 1] - dataSet[idx ,1])^2) + ((dataSet[idx + 1, 2] - dataSet[idx, 2])^2) )^(1/2) 
    } 
    return(Dist) 
} 

腳本只需要得到下一之間的性差異點和實際點,計算一個變量的距離和存儲模塊,然後返回該變量。但由於某種原因,我得到所有輸入的數字(0)。我是一名初學者,但仍無法在其他主題中找到解決方案。 IDX到DIST變量

+1

我會建議使用R代碼風格(< - 無;等),也有一些示例數據會提供一個可重複的例子是有用的。 – drmariod

+4

使用括號,如'1:(L-1)' – Frank

回答

0

索引應該做的,希望你可以得到解決

LineInt <- function(dataSet) 
    { 
     Dist = 0; 
     L = nrow(dataSet) 
     for (idx in 1: (L - 1)) 
     { 
      Dist[idx] = Dist + ( ((dataSet[idx + 1, 1] - dataSet[idx ,1])^2) + ((dataSet[idx + 1, 2] - dataSet[idx, 2])^2) )^(1/2) 
     } 
     return(Dist) 
    }