VERB_code_2.3
linear.h
Go to the documentation of this file.
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:
19  int size;
20 
25  Linear(int n, double *x, double *y) {
26  size = n;
27  m_x = new double[n];
28  m_y = new double[n];
29 
30  for (int i = 0; i < n; ++i) {
31  m_x[i] = x[i];
32  m_y[i] = y[i];
33  }
34 
35  }
36 
39  ~Linear() {
40 
41  delete [] m_x;
42  delete [] m_y;
43 
44  }
47  double getValue(double x) {
48  int i = 0;
49  while (x > m_x[++i] && i < size-1);
50 
51  double a = (x - m_x[i - 1]) / (m_x[i] - m_x[i - 1]);
52  return m_y[i - 1] + a * (m_y[i] - m_y[i - 1]);
53  }
54 
55  private:
57  double *m_x, *m_y;
58  };
59  };
60 };
61 
62 #endif
Linear(int n, double *x, double *y)
Definition: linear.h:25
Linear interpolation of two arrays.
Definition: linear.h:16
double getValue(double x)
Definition: linear.h:47
int size
size of matrix
Definition: linear.h:19
Definition: linear.h:9