Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Національний університет “Львівська політехніка”
Звіт до лабораторної роботи №5
ЧИСЛОВЕ ОБЧИСЛЕННЯ
ВИЗНАЧЕНИХ ІНТЕГРАЛІВ
З курсу
«Комп’ютерні методи дослідження систем керування»
Варіант №6
Виконав:
Ст. гр. СІ-22
Перевірив:
Львів-2010
Мета роботи:
Вивчити основні методи обчислення визначених інтегралів.
Завдання:
№
п/п
Завдання
(метод та кількість розбиттів проміжку інтегрування)
Для методів прямокутників та трапецій:
Для методу Сімпсона:
Група 1
Група 2
Група 3
6
Метод Сімпсона
Метод середніх прямокутників
Метод правих прямокутників
№6
Короткі теоретичні відомості:
Метод прямокутників
У цьому найпростішому випадку здійснюємо заміну малих криволінійних фігур звичайними прямокутниками з основою ( – к-сть розбиттів) і висотою рівною значенню функції в крапці та обчислюємо суму площ цих прямокутників (рис. 2а)
. (2.1)
Формулу (2.1) називають формулою лівих прямокутників.
Формула правих прямокутників (рис. 2б) записується так
. (2.2)
Однак на практиці найчастіше використовують формулу середніх прямокутників (рис. 3)
. (2.3)
Список ідентифікаторів, констант, змінни, функцій, методів, використаних у програмі та їх пояснення:
#include "math.h"- включення математичної бібліотеки;
In, h, a, b, x– змінні, де
a – початок проміжку інтегрування,
b – кінцеве значення проміжку інтегрування,
х – аргумент ф-ії,
h – крок ф-ії,
TForm1 *Form1 – глобальний показчик на форму;
exp – обчислення значення експоненти;
Текст програми:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
double in,h,a=1,b=2,x;
int n=1000000,i;
in=0; h=(b-a)/n; x=a;
for (i=1; i<=n; i++)
{
in=in+x*exp(3*x);
x=x+h;
}
in=in*h;
Memo1->Lines->Add(AnsiString("результат обчислень: ")+AnsiString(in));
in=(exp(3*b)/9)*(3*b-1)-(exp(3*a)/9)*(3*a-1);
Memo1->Lines->Add(AnsiString("перевірка обчислень: ")+AnsiString(in));
}
//---------------------------------------------------------------------------
Результати роботи програми: