Научная литература
booksshare.net -> Добавить материал -> Математика -> Боглаев Ю.П. -> "Вычислительная математика и программирование " -> 128

Вычислительная математика и программирование - Боглаев Ю.П.

Боглаев Ю.П. Вычислительная математика и программирование — Высшая школа, 1990. — 546 c.
ISBN 5-06-00623-9
Скачать (прямая ссылка): vychmatiprog1990.djvu
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 168 >> Следующая

Метод решения краевых задач путем сведения их к задаче Коши с последующим поиском начальных значений
409
таких, чтобы выполнялись краевые условия, называется методом стрельбы.
Рассмотрим систему линейных дифференциальных уравнений
§= I аи(х)У}+Мх)’ 1
с линейными краевыми условиями
Ё °иУ](а) + Ё °иУ}(ь)=сь 1
7=1 7=1
где а^(х), /г(х)—элементы переменных матрицы А(х), вектора /(х); Д , с{—элементы постоянных матриц (7, Д вектора с. В матричной записи краевая задача имеет вид
(1у_
с1х
= А(х)у+/,
(10.4.22)
Оу{а)+йу(Ь)=с. (10.4.23)
Для примера запишем матрицы (7 и вектор с в следующих
условиях:
Имеем
у1{а)=0; у3(а)=1; у2(Ь)=2; у4(6)=3.
<5=
Для условий
имеем
<5=
10 0 0 0 0 0 0 0 0 10 О 0 0 0
?> =
10 0 0 0 0 0 0 0 0 10 0 0 0 0
; о=
0 0 0 0 0
0 1 0 0 2
0 0 0 0 ; с= 1
0 0 0 1 3
У\ (ъу- =2, Уз (Ь)-3
Г
0 0 0 0 0
1 0 0 0 2
0 0 0 0 ; с= 1
0 0 1 0 3
Метод стрельбы в приложении к краевой задаче (10.4.22) состоит из следующих этапов:
1. Задают начальное приближение для вектора
у (а)=у(0)(а). (10.4.24)
2. Решают каким-либо численным методом задачу Коши
(10.4.22), (10.4.24) на интервале а^х^Ь, в результате получают вектор г10' (Ь).
3. Вычисляют
г(0) = (?у (°) (а)+Ду (о* (Ь) — с.
\
410
\
Вектор г = Оу{а)+у{Ь) — с называется вектором невязки краевых условий, этот вектор зависит от >>(0)(я). Вычислим норму вектора невязки—число 5:
5(у(0>(Л))=||еУ°>(Л)+/)У0>(й)-с||.
4. Если 8(у{О)(а)) = 0, то краевая задача решена, если нет, то изменяют начальное приближение (10.4.24) так, чтобы целевая функция ?(У0)(я)) (см. гл. 9) уменьшилась.
Процедуру 1—4 продолжают до тех пор, пока 5 не станет меньше заданной точности.
Вопросы существования точного решения краевой задачи устойчивости метода стрельбы выходят за рамки этой книги. Практически алгоритм метода стрельбы следует применять только для матриц А(х\ собственные значения которых на нормированном интервале имеют небольшие модули, т. е. |^|~1.
Метод стрельбы является при определенной дискретизации краевой задачи фактически одним из способов решения полученной системы линейных алгебраических уравнений. В общем случае
способ решения полученной системы линейных уравнений определяет характер поведения собственных значений матрицы А (система уравнений, например, может быть жесткой).
Пусть интервал [я, Ь\ разбит постоянным шагом Н узлами
я^—я+уй, 0<у<т, Ь = (Ь — а)/т. Точное решение ^(д:) в узлах
представляет собой матрицу неизвестных
уг (лу), 1 < / ^ п, 0<у < т,
т. е. всего (т+\)п неизвестных. Заменим краевую задачу (10.4.22),
(10.4.23) разностной схемой с аппроксимацией второго порядка. Для внутренних узлов
Уг.^р-1 = А(х.)у]+Дх^ —1,
краевое условие дает
6уо + ?>Ут = с.
Добавим для замыкания разностной схемы уравнение
Ыл+/ы)-«,
где ст< 1. Полученная система разностных уравнений является системой линейных алгебраических уравнений (т + 1)л-го порядка относительно неизвестных у1р 1 0<у<го. Решив эту систему,
получим приближенные значения у{ , к точному решению в узлах
Имеются разнообразные методы решения таких разностных схем, с которыми более подробно можно познакомиться в [25].
411
10.4.5. Применение программы В7А0. Для демонстрации применения программы В7А0 решения краевой задачи рассмотрим систему уравнений ,
-±=xyl+y2-sinx,
dyi ?
Г'г‘м'>
ЛУз 1 \
—=у2+{со$х)уъ + \
на интервале 0<х<1 с условиями
Ji(0)+J2(0) = 0,
?J yi(0)-y3(l)=l,
У г (О+З'з (1) = 2-
Пусть требуется точность вычислений е = 10-2. Программа может иметь следующий вид:
REAL A,B,E,G(3,3),D(3,3),C(3),X(32),Y(3,32),W(1610)
, INTEGER N,M,N 1 ,L,J(227),K,I EXTERNAL Q,F DATA A,B/0.,1./,E/1.E—2/
DATA G/l.,1.,0.,1.,0.,0.,0.,0.,0./
DATA D/0.,0.,0.,0.,0.,1.,0.,—1.,1./
DATA C/0.,1.,2./
DATA X/0.,0.2,0.4,0.6,0.8,1.0/
DATA N,M,N 1 ,L,K,I/3,32,6,1610,227,110/
С ОБРАЩЕНИЕ К ПРОГРАММЕ В7А0
CALL B7A0(A,B,N,E,Q,F,G,D,C,M,X,Y,N 1,W,L,J,K,I)
С ВЫВОД НА ТЕРМИНАЛ УЗЛОВ X И ВЕКТОРА Y
WRITE (5,1) (X(I)(Y(J,I)J = 1,3)1 = 1,N1)
1 FORMAT (2X,'X=',F6.3,3E13.6)
END
С ВНЕШНЯЯ ПОДПРОГРАММА, ВЫЧИСЛЯЮЩАЯ
С МАТРИЦУ СИСТЕМЫ
SUBROUTINE Q(X,Z)
REAL X,Z(3,3)
Z(l,l)=x Z(l,2)= 1.
Z(1.3)=0.
Z(2,l) = l.
Z(2,2)= —X*X Z(2,3)=0.
Z(3,l)=0.
Z(3,2) = 1.
Z(3,3) = COS(X)
RETURN
END
С ВНЕШНЯЯ ПОДПРОГРАММА, ВЫЧИСЛЯЮЩАЯ F(X)
\
412
V..
SUBROUTINE F(X,R)
REAL X,R(3)
R(l)= — SIN(X)
R(2)=0.
R(3)=l •
RETURN
END
10.4.6. Краевая задача для систем нелинейных дифференциальных уравнений. Рассмотрим систему нелинейных дифференциальных уравнений
^=/<(*, У и •••» У*), (10.4.25)
на интервале а^х^Ь с краевыми условиями
^ ^ (10.4.26)
УАЬ)=У( \ ?+1<1<и.
Подход к численному решению задачи (10.4.25), (10.4.26) аналогичен изложенному выше для систем линейных уравнений.
Метод стрельбы состоит в том, что вектор у (а) полностью определяется в точке х=а, т. е. дополнительно задаются
уА<*)=У?\ k+l^i^n,
нулевое приближение для недостающих до полного вектора координат. Затем каким-либо численным методом решается задача Коши для системы дифференциальных уравнений (10.4.25) и определяется вектор у(Ь). Следующим этапом является минимизация целевой функции, например
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 168 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed