Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Національний університет “Львівська політехніка”
Звіт до лабораторної роботи №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));
}
//---------------------------------------------------------------------------
Результати роботи програми:
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!