Курсовая работа: Интерполяция функции одной переменной методом Ньютона
lp:clrscr;
writeln('Введите количество узлов n (N=n+1)');
read(n);
Enter(X,y);
Print(n,X,y);
repeat
lt:Writeln('BbBedite X (ot ',x[0]:4:2,' do ',x[n]:4:2,')');
read(d);
if d<x[0] then begin
writeln('Ошибка. xне может быть меньше ',x[0]:4:2);
goto lt; end;
if d>x[n] then begin
writeln('Ошибка. x не может быть больше ',x[n]:4:2);
goto lt; end;
writeln(Polinom (n,d,X,y):6:3);
writeln('Найти значения для другой точки X?(ДА-1,НЕТ-0)');
read(f)
until f=0;
Grafik(n,D,X,Y,l);
readkey;
CloseGraph;
clrscr;
writeln('Повторить для другой функции? (Да-1,Нет-0)');
read(f);
if f=1 then goto lp else end.
Исходные данные и результат решения контрольного примера
0 | 1 | 2 | 3 | 4 | |
0 | 0.5 | 0.866 | 1 | 0.866 |
Вычислим значение таблично заданной функции в точке x=1.5
Ми получили значение 0.707 которое мало отличается от точного значения
.
Заключение
В курсовой работе я рассмотрел только первую формулу полинома Ньютона, которая используется вблизи начала таблицы. Интерполяционный полином в форме Ньютона удобно использовать, если точка интерполирования находится вблизи начала таблицы. Этот полином интересен тем, что каждая частичная сумма первых m слагаемых есть интерполяционный полином m-1 степени, построенный по m первым табличным точкам. Поэтому интерполяционные полиномы Ньютона удобно использовать при последовательном увеличении степени интерполяционного многочлена.
К недостатку формулы Ньютона можно отнести то, что при вычислениях в таблице с постоянным шагом при увеличении количества узлов не всегда удается добиться повышения точности вычислений. Это обусловлено тем, что равноотстоящие узлы не являются лучшими с точки зрения уменьшения погрешности интерполирования. Если имеется возможности выбора узлов интерполирования, то их следует выбирать так, чтобы обеспечить минимум погрешности интерполяции.