Решение краевой задачи

Вид материалаРешение

Содержание


При использовании метода сеток надо выполнить следующие четыре этапа
2) заменить дифференциальный оператор некоторым разно­стным оператором
Рис. ?. Узлы равномерной разностной сетки
ВС = , тогда
Практическая часть
Значения у в граничных узлах сетки явно заданы у(?)=?, у(2)=2.
Матрица системы изготавливалась в Excel, там же система решалась вычислением обратной матрицы и умножением ее на столбец правой
В практических задачах непростым вопросом иногда является выбор сетки (в простейшем случае равномерной сетки – выбор числа узлов
Подобный материал:

(...В представленной на сайте версии работы изменены числовые данные. Для получения работы с корректными величинами, обратитесь на www.diplomant-spb.ru ...)



Курсовая работа по теме:

Решение краевой задачи




Теорeтическая часть:

Решение краевой задачи методом конечных разностей


Основные понятия и определения метода конечных разностей

Метод конечных разностей является мощным аппаратом вы­числительной математики, с помощью которого решаются разно­образные задачи из различных областей науки. Метод конечных разностей называется также методом сеток. Он используется при решении краевых задач для обыкновенных дифференциальных урав­нений и для уравнений в частных производных.

При использовании метода сеток надо выполнить следующие четыре этапа:

?) заменить область непрерывного изменения аргумента обла­стью дискретного его изменения;

2) заменить дифференциальный оператор некоторым разно­стным оператором;

3) сформулировать разностный аналог для граничных условий;

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

Рассмотрим каждый из этапов отдельно. На первом этапе нуж­но ввести разностную сетку. Существует два вида сеток: равномер­ные и неравномерные.

Исследуем сначала простейший случай - равномерная сетка. Допустим, что требуется определить решение дифференциального уравнения на отрезке [а, b]. Выбираем произвольное число разбие­ний отрезка - п. Тогда получим (n + ?) узел разностной сетки (рис. ?).



Рис. ?. Узлы равномерной разностной сетки


Шаг сетки определяется по формуле

, (?.?)

а сами узлы вычисляются так:

(?.2)

Узлы и называются граничными узлами, а — внутренними узлами разностной сетки.

Второй этап состоит в замене производных, входящих в дан­ное дифференциальное уравнение, соответствующими конечно-раз­ностными соотношениями. Получим сначала выражение первой производной в произвольном узле . Введем обозначения

(?.3)

и рассмотрим три последовательных узла сетки , (рис. 2).

Очевидно, что в треугольнике АВС стороны АС = 2,

ВС = , тогда .

Проведем касательную ML к кривой в точке и обозначим через угол наклона касательной с осью абсцисс. Как известно, касательная - это предельное положение секущей АВ, когда ,поэтому при . Согласно геометрическому смыслу производной имеем . Сравнивая выражения и , получим аппроксимацию первой производной

(?.4)

где - бесконечно малая порядка ,



Рис. 3.2. Выражение производной с помощью конечных разностей;

- середина интервала ()


Формула (?.4) определяет значение первой производной через значения функции в симметричных относительно . узлах и называется выражением производной через центральные разности. Для вывода формулы второй производной в разностном виде воспользуемся тем, что а первую производную запишем по формуле (?.4) в промежуточных узлах и :

.

Окончательно получим следующее выражение второй произ­водной

(?.5)

Формула (?.5) определяет значение второй производной че­рез значения функции в трех последовательных узлах разностной сетки. Аналогичным образом получаются и выражения для третьей и четвертой производных

, (?.6)

.


Краевая задача для линейных дифференциальных уравнений

Рассмотрим линейное дифференциальное уравнение второго порядка

y'' + p(x) y' + q(x) y = r(x), (?)

y’’-2xy’+xy=x2-?

где p(x), q(x), r(x) – заданные функции.

В нашем случае: p(x)=-2x; q(x)=x; r(x)=x2-?.

Требуется решить краевую задачу

y(a) = ya , y(b) = yb .

в нашем случае y(?)=?; y(?)=3

Разобьем интервал [a,b] на n равных частей и введем разностную сетку по формулам :

x? = a, x? = x? + ih , xn = b, (i+?,?,…,n)

Обозначим значения коэффициентов уравнения (?) в узлах разностной сетки следующим образом:

p(xi) = pi , q(xi) = qi , r(xi) = ri . (2)

Возьмем первый внутренний узел сетки xi и заменим первую и вторую производные по формулам

y'i = (yi+? – yi-?)/2h + ?(h2),

y''I = (yi+? – 2yi + yi-?)/h2 + ?(h2),

где ?(h2) – бесконечно малая порядка h2.

Тогда в точке x? получим следующее разностное уравнение:

(y2 – 2y? + y?)/ h2 + p?(y2 – y?)/2h + q?y? = r? , (3)

Это уравнение аппроксимирует уравнение (?) с точностью до бесконечно малой ?(h2). Преобразуем уравнение (3) к виду

?y? + b?y? = f?,

a?y? - c?y? + b?y2 = f?,

a2y? – c2y2 + b2y3 = f2,

………………………… (4)

aiyi-? – ciyi + biyi+? = fi,

…………………

an-?yn-2 – cn-?yn-? + bn-?yn = fn-?,

anyn-? – cnyn = fn.

Для этого умножим все слагаемые уравнения (3) на h2 и приведем подобные члены:

(? – p?h/2) y? – (2 - q?h2) y? + (? + p?h/2) y2 = r?h2 . (5)

Сравнивая (5) и (4), получим

a? = ? – p?h/2; c? = 2 - q?h2; b? = ? + p?h/2; f? = r?h2.

Запишем уравнение (?) в точке x2:

(y3 – 2y2 + y?)/ h2 + p2(y3 – y?)/2h + q2y2 = r2 ,

и преобразуем к виду (4):

(? – p2h/2) y? – (2 – q2h2) y2 + (? + p2h/2) y3 = r2h2 ,

откуда следует, что

a2 = ? – p2h/2; c2 = 2 – q2h2; b2 = ? + p2h/2; f2 = r2h2.

Аналогичным образом для произвольного внутреннего узла xi (I =?,2,…,n-?) имеем


(yi+? – 2yi + yi-?)/ h2 + pi(yi+? – yi-?)/2h + qiyi = ri ,

aiyi-? - ciyi + biyi+? = fi , (6)

ai = ? – pih/2; ci = 2 – qih2; bi = ? + pih/2; fi = rih2. (8)

Записав уравнение (6) для всех внутренних узлов сетки, получим систему линейных алгебраических уравнений, состоящую из (n-?) уравнений и содержащую (n+?) неизвестных (y?, y?,…, yn). Недостающие два уравнения получим из краевых условий (2). Окончательно полная конечно-разностная система уравнений примет вид

y? = ya,

a?y? - c?y? + b?y2 = f?,

a2y? – c2y2 + b2y3 = f2,

………………………… (7)

aiyi-? – ciyi + biyi+? = fi,

…………………

yn = yb.

Система уравнений (7) представляет собой систему линейных алгебраических уравнений с трехдиагональной матрицей (4) и легко решается методом прогонки. В результате решения получим дискретные значения yi в узлах разностной сетки.


ПРАКТИЧЕСКАЯ ЧАСТЬ:


Решить краевую задачу для линейного дифференциального уравнения 2-го порядка:

с краевыми условиями

у(?)=?, у(2)=2.


Решение:


В условии не указаны никакие требования к погрешности, равно как и не предписан определенный метод решения. Будем решать задачу методом конечных разностей на сетке из ?? узлов на интервале от ? до 2.

Значения у в граничных узлах сетки явно заданы у(?)=?, у(2)=2.

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

Производные аппроксимируются симметричными разностями



где h – шаг сетки ( в нашем случае h=?,?).


Уравнение для внутреннего узла после приведения подобных членов имеет вид




Матрица системы и столбец правой части

?































?

??4.545

-?98.79

95.45455

























4.4




??4.?667

-?98.56

95.83333






















4.8







??3.8462

-?98.3?

96.?5385



















5.2










??3.57?4

-?98.?4

96.42857
















5.6













??3.3333

-?97.75

96.66667













6
















??3.?25

-?97.44

96.875










6.4



















??2.94?2

-?97.??

97.?5882







6.8






















??2.7778

-?96.76

97.22222




7.2

























??2.63?6

-?96.39

97.36842

7.6































?

2


Матрица системы изготавливалась в Excel, там же система решалась вычислением обратной матрицы и умножением ее на столбец правой части.


Ответ:

x

y

?

0?.??.?2

?.?

-?.?53?735?9

?.2

-?.?6443365

?.3

-?.?25726476

?.4

?.?7?6?944

?.5

?.23?72?22?

?.6

?.45857?879

?.7

?.755?7??28

?.8

?.??7??5586

?.9

?.536677929

2

2



Замечание?. В учебном примере, где число узлов сетки мало, а погрешность решения не задана в условиях задачи, удалось решить систему алгебраических уравнений просто обращением матрицы.

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


Замечание2. В практических задачах непростым вопросом иногда является выбор сетки (в простейшем случае равномерной сетки – выбор числа узлов).

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