Generator.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. namespace _08_Interpolacja
  3. {
  4. public class Generator
  5. {
  6. Random rnd = new Random();
  7. public void Losuj_1(int n, out double[] x, out double[] y)
  8. {
  9. x = new double[n];
  10. y = new double[n];
  11. for (int i = 0; i < n; i++)
  12. {
  13. x[i] = rnd.NextDouble() * 10 - 5;
  14. y[i] = 0.12 * x[i] * x[i] - 0.3 * x[i] + 12
  15. + (rnd.NextDouble() * 5 - 2.5);
  16. }
  17. }
  18. public double[][] PolyM(double a, double b,
  19. int stopien, int licznosc)
  20. {
  21. double[] p = new double[stopien];
  22. for (int i = 0; i < stopien; i++)
  23. p[i] = (b - a) * rnd.NextDouble() + a;
  24. double[][] W = new double[2][];
  25. W[0] = new double[licznosc]; // x
  26. W[1] = new double[licznosc]; // y
  27. for (int i = 0; i < licznosc; i++)
  28. {
  29. W[0][i] = (b - a) * rnd.NextDouble() + a;
  30. W[1][i] = 1;
  31. for (int k = 0; k < stopien; k++)
  32. W[1][i] *= (W[0][i] - p[k]);
  33. }
  34. return W;
  35. }
  36. }
  37. }