ЛР3_Дядина Валентин

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ


«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

Кафедра комп’ютерної математики і аналізу даних

ЗВІТ

про виконання лабораторної роботи №3 за темою


«ІНТЕРПОЛЯЦІЯ ФУНКЦІЙ»
з дисципліни «Методи та засоби обчислювальної математики»

Варіант 6

Виконав студент групи КН-322б Валентин


ДЯДИНА

Перевірила доцентка кафедри КМАД


Галина ГОЛОТАЙСТРОВА

Харків
НТУ «ХПІ»
2024
2
ВСТУП
Розрахунки та обчислення в сучасному світі стали невід'ємною
складовою багатьох процесів та досліджень у різних галузях науки та
техніки. Вони допомагають в розв'язанні складних завдань, проведенні
експериментів, аналізі даних та прийнятті рішень. Однак, незважаючи на те,
що обчислювальні методи стають все більш потужними і точними, вони
також супроводжуються певним ризиком появи помилок.
Мета роботи — створити програмний продукт для визначення
коренів системи алгебраїчних рівнянь.
Для досягенння мети потрібно виконати насткпні задачі:
1. Дослідити предметну область (роглянути існуючі методи
розв’язання задач);
2. Створити математичну модель;
3. Підібрати алгоритм на основі досліджених методів;
4. Розробити програмний продукт.
3
1 ІНТЕРПОЛЯЦІЯ ФУНКЦІЙ

1.1 Завдання
Для заданих варіантів значень функції f ( x ) в певних точках провести її
інтерполяцію методами:
– побудови полінома, який однозначно визначається цими точками;
– Ньютона;
– Лагранжа.
Значення функції f ( x ) для заданого варіанта подані у табл. 3.1.
Таблиця 3.1 – Значення функції f ( x ) в певних точках
x 0 0.5 1 2 3.5 4 6
f (x) 7.382 9.271 23.744 34.561 22.128 14.795 15.345

1.2 Методи інтерполяції функцій

У загальному випадку значення функції f ( x ) умовно можуть бути


подані у табл. 3.2.
Таблиця 3.2 – Значення функції f ( x ) у загальному випадку
x x0 x1 … xi … x n−1 xn
f (x) y0 y1 … yi … y n−1 yn

1.2.1 Поліноміальна інтерполяція


Інтерполяційну функцію шукають у вигляді інтерполяційного полінома
n n−1
P ( x )=a n x +an−1 x + …+a1 x+ a0
Значення інтерполяційного полінома P ( x ) у певних точках мають
дорівнювати значенням функції f ( x ) , що подані у табл. 3.2. Це призводить до
системи лінійних рівнянь для коефіцієнтів полінома P ( x ):
4

{
n n−1
an x 0 + an−1 x0 +…+ a1 x0 + a0= y 0

n n−1
a n x i +an −1 x i +…+ a1 xi + a0= y i

n n−1
an x n + an−1 x n +…+ a1 xn + a0= y n

1.2.2 Інтерполяційний поліном Ньютона


Інтерполяційну функцію шукають у вигляді інтерполяційного полінома
N ( x )=a 0+ a1 ( x−x 0 ) +a2 ( x−x 0 ) ( x−x 1 ) +…+a n ( x −x 0 )( x −x1 ) … ( x−x n−1 )

Значення інтерполяційного полінома N ( x ) у певних точках мають


дорівнювати значенням функції f ( x ) , що подані у табл. 3.2. Це призводить до
системи лінійних рівнянь для коефіцієнтів полінома N ( x ) з верхньою
трикутною матрицею такого виду:

{
a0 + a1 ( x n−x 0 ) + a2 ( x n−x 0 )( xn −x 1) + …+a n ( x n−x 0 ) ( x n−x 1 ) … ( x n−x n−1 )= y n

a0 +a1 ( x i−x 0 ) +a 2 ( x i−x 0 ) ( x i−x 1 )+ …+a i ( x i−x 0 ) ( x i−x 1 ) … ( xi −x i−1 ) = y i

a 0= y 0

1.2.3 Інтерполяційний поліном Лагранжа


Інтерполяційну функцію шукають у вигляді інтерполяційного полінома

L ( x ) =L0 ( x ) + L1 ( x ) +…+ Li ( x ) +…+ Ln−1 ( x ) + Ln ( x ),

де
( x −x 0 )( x −x1 ) … ( x−x i−1 ) ( x−x i+1 ) … ( x−x n−1 )( x−x n )
Li ( x ) = y i
( x i−x 0 ) ( xi −x1 ) … ( x i−x i−1 ) ( x i−x i+1 ) … ( x i−x n−1) ( x i−x n )

Очевидно, що за побудовою

Li ( x ) =
{ y i , якщоx =xi
0 , якщоx =x k , k ≠ i
5
Тому значення інтерполяційного полінома L ( x ) у певних точках
дорівнюють значенням функції f ( x ) , що подані у табл. 3.2.
Отже, для визначення інтерполяційного полінома Лагранжа не треба
складати та розв’язувати систему лінійних рівнянь, як у попередніх двох
методах.

1.3 Код програми


Методи обчислення поліному реалізовано у коді програми мовою
Python
6

Рисунок 1.1 – Код програми


1.4 Тестування програми
Результати роботи програми подано на рис. 1.2.
7

Рисунок 1.2 – Результати роботи програми

Необхідно перевірити, що отриманий в результаті роботи програми


інтерполяційний поліном в заданих точках приймає задані значення (табл. 3.1).

Результати перевірки інтерполяційного полінома засобами сервісу


WolframAlpha (https://www.wolframalpha.com/) показано на рис. 1.3

Рис 1.3. Результати перевірки інтерполяційного полінома засобами сервісу


WolframAlpha
8
Необхідно також перевірити, що отриманий в результаті роботи програми
інтерполяційний поліном Ньютона в заданих точках приймає задані значення
(табл. 3.1).

Результати перевірки інтерполяційного полінома Ньютона засобами сервісу


Wolfram Cloud (https://www.wolframcloud.com/) показано на рис. 1.4

Рис 1.4. Результати перевірки полінома Ньютона засобами сервісу


WolframAlpha

Необхідно також перевірити, що отриманий в результаті роботи програми


інтерполяційний поліном Лагранжа в заданих точках приймає задані значення
(табл. 3.1).

Результати перевірки інтерполяційного полінома Лагранжа засобами сервісу


Wolfram Cloud (https://www.wolframcloud.com/) показано на рис. 1.5.

Рис 1.5. Результати перевірки полінома Лагранжа засобами сервісу


WolframAlpha

Отже, для заданих вхідних даних програма видає вірні результати.


9
ВИСНОВКИ
У процесі роботи було реалізовано побудовe полінома, який
однозначно визначається цими точками; Ньютона;Лагранжа.

You might also like