Автор работы: Пользователь скрыл имя, 17 Октября 2011 в 00:21, лабораторная работа
Известно, что определенный интеграл функции типа численно представляет собой площадь криволинейной трапеции ограниченной кривыми x=0, y=a, y=b и y= (Рис. 1). Есть два метода вычисления этой площади или определенного интеграла — метод трапеций (Рис. 2) и метод средних прямоугольников
ФГОУ ВПО «ЧГУ им. И.Н. Ульянова»
Кафедра
АЭТУС
Лабораторная
работа по вычислительным
методам №3
Вычисление
определённого интеграла
Никитин И.Н.
Чебоксары 2009.
Интегрирование
методом Прямоугольников
и трапеций.
Известно, что определенный интеграл функции типа численно представляет собой площадь криволинейной трапеции ограниченной кривыми x=0, y=a, y=b и y= (Рис. 1). Есть два метода вычисления этой площади или определенного интеграла — метод трапеций (Рис. 2) и метод средних прямоугольников (Рис. 3).
Рис. 1. Криволинейная трапеция.
Рис. 2. Метод трапеций.
Рис. 3. Метод
средних прямоугольников.
По методам трапеций и средних прямоугольников соответственно интеграл равен сумме площадей прямоугольных трапеций, где основание трапеции какая-либо малая величина (точность), и сумма площадей прямоугольников, где основание прямоугольника какая-либо малая величина (точность), а высота определяется по точке пересечения верхнего основания прямоугольника, которое график функции должен пересекать в середине. Соответственно получаем формулы площадей —
для метода трапеций:
для метода средних прямоугольников:
Собственное значение определенного
интеграла
находится методом Симпсона (парабол). Отрезок [a,b] разбивается на n=2m частей x0=a,x1=a+h, . . . ,xn=b с шагом h=(b-a)/n. Вычисляются значения yi=F(xi) функции в точках xi и находится значение интеграла по формуле Симпсона:
S=Sn+Rn,
где
Затем количество точек разбиения удваивается и производится оценка точности вычислений:
Rn=|S2n-Sn|/15
Если Rn
> e, то колличество точек разбиения
удваивается. Значение суммы 2(y1+y2+.
. . +y2m-1) сохраняются, поэтому
для вычисления интеграла при удвоенния
количества точекразбиения требуется
вычислять значения yi лишь
в новых точках разбиения.
Если заданы значения функции F(x) на интервале [a,b] y0,y1, . . ., yn в равностоящих точках и n четно, то приближенное значение интеграла вычисляется по формуле:
=
Выполнение работы:
Вычислить интеграл
Программа решения задачи методом прямоугольников.
Program Pryamougolniki;
var
n,i : integer;
a,b,shag,sum,itog : real;
function F(x:real):real;
begin
F:=cos(x*x)
end;
BEGIN
write('Начало интегрирования a = '); readln(a);
write('Конец интегрирования b = '); readln(b);
write('Количество разбиений интервала n = '); readln(n);
shag:=(b-a)/n;
sum:=0;
for i:=1 to n-1 do
sum := sum + F(shag*i+a);
sum := sum + (F(a)+F(b))/2;
itog:=(b-a)/n * sum;
writeLn('Интеграл = ', itog:0:5)
end.
Результат работы программы:
Начало интегрирования a = 0
Конец интегрирования b = 1
Количество разбиений интервала n = 1000
Интеграл = 0.90452
Вычислив данный интеграл с помощью MathCad, получим
Программа
решения задачи методом
трапеций.
program Trapecii;
uses
Crt;
var
s,Si,x0,dx:real;
i,x1,x2,n:integer;
begin
writeln('Программа
вычисления определенного
writeln('Метод трапеций.');
writeln('Введите исходные значения:');
write('Начальное значение x (x1)='); Readln(x1);
write('Конечное значение x (x2)='); Readln(x2);
write('Количество разбиений ='); Readln(n);
s:=0;
x0:=0;
dx:=(x2-x1)/n;
for i:=1 to n do begin
si:=0.5*dx*(cos(x0*x0)+cos((
s:=s+si;
x0:=x0+dx;
end;
writeln('Интеграл равен:',s:0:5);
end.
Результат работы программы:
Программа вычисления определенного интеграла
Метод трапеций.
Введите исходные значения:
Начальное значение х (х1)=0
Конечное значение х (х2)=1
Количество разбиений =1000
Интеграл равен: 0.90452
Программа
решения задачи методом
Симпсона.
program Simpson;
function F(x:Real):Real;
begin
F:=cos(x*x);
end;
var a,b,h,x :real;
n,i :integer;
integ :real;
begin
write('Введите начало интегрирования a='); readln(a);
write('Введите конец интегрирования b='); readln(b);
write('Введите
количество разбиений
if (n mod 2)>0 then
begin
n:=n+1;
end;
h:=(b-a)/n;
integ:=F(a)+F(b)+4*F(a+h);
for i:=1 to (n div 2)-1 do
begin
x:=a+2*h*i;
integ:=integ+2*F(x)+4*F(x+h);
end;
integ:=h*integ/3;
writeln('Интеграл = ',integ:0:5);
end.
Результат работы программы:
Введите начало интегрирования a=0
Введите конец интегрирования b=1
Введите количество разбиений интервала (четное число) n=1000
Интеграл = 0.90452
Расчет проверялся для функции , а определенный интеграл брался от 0 до 1.
Таким образом очевидно, что при вычислении определенных интегралов методами трапеций и средних прямоугольников не дает нам точного значения, а только приближенное.
Чем ниже задается численное значение точности вычислений (основание трапеции или прямоугольника, в зависимости от метода), тем точнее результат получаемый машиной. При этом, число итераций составляет обратно пропорциональное от численного значения точности. Следовательно для большей точности необходимо большее число итераций, что обуславливает возрастание затрат времени вычисления интеграла на компьютере обратно пропорционально точности вычисления.
Использование для вычисления одновременно двух методов (трапеций и средних прямоугольников) позволило исследовать зависимость точности вычислений при применении обоих методов.
Следовательно
при понижении численного значения
точности вычислений результаты расчетов
по обеим методам стремятся друг
к другу и оба к точному результату.