Interpolacja różniczkowanie i całkowanie różnymi metodami
Interpolowana jest funkcja f(x) =
Dostępne funkcje Sin, Cos, Exp, Asin,
Acos, Tan, Atan, Exp, Log10, ...
i stała pi = 3,141592653589793
W przedziale od a =
do b =
funkcja f(x) jest próbowana w N =
równoodległych węzłach.
Następnie funkcja jest interpolowana na podstawie próbek wybraną poniżej metodą.
Wartość całki funkcji f(x) w przedziale od a do b =
metoda nie liczy całki
.
Wykonać
własny program wzorując się na powyższym
Program powinien zawierać
- Próbkowanie
funkcji f(x) w przedziale od a do b, próbki umieścić na
wykresie.
- Interpolację wybranymi metodami na podstawie próbek, wynik przedstawić na wykresie.
- Obliczenie 1. i 2. pochodnej oraz całki, wyniki przedstawić na wykresie.
Do obliczania wartości funkcji f(x) wykorzystać bibliotekę
NCalc, a do interpolacji bibliotekę
MathNet Numerics.
Przykład próbkowania
double h = (b - a) / (N - 1);//
Odległość między węzłami
double[] X = new double[N]; // Węzły
interpolacji
double[] Y = new double[N]; // Próbki
funkcji w węzłach
Expression funkcja = new Expression(TextBox1.Text);
// Obiekt z biblioteki NCalc;
for (int n = 0; n < N; n++)
{
X[n] = a + n * h;
funkcja.Parameters["x"] = X[n];
Y[n] = (double)funkcja.Evaluate();
}
Tworzenie obiektu interpolacji
var Interpol
= Interpolate.Polynomial(X, Y);
Wykorzystanie obiektu interpolacjipolacji
Interpolacja:
Interpol.Interpolate(x),
obliczenie 1. pochodnej:
Interpol.Differentiate(x),
obliczenie 1. pochodnej:
Interpol.Differentiate2(x),
obliczenie całki oznaczonej
w granicach od a do x:
Interpol.Integrate(x).
Zbadać różne metody interpolacji na przykładzie różnych funkcji, w tym exp(x) i
sin(x).
|