Вычисление двойных интегралов методом ячеек

Загрузить архив:
Файл: ref-12537.zip (29kb [zip], Скачиваний: 142) скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Чувашский государственный университет им. И. Н. Ульянова

КУРСОВАЯ РАБОТА

по вычислительной математике.

Вычисление двойных интегралов методом ячеек.

Выполнил студент

факультета ИиВТ,

группа ИВТ-11-00

Борзов Леонид

Чебоксары-2002

Содержание.

Теоретическая часть…………………………………………3

Задание………………………………………………………..4

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

Блок-схема программы…………………….………………...6

Выполнение программы в математическом пакете………..7

Список использованной литературы……………………......8

Теоретическая часть.

Численные методы могут использоваться для вычисления кратных интегралов. Ограничимся рассмотрением двойных интегралов вида

I=                                          (1)

Одним из простейших способов вычисления этого интеграла является метод ячеек. Рассмотрим сначала случай, когда областью интегрирования G является прямоугольник: , .По теореме о среднем найдём среднее значение функции f(x,y):

 S=(b-a)(d-c).                       (2)

O

b

a

c

d

x

y

Рис. 1

Будем считать, что среднее значение приближённо равно значению функции в центре прямоугольника, т. е.

      (3)

Точность этой формулы можно повысить, если разбить область G на прямоугольные ячейки Dij (рис. 1): xi-1 i (i=1,2,…,M), yi-1 i  (j=1,2,…,N). Применяя к каждой ячейке формулу (3), получим

òòDGijf(x,y)dxdy»¦()DxiDyi.

Суммируя эти выражения по всем ячейкам, находим значение двойного интеграла:

I,j)                                    (4)

В правой части стоит интегральная сумма; поэтому при неограниченном уменьшении периметров ячеек (или стягивания их в точки) эта сумма стремится к значению интеграла для любой непрерывной функции f(x,y).

Можно показать, что погрешность такого приближения интеграла для одной ячейки оценивается соотношением

Rij»DxiDyj.

Суммируя эти выражения по всем ячейкам и считая все их площади одинаковыми, получаем оценку погрешности метода ячеек в виде

O(Dx2+Dy2).

Таким образом, формула (4) имеет второй порядок точности. Для повышения точности можно использовать обычные методы сгущения узлов сетки. При этом по каждой переменной шаги уменьшают в одинаковое число раз, т. е. отношение M/N остаётся постоянным.

Если область G непрямоугольная, то в ряде случаев её целесообразно привести к прямоугольному виду путём соответствующей замены переменных. Например, пусть область задана в виде криволинейного четырёхугольника:  

Задание. Найти при помощи метода ячеек значение интеграла  – область, ограниченная функциями

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

#include

#include

float f(float,float);

void main() {

 const float h1=.0005,h2=.001;

 float s1,x,y,i,I;

 clrscr();

 s1=h1*h2;

 I=0;

 y=h2/2;

 x=1-h1/2;

 for(i=0;i<1/h2;i++) {

  while (y<2*x-1) {

   I+=s1*f(x,y);

   x-=h1;

  }

  y+=h2;

  x=1-h1/2;

 }

cout<<"Площадь интеграла равна: "<

 getch();

}

float f(float x,float y){

 return x*x+y*y;

}

Блок-схема программы.

x=1-h1/2

 SHAPE  * MERGEFORMAT

Начало

h1=0.0005 h2=0.001

Очистка экрана

s1=h1*h2

I=0

y=h2/2

i=0

i<1/h2

y<2x-1

I=I+s1*f(x,y)

x=x-h1

1

2

3


 SHAPE  * MERGEFORMAT

y=y+h2

x=1-h1/2

i=i+1

Вывод: «Площадь интеграпа равнв:», I

1

2

Конец

3

Выполнение программы в математическом пакете.

h1=.0005;

h2=.001;

s1=h1*h2;

I=0;

y=h2/2;

x=1-h1/2;

for i=1:1/h2

while y<2*x-1  I=I+s1*(x*x+y*y);

 x=x-h1;

end

y=y+h2;

x=1-h1/2;

end

disp('Площадь интеграла равна:');

disp(I);

В зависимости от шагов сетки получаем с различной точностью значение искомого интеграла

Площадь интеграла равна:

    0.2190

Список использованной литературы.

1. Бахвалов Н.С. Численные методы. т.1 – М.: Наука. 1975.

2. Демидович Б.П., Марон И.А. Основы вычислительной математики. – М.: Наука, 1966.

3. Калиткин  Н.Н Численные методы. – М.: Наука, 1978.

4. Турчак Л. И. Основы численных методов. – М.: Наука, 1987.