UiM-1 = UiM+1
Итак краевые условия на у=b имеют вид
UiM+1 = UiM-1
UiM = 0 (4`)
Итого наша задача в разностных производных состоит из уравнения (*) заданного на сетке Wи краевых условий (1`)-(4`) заданных на границе области G (или на границе сетки W)
ПРИМЕНЕНИЕ МЕТОДА ЗЕЙДЕЛЯ
Рассмотрим применение метода Зейделя для нахождения приближенного решения нашей разностной задачи (*),(1`) - (4`).
В данном случае неизвестными являются
Uij = U(xi,yj)
где xi = ihx
yj = jhy
при чём hx = a/N ,
hy = b/M
это есть шаг сетки по x и по у соответственно , а N и М соответственно количество точек разбиения отрезков [0, а] и [0,b]
Пользуясь результатами предыдущего раздела запишем уравнение
2
DU = f
как разностное уравнение. И упорядочим неизвестные естественным образом по строкам сетки W , начиная с нижней строки.
hx hx hxhy hx hxhy hy hx hxhy hx hxhy
+ 1 Uij+2 = f ijдля i=1 ... N-1, j=1 ... M-1
4
hy
и Uудовлетворяет краевым условиям (1`) - (4`), так как в каждом уравнении связаны вместе не более 13 неизвестных то в матрице А отличны от нуля не более 13-элементов в строке. В соответствии со вторым разделом перепишем уравнение:
(k+1) (k+1) (k+1) (k+1)6 - 8 + 6 Uij = - 1 Uij-2 - 2 Ui-1j-1 + 4 + 4 Uij-1 -
4 2 2 4 4 2 2 2 2 4hx hxhy hy hy hxhy hxhy hy
(k+1) (k+1) (k+1) (k)- 2 Ui+1j-1 - 1 Ui-1j +
4 + 4 Ui-1j + 4 + 4 Ui+1j -2 244 2 2 4 2 2
hxhy hx hx hxhy hx hxhy(k) (k) (k) (k) (k)
- 1 Ui+2j - 2 Ui-1j+1 + 4 + 4 Uij+1 - 2 Ui+1j+1 - 1 Uij+2 + fij
4 2 2 2 2 4 2 2 4 hx hxhy hxhy hy hxhy hy(k)
При чем U удовлетворяет краевым условиям (1`) - (4`). Вычисления начинаются с i=1, j=1и продолжаются либо по строкам либо по столбцам сетки W. Число неизвестных в задаче n = (N-1)(M-1).
Как видно из вышеизложенных рассуждений шаблон в этой задаче тринадцатиточечный т.е. на каждом шаге в разностном уравнении участвуют 13 точек (узлов сетки) Рассмотрим вид матрицы А-для данной задачи.
j+2 |
j+1 |
j |
j-1 |
Матрица метода получается следующим образом : все узлы сетки перенумеровываются и размещаются в матрице Так что все узлы попадают на одну строку и поэтому матрица метода для нашей задачи будет тринадцатидиагональной .
j-2 |
i-1 |
i |
i+1 |
i+2 |
i-2 |
Шаблон задачи |
ОПИСАНИЕ ПРОГРАММЫ.
Константы используемые в программе :
aq = 1- правая граница области G
b = 1 - левая граница области G
N = 8 - колличество точек разбиения отрезка[0,a]
M = 8 - колличество точек разбиения отрезка [0,b]
h1 = aq/N - шаг сетки по X
h2 = b/M - шаг сетки по Y
Переменные :
u0 - значения сеточной функции U на k-ом шаге
u1 - значения сеточной функции Uна (k+1)-ом шаге
a - массив коэффициентов шаблона
Описание процедур :
procedure Prt(u:masa) - печать результата
function ff(x1,x2: real):real - возвращает значение функцииf в узле (x1,x2)
procedure Koef - задаёт значения коэффициентов
Действие :
Берётся начальое приближение u0 и с учётом краевых условий ведётся вычисление с i=2 ... N , j=2 ... M. На каждом итерационном шаге получаем u1 по u0. По достижении заданной точности eps>0вычисления прекращаются. И все элементы матрицы A, которые лежат ниже главной диагонали получают итерационный шаг (k+1) , а те элементы которые лежат выше главной диагонали (исключая главную диагональ) получают итерационный шаг k.
Примечание : программа реализована на языке Borland Pascal 7.0
Министерство общего и профессионального образования РФ
Воронежский государственный университет
факультет ПММ
кафедра Дифференциальных уравнении
Курсовой проект
“Решение бигармонического уравнения методом Зейделя”
Исполнитель : студент 4 курса 5 группы
Никулин Л.А.
Руководитель : старший преподаватель
Рыжков А.В.
Воронеж 1997г.