DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Дослідження похибки інтерполяції функцій многочленом Ньютона

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут прикладної математики та фундаментальних наук
Факультет:
Прикладна математика
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи
Група:
ПМ-21
Коротко про документ

Про що ця робота

У роботі досліджено похибку інтерполяції функцій за допомогою многочлена Ньютона. Практичну частину реалізовано з використанням пакету Maple та мови програмування C++.

У роботі розглядаються

  • Чисельні методи
  • Інтерполяція функцій
  • Многочлен Ньютона
  • Похибка інтерполяції
  • Розділені різниці
  • Програмування на C++
  • Пакет Maple

Зміст і розділи

  1. Завдання
  2. Короткі теоретичні відомості
  3. Знаходження аналітичного виразу залишкового члена
  4. Побудова інтерполяційного многочлена Ньютона
  5. Висновок
Для кого:Студенти технічних та математичних спеціальностей закладів вищої освіти.
Викладачі:Викладач кафедри

Ключові поняття

многочлен Ньютонаінтерполяціяпохибка інтерполяціїзалишковий членрозділені різницірівномірна сіткаMapleC++схема Горнера

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Лабораторна робота №3 Тема: «Дослідження похибки інтерполяції функцій многочленом Ньютона» з курсу чисельні методи 1 Завдання: Для функції  заданої на рівномірній сітці в точках  на інтервалі  знайти аналітичний вираз залишкового члена інтерполяційного многочлена; обчислити йогомаксимальне значення і значення в точках ; побудувати інтерполяційний многочлен Ньютона через розділені різниці; обчислити похибки інтерполяції у точках  і порівняти їх із значеннями залишкового члена. N      2  4 0    Короткі теоретичні відомості Замінюючи функцію  інтерполяційним многочленом , ми припускаємо похибку , яка називається похибкою інтерполяції або, що те ж саме, залишковим членом інтерполяційної формули. Ясно, що у вузлах інтерполяції ця похибка дорівнює нулю. Похибку інтерполяції можна подати у вигляді , де  і залежить від x. Звідси випливає оцінка , де , . 1. і 2. Знаходження аналітичного виразу залишкового члена інтерполяційного многочлена і обчислення його максимального значення і значення в точках  за допомогою пакету Maple 12. > / > / / > / / > / / > / / > / / > / / > / / > / / > / / > / / > / / > / / аналітичний вигляд многочлена > / / його максимальне значення > / x’ / > / / Значення в точці x’ > / x’’ / > / / Значення в точці x’’ > / x’’’ / > / / Значення в точці x’’’ > / 3. і 4. Побудова інтерполяційого многчлена Ньютона і обчислення похибок інтерполяції в точках  за допомогою мови програмування С++. Код програми: #include <iostream> #include <math.h> using namespace std; double const pi = 3.1415926; const int n = 4; double f(double x); double Gorner(double x, double A[n+1][n+2]); void main() { int N = n+1; double a = 0, b = pi/4; double x1 = b/2.5,x2 = b/3,x3 = b/5; //double X[n] = {0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}; //double F[n] = {0.00000,0.09983,0.19866,0.29552,0.38941,0.47942,0.56464,0.64421,0.71735, // 0.78332}; double mat[n+1][n+2] = {0}; for (int i = 0; i < N; ++i) { mat[i][0] = ((b-a)*i)/n; mat[i][1] = f(mat[i][0]); } for (int i =1; i < N; ++i) { for (int j =0; j < N-i;++j) mat[j][i+1] = (mat[j+1][i] - mat[j][i])/(mat[j+i][0]-mat[j][0]); } cout << "\t\t\tRozdileni riznuci: \n"; for (int i = 2; i < N+1; ++i) cout << mat [0][i] << "\t "; cout << "\n\n\n"; cout << "\t\t\tMnogochlen Newtona:\n"; cout << "L(x) = " << mat[0][1]; for (int i = 2; i < n+1; ++i) { cout << " + (x - " << mat[i-2][0] << ") (" << mat[0][i]; } for (int i = 2; i < N+1; ++i) cout << ")"; cout << "\n"; cout << "\t\t Znachennja Funcii v tochkah x1, x2, x3:\n"; cout <<"L[" << x1 << "] = " << Gorner(x1,mat) << endl; cout <<"L[" << x2 << "] = " << Gorner(x2,mat) << endl; cout <<"L[" << x3 << "] = " << Gorner(x3,mat) << endl; cout <<"F[" << x1 << "] = " << f(x1) << endl; cout <<"F[" << x2 << "] = " << f(x2) << endl; cout <<"F[" << x3 << "] = " << f(x3 )<< endl; cout << "\n\n"; cout << "\t\t\tpohybky:\n"; cout << "R[" << x1 << "]=" << (Gorner(x1,mat)-f(x1)) << endl; cout << "R[" << x2 << "]=" << (Gorner(x2,mat)-f(x2)) << endl; cout << "R[" << x3 << "]=" << (Gorner(x3,mat)-f(x3)) << endl; } double Gorner(double x, double A[n+1][n+2]) { double suma = A[0][n]; for (int i =n-1;i; --i) suma = (x-A[i-1][0])*suma + A[0][i]; //suma += A[1][0]; return suma; } double f(double x) { return 3*(sin (x + pi/4)); } Результат виконання програми: / Висновок: Похибки і значення залишкового члена у точках  відрізняюься точністю.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!