МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА, кафедра “Захист інформації”
Звіт
з ЛАБОРАТОРНої РОБОТи № 4
З КУРСУ “Комп’ютерні методи досліджень”
НА ТЕМУ:
“ ЧИСЛОВЕ ІНТЕГРУВАННЯ ФУНКЦІЇ ОДНІЄЇ ЗМІННОЇ ”
Варіант 12
виконав:
ст. гр. ІБ-2
Львів – 2007
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Скласти програму обчислення означеного інтеграла вказаним викладачем методом.
Методи прямокутників, трапецій і Сімпсона зі змінним кроком інтегрування, Гаусса і Чебишова – з сталим.
Короткі теоретичні відомості
Метод Гауса
Формулу Гауса називають формулою найвищої алгебраїчної точності, абсциси xi при інтерполяції (наближенні, заміні) функції EMBED Equation.3 вибираються з умови забезпечення мінімальної похибки інтерполяції. В методі Гауса інтеграл
EMBED Equation.2 (23)
зводиться до вигляду
EMBED Equation.2 (24)
причому точне значення інтегралу заміняється на наближену квадратурну формулу.
Це зведення відбувається у наступній послідовності. У формулі (23) змінна x заміняється на
EMBED Equation.2 (25)
Тоді
EMBED Equation.2 (26)
і з врахуванням (24) можна записати, що:
EMBED Equation.2 . (27)
В формулі (24) коефіцієнти EMBED Equation.3 та абсциси ( вузли ) EMBED Equation.3 вибираються в залежності від числа цих вузлів). Значення EMBED Equation.3 невідомих EMBED Equation.3 є коренями так званих поліномів Лежандра. Вузли EMBED Equation.3 розташовані на інтервалі (-1,1), завжди симетрично відносно нуля. Всі вагові коефіцієнти додатні, а їх сума дорівнює 2.
Для достатньо гладкої підінтегральної функції формула Гауса (27) забезпечує високу точність вже при невеликому числі вузлів EMBED Equation.3 . Для оцінки похибки обчислень за формулою Гауса з EMBED Equation.3 вузлами користуються формулою:
EMBED Equation.2 , EMBED Equation.2
Наприклад, при
EMBED Equation.3 EMBED Equation.2 ;
EMBED Equation.3 EMBED Equation.2
Блок-схема
SHAPE A,b
a[0]= 0,86113631; t[0]= 0,34785484;
a[1]= 0,33998104 ; t[1]= 0,65214516;
a[2]=- 0,86113631; t[2]=- 0,34785484 ;
a[3]= -0,33998104 ; t[3]=- 0,65214516 ;
suma=0;
I=0,n-1
I=i+1
suma=suma+a[i]*f((b-a)/2*t[i]+(b+a)/2);
l
l=(b-a)/2*suma;
Таблиця ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення:
nРозмір квадратноїматриціFФункціяiрахівникA[n]Матриця розміру nT[n]Матриця розміру nmain()Головна функціяABLЗмінна, яка відповідає значенню інтегралаsuma
Текст програми мовою C
#include <stdio.h>
#include <math.h>#include <stdio.h>
#define n 4;
Double f(double x){
Return pow(x*log(2),4)
}
void main(void){
double a,b,a[n],t[n],suma,l,i;
clrscr();
prinf(“a=? b=?”);
scanf(“%lf %lf”, &a, &b);
a[0]= 0,86113631; t[0]= 0,34785484;
a[1]= 0,33998104 ; t[1]= 0,65214516;
a[2]=- 0,86113631; t[2]=- 0,34785484 ;
a[3]= -0,33998104 ; t[3]=- 0,65214516 ;
suma=0;
for (i=0; i<=n-1; i++) suma+=a[i]*f((b-a)/2*t[i]+(b+a)/2);
l=(b-a)/2*suma;
clrscr();
printf(“integral=%lf”,l);
}
Результати роботи програми:
Integral = 2.40824
Висновок: На цій лабораторній роботі я ознайомився з методами числового інтергрування функції однієї змінної.