Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
алушкін П. 2ПМС-06
Лабороторна робота №5
Тема. Інтерполяційні формули через розділені різниці
Мета.Навчитися знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Нютона через розділені різниці
Обладнання. Лист формату А4, ручка, програмне забезпечення С++.
Індивідуальне завдання
Обчислити значення функції при заданих значеннях аргумента, використовуючи інтерполяційну формулу Нютона для нерівновіддалених вузлів. При обчисленні врахувати тільки розділенні різниці першого і другого порядку. Обчислення провести два рази, використовуючи, якщо це можливо, різні вузли.
x |
y |
0,100 |
1,12128 |
0,108 |
1,13160 |
0,119 |
1,14594 |
0,127 |
1,15648 |
0,135 |
1,16712 |
0,146 |
1,18191 |
0,157 |
1,19689 |
0,169 |
1,21344 |
№ варіанта |
х1 |
х2 |
4 |
0,115 |
0,160 |
#include<iostream.h>
#include<math.h>
void main()
{ int i,n,k,j;
double xp,a,b,Px;
cout<<"Vvedite x \n";
cin>>xp;
cout<<"Vvedite n \n";
cin>>n;
double*x=new double[n];
double*y=new double[n];
cout<<"Введите значения узлов и функциий в узлах"<<endl;
for(k=0,i=0;i<=n;i++,k++)
{
cout<<"x"<<k<<"=";
cin>>x[i];
cout<<"y"<<k<<"=";
cin>>y[i];
}
cout<<"Vvedite j \n";
cin>>j;
a=(y[j+1]-y[j])/(x[1]-x[j]);
b=(y[j+2]-y[j+1])/(x[j+2]-x[j+1]);
Px=y[j]+a*(xp-x[j])+((b-a)/(x[j+2]-x[j]))*(xp-x[j])*(xp-x[j+1]);
cout<<" x | y ";
cout<<endl;
cout<<"-------------------";
cout<<endl;
for(i=0;i<=n;i++)
{
cout<<" "<<x[i]<<" | "<<y[i]<<"\n";
}
cout<<endl;
cout<<"Px="<<Px;
delete []x;
delete []y;
}
Висновок: у результаті виконаної роботи я навчився знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Нютона через розділені різниці