Вы находитесь на странице: 1из 10

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ

КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ


Ордена Трудового Красного Знамени федеральное государственное
бюджетное
Образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
МТУСИ

ЛАБОРАТОРНАЯ РАБОТА Nº01


По дисциплине
Численные методы
На Тему: «Интерполяция функций»

Выполнил студент гр. БИК1901


Пэдру Хелк
Принял- Ст. преподаватель
Мацкевич А.Г.

Москва 2021
1.2. Общее Задание

1. Выбрать из таблицы 1–1 индивидуальное задание для интерполяции:


 точку интерполяции x=a для интерполяции полиномом Ньютона;
 точку интерполяции x=b для интерполяции полиномом Лагранжа;
2. Выполнить вручную интерполяцию в заданной точке x=a с
использованием полинома Ньютона 1–й, 2–й и 3–й степени:
 выбрать из таблицы 1–2 с интерполируемой функцией четыре
подходящих узла. Перенумеровать узлы и занести перенумерованные
узлы в таблицы вида 1–3.
 заполнить таблицу конечных разностей (для интерполяционной
формулы Ньютона);
 записать интерполяционные формулы для 1, 2 и 3-ей степени
полинома;
 выполнить расчеты по интерполяционным формулам для каждой
степени полинома; все промежуточные вычисления производить с
сохранением всех значащих цифр, окончательные результаты
округлять до 4 знаков после десятичной точки.
 занести полученные результаты в таблицу вида 1–4;
 вычислить оценки погрешности в точке а для полиномов различных
степеней и занести их в таблицу 1-4.
3. Выполнить вручную интерполяцию в заданной точке x=b с
использованием полинома Лагранжа 1–й, 2–й b3–й степени:
 выбрать из таблицы 2–2 с интерполируемой функцией четыре
подходящих узла. Перенумеровать узлы и занести
перенумерованные узлы в таблицы вида 1–3.
 записать интерполяционные формулы для 1, 2 и 3-ей степени
полинома;
 выполнить расчеты по интерполяционным формулам для каждой
степени полинома; все промежуточные вычисления производить с
сохранением всех значащих цифр, окончательные результаты
округлять до 4 знаков после десятичной точки.
 занести полученные результаты в таблицу вида 1–4;
 вычислить оценки погрешности в точке b для полиномов различных
степеней и занести их в таблицу 1-5.
4. Решить задачу интерполяции в точке с точностью 0.0001 на
компьютере.
5. Объяснить полученные результаты и сделать выводы.
1.3. Варианты задания для ручного расчета и таблица интерполируемой
функции

Полином Полином
№ варианта Ньютона x=a Лагранжа x=b

16 0.37 0.17

Значение Значение
№ узла аргумента xi функции yi

16 0.85 -1.4630
1.4. Выполнения задания
Точка интерполяции для формулы Ньютона x=a = 0.37
x 0.35 0.40 0.45 0,50
y -3.7555 -3.6320 -3.4890 -3.325

Используем 1-ю формулу Ньютона. Выберем:

x0=0.35, x1=0.40, x2=0.45, x3=-3.325


Ручной расчет по 1–й формуле Ньютона.
Построим таблицу конечных разностей:

x y Δy Δ^2 y Δ^3 y
0.35 -3.7555 0,1235 0,0195 0,0045
0.40 -3.6320 0,1430 0,0210
0.45 -3.4890 0,1640
0,50 -3.325

Определим значение q:
a−x0 0.37−0.3 5
q= = =0 .4
h 0.05

Значение полинома 1-й степени в т. x=0.37

P1 ( x )= y 0+ ∆ y 0 q=−3.7555+0,1 235∙ 0 .4=−3.7 061

Значение полинома 2-й степени


q(q−1)
P2 ( x ) = y 0+ ∆ y 0 q+ ∆2 y 0 =−3.7 084 4
2
q(q−1) 3 q (q−1)(q−2)
P3 ( x ) = y 0+ ∆ y 0 q+ ∆2 y 0 + ∆ y0 =−3.708 152
2 6

R1 ( x ) =|( 0.4∗(−0.6) )
2 |
∗0,01 95 = 0.00234

|(
R2 ( x ) =
0.4∗(−0.6 )∗(−1.6) )
6 |
∗0,0045 = 0.00 0288
Практическая погрешность оценивается соотношением:
e1 = |Р2(х) - Р1(х)|=| -3.70844+3.7061|=0.00234.
e2 = |Р3(х) – Р2(х)|=| -3.708152+3.70844|=0.000288.

Степень Pk(x) Оценка


многочлен погрешности
аk
1 −3.7061 0.0023 4
2 −3.70844 0,000288
3 −3.708152 ---
1.5. Ручная работа
Здесь всё правильно
Ниже приведён код Scilab:
// Линейная интерполяция.

x=[0.35 0.40]; y=[-3.7555 -3.6320]; z=[x;y]; a=[0;0];

funcprot(0)

function [zr]=R(a, z)

zr=z(2)-a(1)-a(2)*z(1)

endfunction

disp 'Линейная интерполяция';

a=datafit(R,z,a)

deff('y=i1(x)','y=-4.62+2.47*x');

i1(0.37)

disp(i1(0.37))

//Квадратичная интерполяция

funcprot(0)

x=[0.35 0.40 0.45]; y=[-3.7555 -3.6320 -3.4890]; z=[x;y]; a=[0;0;0];

function [zr2]=R(a, z)

zr2=z(2)-a(1)-a(2)*z(1)-a(3)*z(1)^2

endfunction

disp 'Квадратичная интерполяция';

a=datafit(R,z,a)

deff('y=i2(x)','y=-4.074-0.455*x+3.9*x^2');

i2(0.37)

disp(i2(0.37))

//Кубическая интерполяция

funcprot(0)

x=[0.35 0.40 0.45 0.50]; y=[-3.7555 -3.6320 -3.4890 -3.3350]; z=[x;y];

a=[0;0;0;0];

function [zr3]=R(a, z)

zr3=z(2)-a(1)-a(2)*z(1)-a(3)*z(1)^2-a(4)*z(1)^3

endfunction

disp 'Кубическая интерполяция';

a=datafit(R,z,a)

deff('y=i3(x)','y=-4.5101+0.14325*x-3.54*x^2+0.3*x^3');

i3(0.37)

disp(i3(0.37))
Вывод:
Полученные выражения полиномов 1, 2 и 3-ей степени , а также их значения
в заданной точке a=0.37 из ручной работы совпадают с scilab

Вам также может понравиться