Загрузить архив: | |
Файл: ref-12537.zip (29kb [zip], Скачиваний: 142) скачать |
Вычисление двойных интегралов методом ячеек.
Выполнил студент
факультета ИиВТ,
Содержание.
Теоретическая часть…………………………………………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;
}
Блок-схема программы.
|
Начало |
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.