My Project
linear.h
1 
6 #ifndef MATHS_INTERPOLATION_LINEAR_H
7 #define MATHS_INTERPOLATION_LINEAR_H
8 
9 namespace Maths
10 {
11  namespace Interpolation
12  {
16  class Linear {
17  public:
18  int size;
19 
24  Linear(int n, double *x, double *y) {
25  size = n;
26  m_x = new double[n];
27  m_y = new double[n];
28 
29  for (int i = 0; i < n; ++i) {
30  m_x[i] = x[i];
31  m_y[i] = y[i];
32  }
33 
34  }
35 
38  ~Linear() {
39 
40  delete [] m_x;
41  delete [] m_y;
42 
43  }
46  double getValue(double x) {
47  int i = 0;
48  while (x > m_x[++i] && i < size-1);
49 
50  double a = (x - m_x[i - 1]) / (m_x[i] - m_x[i - 1]);
51  return m_y[i - 1] + a * (m_y[i] - m_y[i - 1]);
52  }
53 
54  private:
55 
56  double *m_x, *m_y;
57  };
58  };
59 };
60 
61 #endif
Linear(int n, double *x, double *y)
Definition: linear.h:24
Linear interpolation of two arrays.
Definition: linear.h:16
double getValue(double x)
Definition: linear.h:46
Definition: linear.h:9
~Linear()
Definition: linear.h:38