close

Вход

Забыли?

вход по аккаунту

?

Labaratornaya rabota 4

код для вставкиСкачать
 Лабораторна робота №4
Тема: Обчислення інтеграла
Виконав: студент 1 курсу, група ІО-13
Осипенко Роман
Короткі теоретичні відомості
Інтегрування - зворотна дія від диференціювання. Застосування інтеграла - знаходження величини, зміна якої описано заданої функцією. Одне із застосувань - обчислення площі кривої, заданої формулою у = F (X).
Алгоритм програми
Задана функція: y=x^2. Наше завдання - обчислити інтеграл:
∫_0^3▒x^2 dx
із заданою точністю e. Ми введемо коефіцієнт ділення відрізка [0, 3] на М частин. Після кожного циклу обчислень ми будемо множити його на 2. Наше завдання - визначити, коли різниця між знайденим нами значенням і точним математичним значенням буде менше e.
Для обчислення на ЕОМ інтеграла вигляду
S=∫_a^b▒f(x)dx
існують шість методів. Загальні змінні для всіх методів: M - кількість розбиттів, h=(b-a)/m. Опишемо ці методи:
Метод лівих прямокутників. Область обчислення ділиться на м рівних відрізків. У лівій точці кожного відрізка обчислюється значення функції Y = F (х), після чого обчислюється площа прямокутника, ширина якого дорівнює відрізку, а висота - значенням функції. Загальна формула для обчислення:
S_(л.п.)=h∙∑_(i=0)^(m-1)▒〖f(a+ih)〗
Метод правих прямокутників аналогічний попередньому, тільки замість значення функції в лівій точці відрізка береться значення в правій точці. формула:
S_(п.п.)=h∙∑_(i=1)^m▒〖f(a+ih)〗
Метод середніх прямокутників. Також аналогічний першому, але тепер береться значення функції в середині відрізка. формула:
S_(с.п.)=h∑_(i=0)^(m-1)▒〖fa+(i+1/2)h〗
Метод трапецій. Нижня сторона - довжина відрізка, бічні - перпендикулярно нижньої, висота лівої і правої дорівнює значенню функції в лівій і правій точках відрізка відповідно. формула:
S_(тр.)=h/2 ∑_(i=1)^(m-1)▒〖(f(a+ih)+f(a+(i+1)h)〗
Метод парабол. Обчислюється за формулою:
S_(пар.)=h/3 ∑_(i=0)^m▒〖k_i∙f(a+ih)〗
де: {█(k=0: i=0, i=m@k=4: i=2n+1, n∈N@k=2: i=2n, n∈N)┤
Метод Баде. Суть полягає в розподілі кожного відрізка на 4. В результаті отримуємо 5 точок (включаючи праву точку 4-го відрізка). Обчислюється сума значень функції в кожній точці, помножена на певний коефіцієнт (7, 32, 12, 32, 7 - послідовно точок додаткового розбиття). Вся сума множиться на заданий формулою зрівнює коефіцієнт. Обчислення кожного відрізка нагадує метод парабол з розбиттям на 4 частини, тільки використовуються інші коефіцієнти. Вводиться також додаткова змінна D = H / 4. формула:
S_Баде=2d/45 ∑_(i=1)^(m-1)▒(█(7∙f(a+ih)+32∙f(a+ih+d)+12∙f(a+ih+2d)+@+32∙f(a+ih+3d)+7∙f(a+ih+4d))) Обчислимо наш інтеграл:
s=∫_0^3▒〖x^2 dx=x^3/3〗 |3¦0┤=9-0=9
метод лівих прямокутників:
метод правих прямокутників:
метод середніх прямокутників:
метод трапецій:
метод парабол:
метод Баде:
Програма
program integral ;
var
a , b , s , e , h , d : real ;
k , i : integer ;
m1 , m2 , m3 , m4 , m5 , m6 : longint ;
s1 , s2 , s3 , s4 , s5 , s6 : real ;
begin
writeln ( ' Function y=sqr(x). Mathematic value of integral on interval [0,3] is 9.' ) ;
write ( 'Enter calculation accuracy e: ' ) ;
readln ( e ) ;
a := 0 ;
b := 3 ;
s := 9 ;
m1 := 1 ;
repeat
s1 := 0 ;
m1 := m1 * 2 ;
h := ( b - a ) / m1 ;
for i := 0 to m1-1 do
s1 := s1 + sqr ( a + i*h ) ;
s1 := s1 * h ;
until abs ( s1 - s ) <= e ;
m2 := 1 ;
repeat
s2 := 0 ;
m2 := m2 * 2 ;
h := ( b - a ) / m2 ;
for i := 1 to m2 do
s2 := s2 + sqr ( a + i*h ) ;
s2 := s2 * h ;
until abs ( s2 - s ) <= e ;
m3 := 1 ;
repeat
s3 := 0 ;
m3 := m3 * 2 ;
h := ( b - a ) / m3 ;
for i := 0 to m3-1 do
s3 := s3 + sqr ( a + (i+0.5)*h ) ;
s3 := s3 * h ;
until abs ( s3 - s ) <= e ;
m4 := 1 ;
repeat
s4 := 0 ;
m4 := m4 * 2 ;
h := ( b - a ) / m4 ;
for i := 0 to m4-1 do
s4 := s4 + sqr ( a + i*h ) + sqr ( a + (i+1)*h) ;
s4 := s4 * h / 2 ;
until abs ( s4 - s ) <= e ;
m5 := 1 ;
repeat
s5 := 0 ;
m5 := m5 * 2 ;
h := ( b - a ) / m5 ;
for i := 0 to m5 do
begin
if i = 0 then
k := 1
else
if i = m5 then
k := 1
else
if ( i mod 2 ) = 1 then
k := 4
else
k := 2 ;
s5 := s5 + k * sqr ( a + i*h ) ;
end ;
s5 := s5 * h / 3 ;
until abs ( s5 - s ) <= e ;
m6 := 1 ;
repeat
s6 := 0 ;
m6 := m6 * 2 ;
h := ( b - a ) / m6 ;
d := h / 4 ;
for i := 0 to m6-1 do
s6 := s6 + 7*sqr(a+i*h) + 32*sqr(a+i*h+d) + 12*sqr(a+i*h+d*2) + 32*sqr(a+i*h+d*3) + 7*sqr(a+i*h+d*4) ;
s6 := s6 * 2 * d / 45 ;
until abs ( s6 - s ) <= e ;
writeln ;
writeln ( ' Left rectangles. M = ' , m1:5 , ' and S = ' , s1:1:7 ) ;
writeln ( ' Right rectangles. M = ' , m2:5 , ' and S = ' , s2:1:7 ) ;
writeln ( 'Center rectangles. M = ' , m3:5 , ' and S = ' , s3:1:7 ) ;
writeln ( ' Trapeziums. M = ' , m4:5 , ' and S = ' , s4:1:7 ) ;
writeln ( ' Parabolas. M = ' , m5:5 , ' and S = ' , s5:1:7 ) ;
writeln ( ' Bathe. M = ' , m6:5 , ' and S = ' , s6:1:7 ) ;
end .
перевірка програми
Function y=sqr(x). Mathematic value of integral on interval [0,3] is 9.
Enter calculation accuracy e: 0.001
Left rectangles. M = 16384 and S = 8.9991760
Right rectangles. M = 16384 and S = 9.0008240
Center rectangles. M = 64 and S = 8.9994507
Trapeziums. M = 128 and S = 9.0002747
Parabolas. M = 2 and S = 9.0000000
Bathe. M = 2 and S = 9.0000000
Аналіз результатів і висновки
Очевидно, що методи можна розділити на три категорії:
1. малоефективні методи (лівих і правих прямокутників);
2. середньої ефективності (середніх прямокутників і трапецій);
3. оптимальні (парабол і Баде).
Виходячи з цього, найефективнішим в нашому випадку виявився метод парабол.
2
3
Документ
Категория
Рефераты
Просмотров
24
Размер файла
115 Кб
Теги
rabota, labaratornaya
1/--страниц
Пожаловаться на содержимое документа