Метод конечных разностей или метод сеток

Страница: 2/6

Сетка W очевидно состоит из точек пересечения прямых x=x(i) и y=y(j).

Пусть задана сетка W.Множество всех сеточных функций заданных на W образует векторное пространство с определённом на нём сложениемфункций и умножением функции на число. На пространстве сеточных функций можно определитьразностные или сеточные операторы. 0ператор A преобразующий сеточную функцию U в сеточную функцию f=AU называется разностным или сеточным оператором. Множество узлов сетки используемое при написании разностного оператора в узле сетки называется шаблоном этого оператора.

Простейшим разностным оператором является оператор дифференцирования сеточной функции, который порождает разностные производные. Пусть W - сетка с шагом h введённая на R т.е.

W={Xi=a+ih, i=0, + 1, + 2 .}

Тогда разностные производные первого порядка для сеточной функции Yi=Y(Xi) , Xi из W, определяется по формулам :

L1Yi = Yi - Yi-1 , L2Yi=L1Yi+1

h

и называются соответственно левой и правой производной. Используется так же центральная производная :

L3Yi=Yi+1 - Yi-1 = (L1+L2)Yi

2h 2

Разностные операторы A1, A2, A3 имеют шаблоны состоящие 2х точек и используются при апроксимации первой производной Lu=u’ . Разностные производные n-ого порядка определяются как сеточные функции получаемые путём вычисления первой разностной производной от функции, являющейся разностной производной n-1 порядка, например :

Yxxi=Yxi+1 - Yxi = Yi-1-2Yi+Yi+1

2

h h

Yxxi= Yxi+1-Yxi-1 = Yi-2 - 2Yi+Yi+ 2

2

2h 4h

которые используются при апроксимации второй производной. Соответствующие разностные операторы имеют 3х точечный шаблон.

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

Аппроксомируем нашу задачу с помощью разностных производных. И применим к получившейся сеточной задаче метод Зейделя.

МЕТОД ЗЕЙДЕЛЯ

Одним из способов решения сеточных уравнений является итерационный метод Зейделя.

Пусть нам дана система линейных уравнений :

AU = f

или в развёрнутом виде :

M

aijUj = fi , i=1,2 .M

i=1

Итерационный метод Зейделя в предположении что диагональные элементы матрицы А=(aij) отличны от нуля (aii<>0) записывается в следующем виде :

i (k+1) M (k)

aijYj + aijYj = fi , i=1,2 .M

j=1 j=i+1

(k)

где Yj - jая компонента итерационного приближения номера k. В качестве начального приближения выбирается произвольный вектор.

Определение (k+1)-ой итерации начинается с i=1

(k+1) M (k)

a11Y1 = - a1jYj +f1

j=2

(k+1)

Так как a11<>0 то отсюда найдём Y1. И для i=2 получим :

(k+1) (k+1) M (k)

a22Y2 = - a21Y1 - a2jYj + f2

j=3

(k+1) (k+1) (k+1) (k+1)

Пусть уже найдены Y1 , Y2 . Yi-1 . Тогда Yi находится из уравнения :

(k+1) i-1 (k+1) M (k)

aiiYi = - aijYj - aijYj + fi (*)

j=1 j=i+1

Из формулы (*) видно , что алгоритм метода Зейделя черезвычайно прост. Найденное по формуле (*) значение Yi размещается на месте Yi.

Оценим число арифметических действий, которое требуется для реализации одного итерационного шага. Если все aij не равны нулю, то вычисления по формуле (*) требуют M-1 операций умножения и одного деления. Поэтому реализация

2

одного шага осуществляется за 2M - M арифметических действий.

Реферат опубликован: 12/08/2006