Advertisement
linaere

Untitled

Oct 15th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. static public RegressionData polinomialAutoRegression(double[,] X, double[] Y)
  2. {
  3. RegressionData data = new RegressionData(X, Y);
  4. double[,] XData = new double[(X.Length / Y.Length)*3-2, Y.Length];
  5. double[] YData = new double[Y.Length];
  6. int k = 1;
  7. for (int j = 0; j < Y.Length; j++)
  8. {
  9. XData[0, j] = X[0, j];
  10. YData[j] = Y[j];
  11.  
  12. }
  13. for (int i = 1; i < X.Length / Y.Length; i++)
  14. {
  15. for (int j = 0; j < Y.Length; j++)
  16. {
  17. XData[k, j] = X[i, j];
  18. XData[k + 1, j] = Math.Pow(X[i, j], 2);
  19. XData[k + 2, j] = Math.Pow(X[i, j], 3);
  20. }
  21. k += 3;
  22. }
  23.  
  24. data = baseRegression(XData, YData);
  25. int s = 1;
  26. for (int i = 0; i < data.Y.Length; i++)
  27. {
  28. data.Y[i] = data.Koef[0];
  29.  
  30. }
  31.  
  32. for (int i = 1; i < X.Length / Y.Length; i++)
  33. {
  34. for (int j = 0; j < Y.Length ; j++)
  35. {
  36. data.Y[j] += data.Koef[s] * (X[i, j]) + data.Koef[s + 1] * Math.Pow((X[i, j]), 2) + data.Koef[s + 2] * Math.Pow((X[i, j]), 3);
  37. }
  38. s += 3;
  39. }
  40. return data;
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement