Інтерполяція функцій

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

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

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

Рік:
2008
Тип роботи:
Звіт
Предмет:
Інші
Група:
ПМ-31

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний Університет „Львівська Політехніка” Звіт до лабораторної роботи №3 на тему: „Інтерполяція функцій” Варіант В10. Завдання: Для функції, заданої таблично, побудувати інтерполяційний многочлен Ньютона через розділені різниці і обчислити її значення у точках x΄, x΄΄, x΄΄΄. Функція B x f(x)  0.0 2.00000  0.1 1.95533  0.2 1.82533  0.3 1.62160  0.4 1.36235  0.5 1.07073  0.6 0.77279  0.7 0.49515  0.8 0.26260  0.9 0.09592   Точки інтерполяції № x΄ x΄΄ x΄΄΄  10 0.188 0.258 0.691   Розв’язання: 1. Використовуючи формули для розділених різниць: f(x0;...;xk)= (f(x1;...;xk)-f(x0;...;xk-1))/(xk-x0), k=1,2,...,n, знаходимо всі різниці до 9 порядку включно. 2. Будуємо таблицю розділених різниць: f(x0) f(x0;x1) f(x0;x1;x2) ..... f(x0;x1;...;xn) f(x1) f(x1;x2) f(x1;x2;x3) ..... ................................................. f(xn) f(xn-1;xn) f(xn-2;xn-1;xn). 3. Записуємо інтерполяційний многочлен Ньютона за схемою Горнера (оскільки розділені різниці вже відомі): Ln(x) = f(x0) + (x – x0)(f(x0;x1) + (x – x1)(f(x0;x1;x2) + ... + (x – xn-1)f(x0;x1;...;xn))...). 4. Обчислюємо значення многочлена в точках інтерполяції. Код програми на мові С++: #include <fstream.h> int i, j; char m; double s, a [10][11]={{0.0, 2.0}, {0.1, 1.95533}, {0.2, 1.82533}, {0.3, 1.62160},\ {0.4, 1.36235}, {0.5, 1.07073}, {0.6, 0.77279}, {0.7, 0.49515}, {0.8, 0.26260}, {0.9, 0.09592}}; double polinom (double Matrix [10][11], double x); double polinom (double Matrix [10][11], double x) // функція для обчислення ІМН { // за схемою Горнера double roz; roz=Matrix[0][10]; for(int l=9;l>=1;l--) roz=roz*(x-Matrix[l-1][0])+Matrix[0][l]; return roz; } void main () { for (j=2;j<=10;j++) // обчислення різниць for(i=0;i<=10-j;i++) a[i][j]=(a[i+1][j-1]-a[i][j-1])/(a[i+j-1][0]-a[i][0]); cout<<"Interpolacijnyj polinom Newtona:"<<'\n'<<"L[9](x)="<<a[0][1]; // вивід ІМН for(i = 0;i<=8;i++) cout<<"+(x-"<<a[i][0]<<")("<<a[0][i+2]; cout<<")))))))))."<<'\n'; do { cout<<"Vvedit tochku x"<<'\n'; // обчислення значення ІМН cin>>s; // в точках інтерполяції cout<<"Znachennja polinoma:"<<'\n'; s=polinom(a,s); cout<<s<<'\n'; cout<<"She tochku? (y/n)"<<'\n'; cin>>m; } while (m=='y'); } Контрольний приклад: Висновок: під час лабораторної роботи я ознайомився зі способом наближення функцій методом побудови інтерполяційного многочлена Ньютона. Для реалізації цього методу на ПК використав побудову таблиці розділених різниць, а також схему Горнера. СПИСОК ЛІТЕРАТУРИ Бахвалов Н.С., Жидков Н.П., Кобельков Г.М.. Численные методы.-М.:Наука, 1987. Гаврилюк І.П., Макаров В.Л. Методи обчислень. –К.:Вища школа, 1995, ч.1, ч.2. Данилович В., Кутнів М. Чисельні методи.-Львів:Кальварія, 1998. Калиткин Н.Н. Численные методы.-М.:Наука, 1978. Самарский А.А., Гулин А.В. Численные методы. - М.:Наука, 1989. Трифонов Н.П., Пасхин Е.Н. Практикум работы на ЭВМ.-М.: Наука, 1982.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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