Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Березиков..М.Ук2.doc
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
509.95 Кб
Скачать

Расчет определенного интеграла с эаданной точностью

В изложенном порядке расчета оказывается неопределенным коли-чество расчетных участков. С увеличением количества n расчетных учас-тков или, что то же самое, с уменьшением шага h точность расчета уве-личивается, но одновременно возрастает объем вычислений. Для грубой оценки точности обычно используют двойной пересчет с шагами h и 2h и считают, что верными являются совпадающие десятичные цифры.

Если требуемая точность задана, то применяется схема расчета с автоматическим выбором количества расчетных участков или, иначе, с автоматическим выбором шага. В качестве исходных данных задаются: пределы интегрирования a и b, допустимая погрешность , а также подынтегральная функция f(x). Принимается начальное количество участков n=2 и вычисляется предыдущее значение интеграла S0, затем количество участков удваивается и вычисляется последующее значение интеграла S1. Условие окончания счета

|S1 - S0| <  .

Если это условие не выполняется, то процесс удвоения числа участков продолжается. Блок-схема программы расчета интеграла с заданной точ-ностью показана на рис. 5.4.

нет

да

Вывод

Рис. 5.4 Блок-схема программы численного

интегрирования с заданной точностью

Пример расчета функции Лапласа

F(x)=

с точностью =0.0001.

Текст программы

program simavt;

uses crt;

type vec=array[0..30] of real;

var i,n:integer;a,b,h,x,s0,s1,eps:real;

y:vec;

{ - - - - - - - - - - - }

function f(x:real):real;

begin f:=exp(-x*x/2)

end;

{ - - - - - - - - - - - }

function sm(n:integer;h:real;r:vec):real;

var k:integer;st:real;

begin st:=r[0]-r[n];k:=4;

for i:=1 to n do

begin st:=st+k*r[i];k:=6-k

end; sm:=st*h/3

end;

{ - - - - - - - - - - -}

begin clrscr;

a:=0;b:=1.63;eps:=0.0001;

n:=1;s1:=1e20;

repeat s0:=s1;n:=2*n;

h:=(b-a)/n;

for i:=0 to n do

begin x:=a+i*h;y[i]:=f(x)

end; s1:=sm(n,h,y)/sqrt(2*pi)

until abs(s0-s1)<=eps;

writeln('eps=',eps:8:6, ' s=',s1:10:4,' n=',n:2);

repeat until keypressed

end.

Результат

eps=0.000100 s= 0.4484 n= 8

Расчет двойных интегралов

Графически расчет двойного интеграла

V= ,

нагляднее всего трактовать как вычисление объема фигуры ( рис. 5.5), ограниченной плоскостью xy, поверхностью z=f(x,y), цилиндрическими по-верхностями y=(x) и y=(x) и плоскостями x=a и x=b.

Вычисление двойного интеграла разбивают на два последовательных

z

y=1(x)

y

a

y=2(x)

x c Si

d

b

Рис. 5.5. Графическое представление

двойного интеграла

расчета двух одинарных интегралов S= и V= .

Задавая количество участков nx по оси x получают координаты узловых сечений

x=a + i*hx ,

где hx=(b-a)/nx - шаг интегрирования по оси x,

и значения пределов интегрирования c=1(x) и d=2(x). Разбивая диа-пазон [c, d] на ny участков, вычисляют абсциссы

y=c + j*hy ,

где hy=(d-c)/ny - шаг интегрирования по оси y,

и ординаты z=f(x, y) узловых точек промежуточных площадей S. Затем с помощью функции расчета определенного интеграла последовательно рассчитываются промежуточные площади S и искомый интеграл V. Блок-схема расчета двойного интеграла представлена на рис. 5.6.

Пример расчета двойного интеграла

V= Принять nx=8 и ny=4 .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]