50736

Інтерполяційні формули через розділені різниці

Лабораторная работа

Информатика, кибернетика и программирование

Мета. Навчитися знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Нютона через розділені різниці. Обладнання. Лист формату А4, ручка, програмне забезпечення С++.

Украинкский

2014-01-29

66 KB

1 чел.

М Чуприна С.1ПМ-08

Лабороторна робота №5

Тема. Інтерполяційні формули через розділені різниці

Мета.Навчитися знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Н’ютона через розділені різниці

Обладнання. Лист формату А4, ручка, програмне забезпечення С++.

     3. Індивідуальне завдання  

Обчислити значення функції при заданих значеннях аргумента, використовуючи інтерполяційну формулу Н’ютона для нерівновіддалених вузлів. При обчисленні врахувати тільки розділенні різниці першого і другого порядку. Обчислення провести два рази, використовуючи, якщо це можливо, різні вузли.  

№ варіанта

х1

х2

18

0,109

0,115

x

y

0,095

1,09131

0,102

1,23490

0,104

1,27994

0,107

1,35142

0,110

1,42815

0,112

1,48256

0,116

1,60033

0,120

1,73205

#include<iostream.h>

#include<math.h>

double N(int n, double* x, double* y){

int i, k, L=n;

double*z=new double[n];

for(i=0; i<n; i++) z[i]=(y[i+1]-y[i])/(x[i+1]-x[i]);

if(n>1)

for(i=1; i<n; i++){

for(k=0;k<L;k++)z[k]=(z[k+1]-z[k])/(x[k+i]-x[k]);

L=L-1;}

return z[0];

delete []z;}

void main ()

{ int n,i,k;

double P, Y, X;

cout<<"Vveditekolichstvovhodnihdannih:";

cin>>n;

double *x=new double [n];

double *y=new double [n];

cout<<" Vveduteuxliinterpoliacii: \n";

for(i=0; i<n; i++)

{cout<<"x["<<i<<"]: "; cin>>x[i];}

cout<<"Vvediteznacheniafunkcii: \n";

 for(i=0; i<n; i++)

 {cout<<"y["<<i<<"]: "; cin>>y[i];}

cout<<" Tablichaiz forma \n";

cout<<"|\tx \t |\t y \t\t|\n";

cout<<"-----------------------------------------\n";

for(i=0; i<n; i++)

{cout<<"|\t"<<x[i]<<" \t |\t "<<y[i]<<"    \t|\n"; }

cout<<"Vvediteznachenie x:\n";

cin>>X;

P=y[0];

for(i=1;i<n;i++){

Y=N(i,x,y);

for(k=0;k<i;k++)Y*=(X-x[k]);

P+=Y;}

cout<<"f("<<X<<") = "<<P;

delete []x;

delete []y;}

Висновок: у цій роботі я навчилася знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Н’ютона через розділені різниці

#include<iostream.h>

#include<math.h>

double N(int n, double* x, double* y){

int i, k, L=n;

double*z=new double[n];

for(i=0; i<n; i++) z[i]=y[i+1]-y[i];

if(n>1)

for(i=1; i<n; i++){

for(k=0;k<L;k++)z[k]=z[k+1]-z[k];

L=L-1;}

return z[0];

delete []z;}

 unsigned long factorial(unsigned long n)

{

if (n == 0)

 return 1;

else

 return n * factorial (n - 1);

}

void main ()

{ int n,i,k;

double P, Y, X;

cout<<"Vveditekolichstvovhodnihdannih:";

cin>>n;

double *x=new double [n];

double *y=new double [n];

cout<<" Vveduteuxliinterpoliacii: \n";

for(i=0; i<n; i++)

{cout<<"x["<<i<<"]: "; cin>>x[i];}

cout<<"Vvediteznacheniafunkcii: \n";

 for(i=0; i<n; i++)

 {cout<<"y["<<i<<"]: "; cin>>y[i];}

cout<<" Tablichaiz forma \n";

cout<<"|\tx \t |\t y \t\t|\n";

cout<<"-----------------------------------------\n";

for(i=0; i<n; i++)

{cout<<"|\t"<<x[i]<<" \t |\t "<<y[i]<<"    \t|\n"; }

cout<<"Vvediteznachenie x:\n";

cin>>X;

int h=x[1]-x[0];

P=y[0];

for( int p=0;p<n;p++){

if (x[p]<x[n/2]) {

for(i=1;i<n;i++){

Y=N(i,x,y);

for(k=0;k<i;k++)Y*=(X-x[k])/(pow(h,k)*factorial(k));

P+=Y;} }

else   {

for(i=n;i>0;i--){

Y=N(i,x,y);

for(k=n;k>i;k--)Y*=(X-x[k])/(pow(h,k)*factorial(k));

P+=Y;}   }

cout<<"f("<<X<<") = "<<P;

delete []x;

delete []y;} }


 

А также другие работы, которые могут Вас заинтересовать

54500. ЯКИЙ НАСТРІЙ І ЯК ЙОГО ПЕРЕДАЄ МУЗИКА? 40 KB
  Автором музики є композитор. А хто автор тієї музики, яка надійшла до нас з найдавніших часів? Музику створює не лише композитор, а й народ. Саме його музика – найдревніша. Народна музика передавалася від людини до людини, від села до села, з покоління в покоління. Наприклад, українська народна пісня „Ходить гарбуз по городу”. У ній розповідається про багатий урожай городини. Гарна весела пісня! Її варто не лише прослухати, але й розучити.
54503. ТАНЕЦЬ НА ТАНЦЮВАЛЬНОМУ МАЙДАНЧИКУ 51 KB
  Продовження розучування пісні Школяр Караоке. Демонстрація пісні Ой заграйте дударики Розучування пісні Ой заграйте дударики Розповідь про танці. Вальс полька Танці як і пісні звучать за різних життєвих обставин. Ми дізналися що танці як і пісні звучать за різних життєвих обставин.
54504. Київський музей українського мистецтва 39.5 KB
  Ukraine has always been the land of art. Beautiful nature of the country, poetic folk songs, love for the country and kindness of the people encouraged Ukrainian painters to devote their works to these themes. Let’s remember some world renowned artists in today’s lesson.
54505. Свято відкриття шкільного музею з народознавства «Світлиця» 36.5 KB
  Свято відкриття шкільного музею з народознавства Світлиця Мета: залучати дітей до вивчення культури українського народу утверджувати українську духовність виховувати повагу до свого народу любов до рідного краю. Відкриття музею Світлиця. Дорогі гості Сьогодні незвичайна подія у житті нашої школи відкриття музею з народознавства Світлиця. Створенню цього музею передувала кропітка робота учителів та учнів нашої школи.
54507. Музичні стилі та напрямки 462 KB
  Мета: познайомити учнів з творами композиторів різних стилів і напрямків; розвивати в учнів інтерес до слухання класичної музики, формувати музичну культуру, вчити впізнавати особливість музичних стилів (класичного, романтичного) та сфери їх емоційного впливу на людину; виховувати естетичний смак.
54508. Музика країн Європи і світу 68 KB
  Перша зупинка станція Мелодійна друга станція Ритмічна третя станція Музичних загадок четверта станція Композиторська пята Слухацька і остання станція Виконавська. Наступна зупинка станція Мелодійна. Станція Мелодійна. Наступна зупинка станція Ритмічна.