Курсовая работа: Вычислительная техника и программирование
Null(Number,Temp);
For i:=2 To Number Do
Begin
Recover(Number+1,i-1,Temp,Mat_x);
c:=Div_Res(1,i,Mat_x,Mat_f); {Значение разделенной разности 1 и i-го узлов}
For j:=1 To i Do
Result[j]:=c*Temp[j]+Result[j];
End;
Result[1]:=Result[1]+Mat_f[1];
Print_Polinom(Number,Result)
End;{Nuton}
Begin{Main}
Null(Max_Num_Usel,X);
Null(Max_Num_Usel,F); {Начальное обнуление матриц}
Vvod(X,F,Max);
Nuton(Max,X,F);
End.{Main}
3. Пример работы программы
Чтобы проверить правильно ли у нас строится полином Ньютона, разложим какую-нибудь известную функцию. Например, y=sin(x) на интервале Х от 0.1 до 0.9. Полином будем строить по 5 точкам (шаг 0.2). Данные в программу вводим согласно таблице 1.
Таблица 1. Исходные значения для программы.
x | y(x) |
0.1 | 0.0998 |
0.3 | 0.2955 |
0.5 | 0.4794 |
0.7 | 0.6442 |
0.9 | 0.7833 |
На инженерном калькуляторе вычисляем Sin(0.4)= 0.3894
Результаты работы программы:
Построение интерполяционного полинома Ньютона по значениям функции в узлах
Введите кол-во узлов интерполяции (0<N<20): 5
Значения узлов не должны сопадать
Введите значения узлов и значения функций в них:
X(0)=0.1 Y( 0.10)=0.0998
X(1)=0.3 Y( 0.30)=0.2955
X(2)=0.5 Y( 0.50)=0.4794