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


 

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

42466. Туристские ресурсы и туристская инфраструктура Кении 120 KB
  Кению по праву называют «Парадным подъездом экваториальной Африки». Пейзажи этой страны вдохновили Хемингуэя на создание повестей «Зелёные холмы Африки» и «Снега Килиманджаро». Здесь охотились и отдыхали Теодор Рузвельт и Уинстон Черчилль.
42467. Деление напряжения на сопротивлениях. Потенциометры 138 KB
  В цепях, в которых сопротивление нагрузки больше сопротивлений имеющихся в распоряжении реостатов, ток через нагрузку можно регулировать, изменяя напряжение на ней. В цепях переменного тока эта задача решается с помощью трансформатора, в цепях постоянного тока − с помощью делителя напряжения (потенциометра)
42468. ИЗУЧЕНИЕ ИНТЕРФЕРЕНЦИИ СВЕТА. БИПРИЗМА ФРЕНЕЛЯ 1.17 MB
  Описание опыта с бипризмой Френеля По своей природе электромагнитное излучение свет испускаемое как независимыми естественными источниками так и различными участками одного источника некогерентно. Поэтому для получения когерентных пучков и наблюдения интерференции света излучение идущее от одного источника малых размеров точечного тем или иным способом распределяется на два перекрывающихся пучка распространяющихся в близких направлениях. Свет от источника после преломления в бипризме распространяется в виде двух расходящихся...
42469. ИЗУЧЕНИЕ ФРАУНГОФЕРОВОЙ ДИФРАКЦИИ СВЕТА НА ЩЕЛИ 904.5 KB
  Краткие теоретические сведения Дифракция плоской монохроматической волны на щели Пусть на длинную узкую щель падает плоская монохроматическая волна рис. Подробное рассмотрение дифракционной задачи приводит к следующему выражению для интенсивности света дифрагированного под углом θ к направлению распространения волны: 1 где...
42470. Программирование алгоритмов разветвленной структуры 288 KB
  Оператор ветвления IF THEN ELSE При выполнении работы необходимо знать: Знать и уметь строить алгоритмы разветвленной структуры. Условный оператор IF THEN ELSE. Составной оператор. Структура полного ветвления: Структура сокращенного ветвления: Условный оператор IF THEN ELSE.
42471. ИЗУЧЕНИЕ ПОЛЯРИЗОВАННОГО СВЕТА 1.42 MB
  Световые волны бывают естественными и поляризованными в которых в отличие от естественных колебания вектора каким либо образом упорядочены. Отражение плоской линейно поляризованной волны от диэлектрической пластинки ...
42472. Сценарії підмереж 372.5 KB
  Визначити як статична маршрутизація може бути застосована в мережі Топологічна схема Таблиця адресації Device Interfce IP ddress Subnet Msk Defult Gtewy HQ F0 1 192.81 Subnet Number Subnet ddress First UsbleHost ddress Lst UsbleHost ddress Brodcst ddress 0 192.
42473. Дослідження нерекурсивної фільтрації 1.07 MB
  Львів 2011 Хід роботи 1. УВАГА Зберігання виконаної роботи проводити виключно командою Sve ll 3. Для виконання лабораторної роботи скопіювати фрагмент коду позначений коментарем 4лабораторна робота: Нерекурсивні фільтри виконується лише перший варіант лабораторної роботи в кінець програми після директиви endif. Вибрати пункт 4 та проаналізувати варіант виконання лабораторної роботи.
42474. Дослідження джерел оптичного випромінювання 275 KB
  Львів 2010 Мета роботи Дослідження оптоелектронного модуля МПД – 1 – 1Б та ознайомлення з основними характеристиками напів провідникових джерел оптичного випромінювання що використовуються у волоконнооптичних системах передачі інформації. LSER Light mplifiction by Stimulted Emission of Rdition підсилення світла за допомогою вимушеного випромінювання пристрій для генерування або підсилення монохроматичного світла створення вузького пучка світла здатного поширюватися на великі відстані без розсіювання і створювати винятково велику...