2016-08-12 2 views
2

を解決することはできません。スクリプト(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) 
} 

スクリプトが隣の間diferenceを取得する必要がありますポイントと実際のポイント、変数の距離とストレージのモジュールを計算し、変数が返されます。しかし何らかの理由ですべての入力に対して数値(0)が得られています。私は初心者ですが、私はまだ他のトピックで解決策を見つけることができません。ディスト変数にIDXの

+1

Iは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) 
    } 
関連する問題