У вас вопросы?
У нас ответы:) SamZan.net

Чисельне інтегрування

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 14.5.2025

Міністерство освіти і науки, молоді та спорту України

Львівський національний університет імені Івана Франка

Факультет електроніки

Звіт

Про виконання лабораторної №8

«Чисельне інтегрування. Формули Грегорі»  

Виконав :

Студент групи ФЕІ-33

Ходонович В.Р

Перевірив :

доц. Шувар Р. Я

Львів-2011

Мета: вивчити методи чисельного інтегрування з використанням квадратурних формул Грегорі.

Основні відомості:

Найпростішою квадратурною формулою Ньютона-Котеса є формула трапецій,  яка використовує два вузли

Для побудови більш точніших формул у випадку квадратурних формул Ньютлона-Котеса використовується більша кількість вузлів. Так для побудови квадратурної формули Сімпсона ми використовуємо три вузли. Можна піти іншим шляхом і для підвищення точності квадратурної формули використовувати інформацію не тільки про значення функції у вузлі, а про значення її похідних. Побудовані таким чином формули для чисельного інтегрування називаються квадратурними формулами Грегорі.

Побудуємо квадратурну формулу Грегорі на двох вузлах  та  у вигляді

Обмежимось спочатку двома першими членами розкладу

Значення коефіцієнтів  та  знайдемо за допомогою методу невизначених коефіцієнтів. Отримаємо систему рівнянь:

ЇЇ розвязок . Врахуємо тепер наступні два члени розкладу. Отримаємо формулу:

 Значення коефіцієнтів  та  знайдемо методом невизначених Отримаємо систему рівнянь:

Задамо умову, що значення коефіцієнтів  та  є такими самими, що у попередньому випадку, тобто . Отримаємо

Знаходимо

, ;

Ми вивели формулу:

Отримана формула є точною для многочленів . Для побудови більш точніших формул використовуємо інформацію про значення вищих похідних

Накладаємо умову, що значення коефіцієнтів , які ми отримали раніше є ті ж самі, що і в попередній формулі. Отримаємо систему рівнянь

Знаходимо значення коефіцієнтів

Побудуємо наступну формулу з використанням значень третіх похідних.

Накладемо умову, що значення коефіцієнтів  є ті ж самі, що в  попередніх двох формулах, тобто ми шукатимемо квадратурну формулу наступного вигляду

Методом невизначених коефіцієнтів отримаємо систему рівнянь

Знаходимо значення коефіцієнтів

,

Ми отримали наступну формулу Грегорі

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

Побудуємо складову формулу Грегорі для  відрізків:

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

Якщо обмежитись першими трьома членами, то ця формула буде точною для многочленів степені .

       Обчислимо першу похідну

Аналогічно для вузла :

Врахувавши, що вузли є рівновіддаленими, виразимо розділені різниці через відповідні скінченні різниці.

В результаті отримаємо формулу, яка називається квадратурною формулою Грегорі:

Ця формула є  точною  для многочленів степеня  . Аналогічно можна отримати і біль точнішу формулу:

Хід роботи

  1.  Для заданої аналітичної функції  знаходжу точне значення інтегралу . .
  2.  Пишу програму обчислення наближеного значення інтегралу за

допомогою формули Грегорі.

  1.  Досліджую залежність точності обчислення інтегралу за допомогою формули Грегорі в залежності від числа використаних складових в формулі Грегорі для заданого числа вузлів n(n=100..400).

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

Program Lab8;

uses  crt;

var

 N           :integer;

 integ0 , integ    :extended;

 fout              :text;

 k, a, b, h :extended;

    

function func(x:extended):extended;

Begin

 func := x*exp(x);    

End;

function intfunc(xi:extended):extended;

Begin

 intfunc := xi*exp(xi)-exp(xi);

End;

function factorial(n :extended):extended;

Begin

if (n=0) then

 factorial := 1

 else

   Begin

     if (n=1) then

       factorial := 1

       else

       factorial := n*factorial(n-1);

   End;

End;

function Cki (n:extended; k:extended):extended;

Begin

Cki := factorial(n)/(factorial(k)*factorial(n-k));

End;

function minusone(n:integer):integer;

Begin

 if (n mod 2 = 0) then

   minusone:=1

 else

   minusone := -1;

End;

function Rizn_up(kriz:integer):extended;

var

 iriz :integer;

 tempriz :extended;

Begin

 tempriz:=0;

 for iriz:=0 to kriz do

   Begin

     tempriz := tempriz + Cki(kriz,iriz)*minusone(kriz-iriz)*func(a+iriz*h);

   End;

 Rizn_up:=tempriz;

End;

function Rizn_down(krizd:integer):extended;

var

 irizd :integer;

 temprizd :extended;

Begin

 temprizd:=0;

 for irizd:=0 to krizd do

   Begin

     temprizd := temprizd + Cki(krizd,irizd)*minusone(irizd)*func(b-irizd*h);

   End;

 Rizn_down:=temprizd;

End;

BEGIN

clrscr;

a := 1e-5;

b := 1;

N := 300;

h := (b-a)/N;

Integ0 := intfunc(b)-intfunc(a);

assign(fout, 'Lab8.txt');

rewrite(fout);

  Integ := 0;

  Integ := Func(a)+func(b);

  for n:=1 to N-1 do

    Integ := Integ+2*func(a+n*h);

  Integ := Integ*h/2;

  Writeln(fout, 1, ' ', abs(Integ-Integ0));

  Integ:=Integ + h*(Rizn_up(1)-Rizn_down(1))/12;

  Writeln(fout, 2, ' ', abs(Integ-Integ0));

  Integ:=Integ - h*(Rizn_up(2)+Rizn_down(2))/24;

  Writeln(fout, 3, ' ', abs(Integ-Integ0));

   Integ:=Integ + 19*h*(Rizn_up(3)-Rizn_down(3))/720;

  Writeln(fout, 4, ' ', abs(Integ-Integ0));

   Integ:=Integ - 3*h*(Rizn_up(4)+Rizn_down(4))/160;

  Writeln(fout, 5, ' ', abs(Integ-Integ0));

   Integ:=Integ + 863*h*(Rizn_up(5)-Rizn_down(5))/60480;

  Writeln(fout, 6, ' ', abs(Integ-Integ0));

   Integ:=Integ - 275*h*(Rizn_up(6)+Rizn_down(6))/24192;

  Writeln(fout, 7, ' ', abs(Integ-Integ0));

close(fout);

END.

Функція y(x)= x*exp(x);

Межі інтегрування: (0;1).

Рис.  . Графік залежності точності обчислення від числа використаних складових в формулі Грегорі

Висновки:

На даній лабораторній роботі я вивчив  методи чисельного інтегрування з використанням квадратурних формул Грегорі. Результати вимірювань показав на графіку, що точність інтегрування  зростає при рості числа доданків у формулі Грегорі.




1. Пояснительная записка курсовая работа Дисциплина Водоотводящие сети промышленных предприятий Разраб
2. Сценарий для Украины.html
3. Інститут аграрної економіки Фінансовоекономічний факультет Кафедра фінансів та кредиту КРЕДИ
4. тематична логіка
5. задание представляет собой самостоятельную аналитическую работу студента по выбранной теме
6. 11 курса 1
7.  Мета роботи Вивчити основні властивості і застосування трифазних кіл при з~єднанні джерела і споживачі
8. Стихийная диалектика Гераклита
9. Организация производства дистанции сигнализации и связи
10. государственного управления стал употребляться термин исполнительная власть в механизме государстве