3855

Інтерполяційна схема Ейткена

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

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

Інтерполяційна схема Ейткена Мета роботи:Засвоїти теоретичний матеріалі методи апроксимації функцій, набути практичні навики знаходження наближених значень функцій. Короткі теоретичні відомості На практиці зустрічаються випадки, коли потрібно ...

Украинкский

2012-11-09

324 KB

13 чел.

Інтерполяційна схема Ейткена

Мета роботи: Засвоїти теоретичний матеріалі методи апроксимації функцій, набути практичні навики знаходження наближених значень функцій.

Короткі теоретичні відомості

На практиці зустрічаються випадки, коли потрібно мати значення інтерполяційного багаточлена Лагранжа в деякій точці х, а не загальний його вигляд. Тоді зручно користуватись інтерполяційною схемою Ейткена.

Обчислювальний алгоритм має такий вигляд:

Таблиця 1.

причому

  

– інтерполяційний багаточлен Лагранжа за вузлами хо,х,...,хп. Кожен із   отримують з  та   шляхом перехресного множення та ділення. Із застосуванням схеми Ейткена поступово можна залучати щораз нові значення вузлів хк доти, поки обчислення не засвідчать, що точність уже не зростає.

Варіант 17

Користуючись таблицею значень cos(x), xє[0.75k, 0.8k] з кроком h=0.01. Знайти наближене значення cos(x) при x=0.775, де k-списковий номер студента.

Результати обчислень подати таблично.

Текст програми:

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#pragma hdrstop

#include "EytkinUn.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

AnsiString str="L", str1;

float x0,xn,h,x,k,xk;

float masxkx[1000]={0}, masL[1000][1000]={0};

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

 : TForm(Owner)

{}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

 StringGrid1->Cells[0][0]="xk";

 StringGrid1->Cells[1][0]="fk";

 StringGrid1->Cells[2][0]="xk-x";

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 x0=StrToFloat(LabeledEdit1->Text);

 xn=StrToFloat(LabeledEdit2->Text);

 h=StrToFloat(LabeledEdit3->Text);

 x=StrToFloat(LabeledEdit4->Text);

 k=StrToFloat(LabeledEdit5->Text);

 StringGrid1->RowCount=2;

 x0*=k;   xn*=k;   x*=k;  xk=x0;   int i=0;    float min=fabs(xk-x);

 int t=0;

 while(xk<xn)

 {

   StringGrid1->Cells[0][i+1]=FloatToStrF(xk,ffFixed,8,2);

   masL[0][i]=cos((float)xk);

   StringGrid1->Cells[1][i+1]=FloatToStrF(masL[0][i],ffFixed,16,8);

   masxkx[i]=xk-x;

   if(min>=fabs(masxkx[i])){t=i;min=fabs(masxkx[i]);}

   StringGrid1->Cells[2][i+1]=FloatToStrF(masxkx[i],ffFixed,8,4);

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

   {

     masL[j][i]=1/(xk-x0)*(masL[j-1][i-1]*(xk-x)-masL[j-1][i]*(x0-x));

     StringGrid1->ColCount=2+i;

     StringGrid1->Cells[2+j][i+1]=FloatToStrF(masL[j][i],ffFixed,16,8);

   }

   xk+=h;

   StringGrid1->RowCount++;   i++;

 }

 Label1->Caption=(AnsiString)"sin("+

                 FloatToStrF(x,ffFixed,8,4)+

                 (AnsiString)") = "+

                 FloatToStrF(masL[t][t],ffFixed,16,8);

}

//---------------------------------------------------------------------------

Результат виконання програми:

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


 

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

16845. ВНУТРИЧЕРЕПНОЕ ДАВЛЕНИЕ И ВНУТРИЧЕРЕПНАЯ ГИПЕРТЕНЗИЯ 35.86 KB
  М.В. БАШКИРОВ А.Р. ШАХНОВИЧ А.Ю. ЛУБНИН. ВНУТРИЧЕРЕПНОЕ ДАВЛЕНИЕ И ВНУТРИЧЕРЕПНАЯ ГИПЕРТЕНЗИЯ. НИИ нейрохирургии им. Н.Н. Бурденко РАМН Москва ВВЕДЕНИЕ Первые попытки дать научное объяснение феномену внутричерепной гипертензии ВЧГ предпринимались еще 200 лет назад. Но...
16846. Основные принципы интенсивной терапии тяжелой черепно-мозговой травмы 26.8 KB
  Потапов А.А. Амчеславский В.Г. Гайтур Э.И. Парфенов А.Л. Островский А.Ю. Филимонов Б.А. Основные принципы интенсивной терапии тяжелой черепномозговой травмы. НИИ нейрохирургии им.Н.Н.Бурденко РАМН Москва Лечебные мероприятия при поступлении пострадавшего в стационар....
16847. Принципы интенсивной терапии при острых субарахноидальных кровоизлияниях нетравматической этиологии 30.58 KB
  Амчеславский В.Г. Тома Г.И. Тенедиева Н.Д. Фокин М.С. Элиава Ш.Ш. Мадорский С.В. Оганесян К.Р. Даушева А.А. Принципы интенсивной терапии при острых субарахноидальных кровоизлияниях нетравматической этиологии. НИИ нейрохирургии им. акад. Н.Н. Бурденко РАМН Москва Острые...
16848. ТОТАЛЬНАЯ ВНУТРИВЕННАЯ АНЕСТЕЗИЯ ИЛИ ИНГАЛЯЦИОННЫЙ НАРКОЗ ДЛЯ ИНТРАКРАНИАЛЬНЫХ ВМЕШАТЕЛЬСТВ 86.3 KB
  П. РАВУССИН Г. ВАН АКЕН Д. ВАН ХЕМЕЛЬРИК. ТОТАЛЬНАЯ ВНУТРИВЕННАЯ АНЕСТЕЗИЯ ИЛИ ИНГАЛЯЦИОННЫЙ НАРКОЗ ДЛЯ ИНТРАКРАНИАЛЬНЫХ ВМЕШАТЕЛЬСТВ Отделение анестезиологии университетской клиники Лозанна Швейцария отделение анестезиологии университетской клиники Леувен Бел
16849. СТАТУС ЮЖНОДУНАЙСКИХ РУМЫНСКИХ ДИАЛЕКТОВ 83.5 KB
  СТАТУС ЮЖНОДУНАЙСКИХ РУМЫНСКИХ ДИАЛЕКТОВ Для решения проблемы статуса южнодунайских диалектов требуется разграничить с одной стороны понятия €œязык€ и €œдиалект€ и с другой стороны понятия €œдиалект€ и €œнаречие€ или €œговор€. С генетической точки зрения...
16850. ФОРМИРОВАНИЕ РУМЫНСКИХ ДИАЛЕКТОВ 116 KB
  ФОРМИРОВАНИЕ РУМЫНСКИХ ДИАЛЕКТОВ Проблема формирования 4х румынских диалектов: дакорумынского арумынского мегленорумынского и истрорумынского широко обсуждается в румынской лингвистике. Для решения данной проблемы и получения ответов на многочисленные вопросы...
16851. Анализ философии нового религиозного сознания 44.5 KB
  Анализ философии нового религиозного сознания В конце прошлого столетия и особенно в начале настоящего бурно развивающегося XX века получило распространение религиознофилософское движение под названием религиозного ренессанса. Это движение охватило широкие круг...
16852. Под знаком террора, или: в защиту имени о. Александра Меня 59.5 KB
  Леонид Василенко Под знаком террора или: в защиту имени о. Александра Меня Под знаком террора не может быть раскрыта правда. Николай Бердяев Недавно гдето в ноябре 1998 г. появилось Православное книжное обозрение в редакционном совете которого видим следующих: арх...
16853. Трипілля. Там, де відкрили легендарну цивілізацію 16.88 KB
  Трипілля. Там де відкрили легендарну цивілізацію Зовсім недалеко від нашої столиці всього за 30 км розкинулось на березі Дніпра мальовниче селище Трипілля яке має багатющу та ще до кінця не вивчену історію якої б вистачило не те що на три сила а й на три міста. Місце...