Смекни!
smekni.com

Дослідження методів чисельного інтегрування (стр. 2 из 2)

- Процесор типу Pentium-2;

-256 Мb ОЗУ;

-Операційні системи MS-Windows 98/95/ХР

-Video пам’ять 32 Мб.

Вхідними даними для програми є:

а) Межі інтегруваня: a = 0, b = 1;

б) Крок інтегрування: h = 0,1; 0,2; 0,5;

в) Підінтегральна функція :

f(x) =

;

Вихідними результатами є:

Наближене значення інтегралу отримане за допомогою Mat-hcad2001;

Результат інтегралу

I=

на проміжку [0;1]

Відносна похибка при обрахунках .

Результат виконання програми рисунок 2 буде мати такий вигляд:

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

Розв’яжемо задачу в пакеті MathCAD 2001 Professional:

Значення інтегралу І=2,680695

4 Аналіз результатів

Для початку аналізу запустимо програму. Послідовно задаємо крок обчислень: 0.1; 0.2; 0.5. Отримані результати порівняємо з розвязком 2,6806954 отриманим за допомогою пакету MathCAD 2001 Professional. Результати запишемо в таблицю:

Таблиця 1

Порядок, похибка Крок обрахунку Значення MathCAD
0,1 0,2 0,5
Значення інтегралу 3-го порядку 2,7305584726 2,6816429227 2,6864903393 2,680695457
Відносна похибка, % 0,049862943 0,0353440217 0,2161708502
Значення інтегралу 4-го порядку 2,7303869675 2,6806954572 2,6806954723 2,680695457
Відносна похибка, % 0,049691510 0,0000000030 0,0000005638
Значення інтегралу 5-го порядку 2,7303870222 2,6806955109 2,6806955116 2,680695457
Відносна похибка, % 0,049691565 0,0000020051 0,0000020303

Неточності обрахунків пов’язані з недоліками наближених методів, із так званою методичною похибкою. Але незважаючи на ці недоліки формулу Гауса називають формулою найвищої алгебраїчної точності [4].


5 Інструкція користувачеві

Програма дуже зручна у користуванні. Запустивши програму буде запропоновано обрати крок обрахунку, з яким буде проводитись обчислення даного інтегралу При запускові користувачеву пропонується обрати крок обчислення даного інтегралу. В залежності від цього кроку буде обраховано значення та похибка інтегралу відповідного порядку.

Програма починає працювати після підключення модуля введення-виведення iostream та модуля math для підключення математичних функцій. Далі вводяться дані для інтегрування та відповідні функції.

Робота програми не вимагає великих системних ресурсів. Щоб забезпечити нормальне функціонування програми, необхідно впевнитись в існуванні стандартних бібліотек мови С ++.

Результати роботи програми виводяться безпосередньо на монітор, що не вимагає додаткових ресурсів пам’яті.


Висновок

В цій курсовій роботі було наведено дослідження вирішення визначеного інтегралу виду

I=

,

методом Гауса третього, четвертого, п’ятого порядку.

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

Отже при обрахунку даного інтегралу було отримані наступні результати:

2,73055; 2,68164; 2,68649 – для значення інтегралу 3-ого порядку кроком 0.1, 0.2, 0.3 відповідно;

2,73038; 2,6806954; 2,2606955 - для значення інтегралу 4-ого порядку кроком 0.1, 0.2, 0.3 відповідно;

2,73039; 2,680695511; 2,680695512 - для значення інтегралу 5-ого порядку кроком 0.1, 0.2, 0.3 відповідно;

Щоб впевнитись у вірності роботи програми для перевірки результатів обчислень, було використано математичний пакет MatchCAD 2001. Похибка обрахунку була оцінена як різниця між точним значенням, що отримане у Mathcard та тим, що отримане в результати роботи програми див (табл. 1).

Ця програма може допомогти тим, хто працює з веденням обрахунків, щоб покращити їх швидкість обробки та точність.


Література

1. Л.М. Круподьорова, А.М. Пєтух. Технологія програмування мовою Сі. - 183 с.

2. В.С. Проценко, П.Й. Чапенко, А.В.Ставровський. Техніка програмування мовою Сі. - 212 с.

3. В.М. Вержбицький , Основы численных методов, – М.: Высшая школа, 2002.- 136 с.

4. Р.Н. Кветний Методи комп’ютерних обчислень. Навчальний посібник.- Вінниця: ВДТУ, 2001.- 148 с.

5. В.М. Дубовий, Р.Н.Квєтний. Програмування комп’ютеризованих систем управління і автоматики. - В.: ВДТУ, 1997.- 208 c.

6. Н.В. Богомолов. Практические занятия по матиматике.- Киев: Вища школа, 1979.- 472 с.

7. В.Т.Маликов, Р.Н.Кветный. Вычислительные методы и применение ЭВМ. – К.: Вища школа, 1989.- 213 с.


Додаток А

Блок-схема програми


Додаток Б

Лістинг

#include <іоstream.h>

#include <stdio.h>

#include <math.h>

#include <conio.h>

#include <stdlib.h>

double ti[4][6]={

{-0.677459667,0.0,0.677459667},{-0.86113631,-0.33998104,0.33998104,0.86113631}, // 4 порядку

{0},

{-0.93246951,-0.66120939,-0.238619119,0.238619119,0.66120939,0.93246951 }

};

double ai[4][6]={

{(double)5/9,(double)8/9,(double)5/9},

{0.34785484,0.65214516,0.65214516,0.34785484},

{0},

{0.17132450,0.36076158,0.46791394,0.46791394,0.36076158,0.17132450}

};

double real=(2.68069545714219);

double f (double x)

{

return exp(-2*x*x+1.5);

}

double gaus(double a, double b, double h, int por)

{

int i;

double sum=0,sum1,aa,bb,x,xi;

for (x=a; x<b; x+=h)

{

aa=x; bb=x+h;

sum1=0;

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

{

xi=(aa+bb)/2+(bb-aa)*ti[por-3][i]/2;

sum1+=ai[por-3][i]*f(xi);

}

sum1*=(bb-aa)/2;

sum+=sum1;

}

return sum;

}

void compare(double _real,double _given,double h,double por,char *method)

{

double ebs;

ebs=fabs(_real-_given)/_real*100;

printf("Result recieved by method %s with step %f&bsol;n",method,por);

printf("&bsol;tI=%.10f&bsol;n",_given);

printf("&bsol;tEbs=%.10f(%%)&bsol;n",ebs);

printf("&bsol;n&bsol;n++++++++++++++++++++++++++++++++++++++++++++++++++++++++&bsol;n&bsol;n&bsol;n");

}

void main()

{

double I;

double h;

double a=0,b=1;

printf("&bsol;t Nablugene znachennja Math Cad 2001 = 2.68069545714219&bsol;n&bsol;n");

printf("&bsol;tEnter step: ");

scanf("%lf",&h);

I=gaus(a,b,h,3);

compare(real,I,h,3,"Gaus");

I=gaus(a,b,h,4);

compare(real,I,h,4,"Gaus");

I=gaus(a,b,h,6);

compare(real,I,h,5,"Gaus");

getch ();

}