Интерполяция методом Ньютона
> RS: =proc(A, N) > local i, j, S, P, x; > i: =0; > S: =0; > while i< =N do > P: =unapply(normal(product((x-A[j+1][1]), j=0..N)/(x-A[i+1, 1])), x); > S: =S+A[i+1, 2]/P(A[i+1, 1]); > i: =i+1; > end do; > S; > end proc: > newton: =proc(A) > local N, Nmax, L, x, i; > L: =A[1][2]; > Nmax: =`linalg/vectdim`(A); > for N from 1 to Nmax-1 do > L: =L+RS(A, N)*product(x-A[i+1][1], i=0..N-1); > end do; > unapply(collect(L, x), x); > end proc: Создаем список A > A: =[[-1, -12], [0, 0], [1, 0]]; > newton(A)(x); > Легко заметить, что этот полином полностью совпадает с построенным ранее. Построение интерполяционного многочлена по таблице для переменой x. > restart; > interp([-1, 0, 1], [-12, 0, 0], x); >
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. В чем особенность приближения таблично заданной функции методом интерполирования? 2. Как обосновывается существование и единственность интерполяционного многочлена? 3. Как связана степень интерполяционного многочлена с количеством узлов интерполяции? 4. Как строятся интерполяционные многочлены Лагранжа и Ньютона? 5. В чем особенности этих двух способов интерполяции? 6. Как производится оценка погрешности метода интерполяции многочленом Лагранжа? 7. Как используется метод интерполирования для уточнения таблиц функций? 8. В чем отличие между первой и второй интерполяционными формулами Ньютона?
|