Курсовая работа: Выбор и построение интерполирующей функции
Матрица этой тридиагональной, то есть нулю не равны только елементы главной и двух соседних диагоналей. Для ее решения можно воспользоваться любым методом, после чего надо найти bi и di из выражений (К) – (N).
Вообще-то можно рассмотреть задачу о нахождении сплайна n-й степени:
коэффициенты которого кусочно-постоянные и который в узлах интерполяции принимает значения заданной функции и непрерывный вместе со своими n-1 производными.
Практическая реализация
Программа на языке Pascal
В процессе выполнения работы мною была написана программа EITKIN на языке Pascal.
В данной программе есть два массива: одномерный массив X, в нем хранятся значения узлов интерполирования хi и двумерный массив Р, в нем хранятся значения многочленов степени не выше n, переменная z это, то значение для которого надо найти значение функции, n – количество узлов интерполирования. Все вычисления проводятся в одном встроенном цикле. Данные на экран выводятся в виде двухмерной матрицы.
Код программы:
program EITKIN;
uses wincrt, strings;
var x:array [1..60]of real;
p:array [1..60,1..60] of real;
z :real; i,j,n: integer;
begin
StrCopy(WindowTitle, 'Программа интерполяции функции по схеме Эйткина ');
clrscr;
write ('vvedite k-vo uzlov interpolirovanija n=');
readln (n);
write ('vvedite X dlja kotorogo nado najti znach func=');
readln (z);
writeln ('vvedite mas Xi');
for i:=1 to n do
begin
write ('vvedite elem X[',i,']=');
readln (x[i]);
end;
writeln ('vvedite mas Yi');
for i:=1 to n do