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;} }


 

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

25076. Житейские знания 35.5 KB
  образцы стандарты в соответствии с которыми строятся знания о мире. В культуре сосуществуют три основных типа когнитивных познавательных процедур и соответственно три типа знания житейское мистическое и рациональное. Житейские знания отражают вещи и явления с которыми люди сталкиваются в обычных жизненных условиях. Вера это убеждение в истинности какоголибо знания при отсутствии доказательства его истинности.
25077. Застосування моральних критеріїв 35 KB
  Значні моральні колізії супроводжують і такі винаходи сучасної науки як трансплантація органів генна інженерія клонування. Практика трансплантації органів вийшла сьогодні з вузько експериментальних рамок на рівень звичайної медичної галузі. Проте в сучасній медицині триває процес розширення показань до різних видів пересадок що є одним з об'єктивних підстав того що однією із стійких особливостей сучасного суспільства стає дефіцит донорських органів Стан дефіциту донорських органів це хронічне невідповідність між їх попитом та...
25078. Моральні проблеми 31 KB
  Складними є моральні та правові проблеми зачаття людини. Народжених підстерігають хвороби і моральні випробування у стосунках між ними та медпрацівниками рідними близькими. Моральні проблеми які виникають до народження чи до зародження людини пов'язані з використанням нових репродуктивних технологій: штучної інсемінації екстракорпорального лат.
25079. Біоетика – нормативне знання 56 KB
  Прикладом такого розуміння евтаназії є введення летальної дози препарату термінальному хворому з метою полегшення тяжких страждань. Ще одна відмінність дуже важлива в дискусії з приводу евтаназії. Можливість такої евтаназії розглядається у пацієнтів не здатних приймати самостійні рішення наприклад душевнохворі. Якщо розглядати в сукупності випадки добровільної недобровільної евтаназії з випадками активної пасивної евтаназії можна виділити чотири різновиди евтаназії: 1 добровільна активна; 2 недобровільна активна; 3 добровільна пасивна;...
25080. Біоетика та евтаназія 33.5 KB
  Моральне добро найбільш узагальнене імперативнооціночне поняття моралі і категорія етики яка виражає позитивне моральне значення явищ суспільного життя в їх співвіднесенні з етичним ідеалом. Добро це все позитивно оцінюване моральною свідомістю при співвіднесенні з гуманістичними принципами тобто те що сприяє розвитку в людині і суспільстві людяності взаєморозуміння і згоди. Добро є виконання вимог моралі слідування моральному обовязку.
25081. Поняття добра і зла 35 KB
  Це вузлові пункти людського пізнання. Добро і зло нерідко розглядають як синонімів понять моральної і аморальне а на саму етику як вчення про добро і зло. Зло категорія етики за змістом протилежна добру узагальнено якою виражено уявлення про безнравственном що суперечить вимогам моралі заслуживающем осуду. Іммануїл Кант вважав зло необхідним наслідком чуттєвої природи людини.
25082. Смертна кара 36 KB
  Майже всі суспільства людства на певній стадії свого розвитку застосовували смертну кару до кримінальних і політичних злочинців. Деякі країни скасували смертну кару за винятком особливих обставин таких як наприклад зраду під час військових дій. Такі держави як Китай США та інші зберегли смертну кару за злочини окремо визначені законодавством. У країнах які практикують смертну кару метод страти визначається законодавчо.
25083. Глобалізація загострила таку проблему як тероризм 36.5 KB
  Глобальні проблеми групуються навколо трьох фундаментальних напрямків розвитку людства: людинатехніка людинаприрода людина культура. Людинатехніка використання атомної енергії а також через непрогнозованність наслідків роботи машин що працюють на принципах самовдосконалення і самонавчання. Людинакультура тенденція до втрати культурних національних рис. Людинаприрода погіршення екологічної ситуації зростають природні катаклізми та техногенни катастрофи.
25084. Благодійність 33 KB
  Існують різні погляди на благодійність: 1 благодійність немає сенсу і є аморальною тому що а це різновид бізнесу; б інструмент ідеологічного і політичного впливу; в засіб розваги для багатих бо велика помпезність потребує великих грошей і вони більші ніж ті що йдуть для бідних. 2 благодійність має тісний звязок з владою а саме з владою церкви яка говорить про милосердя. 3 благодійність і милосердя існують для того щоб мати похвалу від сучасників та залишитись у памяті нащадків. 5 благодійність направлена на послаблення...