17081

Формули Н’ютона через кінцеві різниці

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

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

Лабороторна робота №6 Тема. Формули Нютона через кінцеві різниці Мета. Навчитися обчислити значення функції при даному значенні аргумента використовуючи формули Нютона через кінцеві різниці. Обладнання. Лист формату А4 ручка олівець програмне забезпечення С...

Украинкский

2013-06-29

50 KB

5 чел.

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

Тема. Формули Н’ютона через кінцеві різниці

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

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

Хід роботи

  1.  Правила ТБ
  2.  Теоретичні відомості

Друга інтерполяційна формула Ньютона(використовується, коли х знаходиться в кінці таблиці):

     3. Індивідуальна робота

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

x

y

0,101

1,26183

0,106

1,27644

0,111

1,29122

0,116

1,30617

0,121

1,32130

0,126

1,33660

0,131

1,35207

0,136

1,36773

0,141

1,38357

0,146

1,39959

0,151

1,41579

№ варіанта

х1

х2

2

0,1035

0,1492

#include<iostream.h>

#include<math.h>

double f1(double xn[],double yn[],double Xn,int nt)

{int i,j;

double q,h,s,qn,raz,fakt;

s=yn[0];

for(i=1;i<nt;i++)

{h=xn[i+1]-xn[i];

q=(Xn-xn[0])/h;

qn=1.0;

for(j=1;j<=i;j++)

{qn=qn*(q-j+1);

}

fakt=1.0;

for(j=1;j<=i;j++)

{fakt=fakt*j;

}

raz=pow(yn[1]-yn[0],i);

s=s+raz*qn/fakt;

}

return s;}

double f2(double xn[],double yn[],double Xn,int nt)

{int i,j;

double q,h,s,qn,raz,fakt;

s=yn[nt];

for(i=1;i<nt;i++)

{h=xn[i+1]-xn[i];

q=(Xn-xn[0])/h;

qn=1.0;

for(j=1;j<=i;j++)

{qn=qn*(q-j+1);

}

fakt=1.0;

for(j=1;j<=i;j++)

{fakt=fakt*j;

}

raz=pow(yn[nt-i+1]-yn[nt-i],i);

s=s+raz*qn/fakt;

}

return s;}

void main()

{double X,a,b,Pnx;

int i,n;

cout<<"Введите X\n";

cin>>X;

cout<<"Введите n\n";

cin>>n;

double*x=new double[n];

double*y=new double[n];

cout<<"Введите массив x\n";

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

cin>>x[i];

cout<<"Введите массив y\n";

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

cin>>y[i];

a=fabs(X-x[0]);

b=fabs(X-x[n]);

if(a<b)Pnx=f1(x,y,X,n);

else Pnx=f2(x,y,X,n);

cout<<"Pn(x)="<<Pnx<<"\n";}

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

5. Звіт.        

6. Захист роботи  


 

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

31548. Социально-психологические технологии реабилитации лиц, перенесших инсульт 731 KB
  У больных перенесших инсульт наблюдаются эмоциональные, когнитивные и поведенческие нарушения стратегий совладания, а также нарушения семейных отношений, которые могут стать мишенями в процессе психотерапевтического сопровождения в ходе реабилитации постинсультных больных, их родственников.
31549. Професійна орієнтація 85.5 KB
  Адекватність вибору і рівень освоєння професії впливають на всі сторони і загальну якість життя. Тому одним з центральних і в цьому сенсі доленосних в житті кожної людини, в його професійній карєрі, є питання про пошук, виборі та оволодінні професією. Зрослі вимоги сучасного виробництва до рівня професійної підготовленості...