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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ДЕРЖАВНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"  Звіт до лабораторної роботи №3 з курсу "Чисельні методи" на тему: «Інтерполяція функцій» Лабораторна робота №3 Мета: побудувати інтерполяційний многочлен Ньютона через розділені різниці (3.2) і обчислити її значення у точках , , . Варіант №3 Постановка задачі: Для функції, заданої таблично, побудувати інтерполяційний многочлен Ньютона через розділені різниці (3.2) і обчислити її значення у точках , , . Функція А      0,0 0,00000 0,5 0,47942  0,1 0,09983 0,6 0,56464  0,2 0,19866 0,7 0,64421  0,3 0,29552 0,8 0,71735  0,4 0,38941 0,9 0,78332   Точки інтерполяції №     3 0,115 0,256 0,669   Теоретичні відомості: За означенням розділена різниця нульового порядку  від функції  по одному вузлу  збігається з значенням функції . Розділені різниці першого порядку визначаються рівністю: , різниці другого порядку рівністю:  і т.д. Розділені різниці -го порядку  визначаються через різниці  порядку за формулою: . Якщо  інтерполяційний многочлен для функції , то його значення у вузлах  збігається із значенням функції , а отже, збігаються і розділені різниці, тому інтерполяційний многочлен для функції  можна записати у вигляді:  Такий запис інтерполяційного многочлена називають інтерполяційним многочленом у формі Ньютона, а формулу (1) – інтерполяційною формулою Ньютона. Текст програми: #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream.h> #include <fstream.h> #include <math.h> #define n 10 #define m 3 main (void) {int i, j; double x[n], F[n], in[m], FR[n]; ifstream f("file1.txt");//Vidkruvajem fail dja zchutyvannja while(!f.eof()) //Zchutyje dani z faily { for(i=0;i<n;i++) {f>>x[i]; f>>F[i]; } for(i=0;i<m;i++) f>>in[i]; } cout<<"\n Vxidni dani:\nx f(x)\n"; for(i=0;i<n;i++) {cout<<x[i]<<" "; cout<<F[i]<<"\n"; } cout<<"\nx' x'' x'''\n"; for(i=0;i<m;i++) cout<<in[i]<<" "; cout<<"\n"; double sav1; FR[0]=F[0]; for(j=1; j<n; j++) {for(i=j ; i<n; i++) FR[i]=(F[i]-F[i-1])/(x[i]-x[i-j]); for(i=j ; i<n; i++) F[i]=FR[i]; } cout<<"\nRozvjazok:"; for(j=0; j<m; j++) {for(i=n-2, sav1=FR[n-1]; i>=0; i--) sav1 = sav1*(in[j]-x[i])+FR[i]; //Rahyjem znachennja fynkzii v tochkah cout<<"\nf("<<in[j]<<")="<<sav1;} cout<<"\n\n"; retur0;} Приклад:  Висновок: На цій лабораторній роботі я навчилася будувати інтерполяційний многочлен Ньютона через розділені різниці (3.2) і обчислити її значення у точках , , , для функції, заданої таблично. WWW.not321.com(nl)
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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