* [[Интерполяционный многочлен]]
* [[Эрмитова интерполяция]]
== ссылки ==
* Реализация на языке C# Платформа .NET
public double Nuton(double x, int n, double[] MasX, double[] MasY, double step)// x - координата, в которой необходимо вычислить значение полинома Ньютона; n - количество узлов; MasX - массив x; MasY - массив значений x; step - шаг
{
double [,] mas = new double [n+2,n+1];
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < n + 1; j++)
{
if (i == 0)
mas[i, j] = MasX[j];
else if (i == 1)
mas[i, j] = MasY[j];
}
}
int m = n;
for (int i = 2; i < n + 2; i++)
{
for (int j = 0; j < m; j++)
{
mas[i, j] = mas[i - 1, j + 1] - mas[i - 1, j];
}
m--;
}
double[] dy0 = new double[n + 1];
for (int i = 0; i < n + 1; i++)
{
dy0[i] = mas[i + 1, 0];
}
double res = dy0[0];
double[] xn = new double[n];
xn[0] = x - mas[0,0];
for(int i = 1;i<n;i++)
{
double ans = xn[i-1] * (x - mas[0,i]);
xn[i] = ans;
ans = 0;
}
int m1 =n + 1;
int fact = 1;
for (int i = 1; i < m1; i++)
{
fact = fact*i;
res = res + (dy0[i] * xn[i - 1]) / (fact * Math.Pow(step, i));
}
return res;
}[[Категория:Интерполяция]]
|