/p>
Можна показати, що похибка такого наближення інтеграла для одного осередку оцінюється співвідношенням
R ij В» D x i D y j .
Підсумовуючи ці вирази по всіх клітинок і вважаючи всі їхні площі однаковими, отримуємо оцінку похибки методу осередків у вигляді
Таким чином, формула (4) має другий порядок точності. Для підвищення точності можна використовувати звичайні методи згущення вузлів сітки. При цьому по кожній змінної кроки зменшують у однакове число разів, тобто відношення M / N залишається постійним.
Якщо область G непрямокутну, то в ряді випадків її доцільно привести до прямокутного вигляду шляхом відповідної заміни змінних. Наприклад, нехай область задана у вигляді криволінійного чотирикутника:В ,. Дану область можна привести до прямокутного увазі за допомогою заміни,. Крім того, формула (4) може бути узагальнена і на випадок більш складних областей. <В
Завдання . Знайти за допомогою методу осередків значення інтеграла, де - область, обмежена функціями.
В В
Текст програми.
# 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 + +) {p> 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 В В В В В В В В В В
В
Виконання програми в математичному пакеті.
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. Бахвалов Н.С. Чисе...