Interpolacja z wykorzystaniem biblioteki Math.Net Numerics
Używane przestrzenie nazw
using MathNet.Numerics;
Powyższy kod należy umieścić w sekcji
using
programu, w przeciwnym wypadku przedstawione przykłady nie będą poprawne bez
poprzedzenia użytych nazw klas i metod przez nazwy odpowiednich przestrzeni
nazw.
Przykłady utworzenia obiektów interpolacji
var wielonianowa = Interpolate.Polynomial(punkty_t, punkty_x);
var liniowa = Interpolate.Linear(punkty_t, punkty_x);
var sklejana3 = Interpolate.CubicSpline(punkty_t, punkty_x);
Danymi dla konstruktorów są
- lista albo tablica węzłów interpolacji
punkty_t,
- lista albo tablica wartośći funkcji w węzłach
punkty_x.
Przykład deklaracji potrzebnych list
List<double> punkty_t = new List<double>();
List<double> punkty_x = new List<double>();
Dodawanie elementów do list
punkty_t.Add(x);
Przykład deklaracji tablic
double[] punkty_t = new double[N];
double[] punkty_x = new double[N];
Obliczanie wartości interpolowanej funkcji dla dowolnego argumentu
t
x = wielonianowa.Interpolate(t);
Przykład obliczania pochodnej i całkowania
if (wielonianowa.SupportsDifferentiation)
Chart1.Series[1].Points.AddXY(t, wielonianowa.Differentiate(t));
if (wielonianowa.SupportsIntegration)
{
x = wielonianowa.Integrate(t);
Chart1.Series[2].Points.AddXY(t, x);
}
|