2012-05-03 58 views
0

請幫助我用C#實現數學公式嗎?在這裏它是:與數學公式的實現相混淆

R(T)=Σ((X [I] -M)*(X [I + T] -M))

Σ推移從i = 0到Nt個

M = const,t = [0,...,n],x是隨機數據的向量。

我的實現不正確,我不知道錯誤在哪裏(我知道,我希望你爲我做,但我沒有其他人要求幫助(你的幫助!將是非常讚賞謝謝

有我的代碼:

  for (int i = 0; i < tvect.Lenght; i++) 
     { 
      sum[i] = 0; 
      t = tvect[i]; 
      for (int j = 0; j < (N - t); j++) 
      { 
       sum[i] = sum[i] + (data[j] - M) * (data[j + t] - M); 
      } 
     } 
+0

你有什麼到目前爲止 –

回答

1
float[] R(int[] t) 
{ 
    float[] sum = new float[t.length]; 
    for (j=0;j<t.length;j++) 
    { 
    sum[j] = 0; 
    for (int i=0; i<N-t[j]; i++) 
    { 
     sum[j] += (x[i]-M)*(x[i+t[j]]-M); 
    } 
    } 
    return sum; 
} 
+0

我也這麼認爲......但是'T = [0? ,...,n]'來自OP – kaveman

+0

t是一個參數tha t必須在這個範圍內......我有那麼多的不足 – Blau

+0

謝謝,但t是一個向量......它就像t包含x座標,我需要通過這個公式計算y座標。 – Jane

0
float sum = 0.0; 
for(int j = 0; j < t.Length; j++) { 
    for(int i = 0; i < N - t[j]; i++) { 
     sum += (x[i]-M)*(x[i+t[j]]-M); 
    } 
} 
+0

非常感謝!這和我所做的幾乎一樣,爲什麼它不正確?我需要再次仔細檢查一下...... – Jane