Реферат: Решение задачи Дирихле для уравнения Лапласа методом сеток

1.

2. ПОСТАНОВКА ЗАДАЧИ

Решить численно задачу Дирихле для уравнения Лапласа :

(x,y) ÎD ; u|Г =xy2 =f(x,y) ;

область D ограничена линиями: x=2 , x=4 , y=x , y=x+4 ;

Возможно вы искали - Реферат: Решение задачи линейного программирования

(x0 , y0 ) = (3, 5) .

Следует решить задачу сначала с шагом по x и по y : h=0.2, потом с шагом h=0.1 . Точность решения СЛАУ e=0.01 .

3. ОПИСАНИЕ МЕТОДА РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

Поставленная задача решается численно с помощью программы, реализующей метод сеток , разработанный для численного решения задачи Дирихле для уравнений эллептического типа.

Программа написана на языке C++ , в среде Borland C++ версии 3.1. Ниже описан алгоритм работы этой программы.

Похожий материал - Реферат: Решение уравнений, неравенств, систем с параметром (алгебра и начала анализа)

1. На первом шаге область D дискретизируется. Она заменяется на область Dh путем разбиения области D параллельными прямыми по следующему правилу: yi =y0 ± ih, xj =x0 ± ih , i,j=0,1,2…. РР Разбиение производится до тех пор, пока текущая прямая не будет лежать целиком вне области D. Получается множество точек (xi ,yj ).

2. За область Dh принимают те точки множества (xi ,yj ) , которые попали внутрь области D, а также дополняют это множество граничными точками.

3.Во всех точках области Dh вычисляются значения функции f(xi ,yj ) .

4. За область Dh * принимаются все внутренние точки области Dh , т.е. удовлетворяющие требованию:

(xi ,yj ) Î Dh * , если (xi+1 ,yj ) Î Dh , (xi-1 ,yj ) Î Dh , (xi ,yj+1 ) Î Dh , (xi ,yj-1 ) Î Dh .

Очень интересно - Курсовая работа: Метод касательных решения нелинейных уравнений

5. Во всех точках области Dh * вычисляется функция F(N) *[i,j] ( индекс N обозначает номер итерации, на которой производится вычисление):

F(N) *[i,j]=(f(xi+1 ,yj ) + f(xi-1 ,yj ) + f(xi ,yj+1 ) + f(xi ,yj-1 ))/4

6. Теперь если max | F(N+1) *[i,j] - F(N) *[i,j]|< e,взятый по всем точкам области Dh * ,то задача решена;

если нет , то выполнять шаг 5 ( пересчитывать функцию F(N) *[i,j] через значения F(N-1) *[i,j]) до тех пор, пока не выполнится указанное условие.

3.ТЕКСТ ПРОГРАММЫ

Вам будет интересно - Реферат: Решение оптимизационной задачи линейного программирования

#include <stdio.h>

#include <fstream.h>

#include <conio.h>

#include <iostream.h>

#include <math.h>

Похожий материал - Курсовая работа: Решение систем дифференциальных уравнений методом Рунге - Кутты 4 порядка

int i,j,k; // Variables

float h,x,y,tmp,E1;

struct point {

float xx;