У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Числове інтегрування
2



МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ

Лабораторна робота

Числове інтегрування

Мета: вивчення засобiв мови Сi та оволодiння прийомами складання алгоритмiв i програм для числового інтегрування.

Завдання: обчислити визначений інтеграл функції 1/sqr(4*x2+1.5) із похибкою 0.001, поділивши проміжок [0.6;1.7] на 11 частин користуючись метод а)прямокутникiв, б)трапецiй, в)Сiмпсона.

Теоретичні відомості: Обчислення визначеного інтегралу функції має вигляд

 

Інтеграл функції чисельно дорівнює площі фігури, обмеженої лініями: t=a, t=b, y=0 i y=f(t). Для її наближеного обчислення застосовуються методи: прямокутників, трапецій і парабол, які передбачають заміну кривої y=f(t) відповідно ступінчатою та ламаною лініями або параболою. Суть цих методів полягає в тому, що діапазон інтегрування [a, b] ділять на n елементарних відрізків довжиною h, після чого виконують обчислення за поданими нижче формулами, які називаються квадратурними. При цьому h=(b-a)/n, t0 = a, tn = b, ti+1 = ti+h, yi=f(ti).

Алгоритм числового інтегрування функцій представляє собою цикл з накопиченням суми.

Метод правих прямокутників s = h*(y1 + y2 + y3 + ... + yn) або .

Метод трапецій s=h*[(y0 + yn)/2 + y1 + y2 + ... + yn-1] або

Метод парабол (Сімпсона) s=(y0 + 4y1 + 2y2 + 4y3 + 2y4 + 4y5 + ... + 4yn-1 + yn) або , де k=n/2 (n – парне число).

Графічний алгоритм.

а) б)

Змінна | xi-1 | xi | y2i | y2i-1

Ідентифікатор | x1 | x2 | y1 | y2

в)

а) Програма складена мовою Сі з використанням метода прямокутникiв :

#include<stdio.h>

#include<math.h>

main()

#define n 11

#define a 0.6

#define b 1.7

{ float x,y,s=0,h;

int i;

clrscr();

h=(b-a)/n;

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

{

x=a+h*i ;

y=1/pow(4*x*x+1.5,2);

s+=y;

}

s*=h;

printf("s=%f",s);

getch();

}

б) Програма складена мовою Сі з використанням метода трапецiй:

#include<stdio.h>

#include<math.h>

main()

#define n 11

#define a 0.6

#define b 1.7

{ float x,y,s=0,h;

int i;

clrscr();

h=(b-a)/n;

for(i=0;i<n-1;i++)

{

x=a+h*i ;

y=1/pow(4*x*x+1.5,2);

s+=y;

}

s+=(1/pow(4*a*a+1.5,2)+1/pow(4*b*b+1.5,2))/2;

s*=h;

printf("s=%f",s);

getch();

}

в) Програма складена мовою Сі з використанням метода Сiмпсона :

#include<stdio.h>

#include<math.h>

main()

#define n 12

#define a 0.6

#define b 1.7

{ float x1,x2,y1,y2,s=0,h;

int i,k;

clrscr();

h=(b-a)/n;

k=n/2;

for(i=1;i<=k-1;i++)

{

x1=a+h*(2*i-1);

x2=a+h*2*i;

y1=4/pow(4*x1*x1+1.5,2);

y2=2/pow(4*x2*x2+1.5,2);

s+=y1+y2;

}

s+=1/pow(4*a*a+1.5,2)+1/pow(4*b*b+1.5,2)+4/pow(4*(b-h)*(b-h)+1.5,2);

s*=h/3;

printf("s=%f",s);

getch();

}

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

а) s=0.042375

б) s=0.047126

в) s=0.039827

Висновок: Виконавши лабораторну роботу, я вивчив засоби мови Сi, та оволодiв прийомами складання алгоритмiв i програм, для числового інтегрування.