Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции - Решение обыкновенных дифференциальных уравнений - файл 1.doc


Лекции - Решение обыкновенных дифференциальных уравнений
скачать (847.5 kb.)

Доступные файлы (1):

1.doc848kb.18.11.2011 20:01скачать

содержание

1.doc

  1   2
Молчанов И.Н. Машинные методы решения прикладных задач.

Дифференциальные уравнения. —Киев: Наукова думка, 1988. — 344 с.

Монография посвящена численным методам решения задач Коши для систем ОДУ, краевых задач для уравнений и систем уравнений эллиптического типа, начально-краевых задач для уравнений параболического и гиперболического типов, задач на собственные значения для операторов эллиптического типа.

Устойчивость решений ОДУ.

Рассмотрим задачу с начальными условиями для системы ОДУ

. (1.29)

Будем полагать, что все собственные значения матрицы A различны.

Тогда существует такая матрица C, что C-1AC =, где

, (1.30)

(i — i е собственное значение матрицы A).

Если ввести замену переменных

,

то из системы (1.29) получаем систему уравнений

, где (1.31)

Таким образом, изучить устойчивость решения системы (1.29) можно с помощью системы (1.31). Более того, устойчивость решения системы дифференциальных уравнений (1.31) можно рассматривать на примере уравнения

, (1.32)

которое называют тестовым.

Предположим, что= + j —постоянная из поля комплексных чисел ( j2 = -1). Решение уравнения асимптотически устойчиво, если Re  < 0, устойчиво, если Re  = 0, и неустойчиво, если Re  > 0. ( Re  —реальная часть комплексного числа).

Рассмотрим теперь задачу Коши для системы ОДУ

, (1.33)

где F(x, u) —вектор-функция, F(x, u) = (f1(x,u),.., fn(x,u))T. Качественное исследование решения этой системы вблизи некоторого частного решения u1(x) можно провести следующим образом. Разложим F(x,u) в окрестности u1(x) в ряд Тейлора, в результате получим:



Тогда:

, (1.34)

где J(x, u1) —матрица Якоби. Если изменение J(x, u1) на некотором интервале x достаточно мало, то J(x, u1) можно заменить локально постоянной матрицей A. После приведения к главным осям матрица A принимает вид (1.30). Таким образом, и в этом случае исследование устойчивости решения системы (1.33) может быть сведено к исследованию устойчивости решения уравнения (1.32).

Понятие о жестких дифференциальных уравнениях. Рассмотрим ОДУ

, (1.35)

где A = const. Точное решение этого уравнения:

. (1.36)

Если A —большая положительная величина, то решение задачи (1.35) неустойчиво. Если A —малая величина, то решение задачи (1.35) нейтрально устойчиво. Если A —большая по модулю и отрицательная величина, то каким бы ни было выбрано u0 через достаточно малый промежуток, называемый переходным участком (или пограничным слоем), кривая решения становится тождественной кривой частного решения p(x) уравнения (1.35). Эта сверхустойчивость решения дифференциальной задачи является идеальной в смысле распространения наследственной ошибки в дифференциальном уравнении, но она создает ряд трудностей численного интегрирования на ЭВМ. Одна из них состоит в том, что хотя решение (1.36) за пределами переходного участка ведет себя как и функция p(x) и практически не зависит от A (при A < 0), тем не менее из условия устойчивости шаг численного интегрирования приходится выбирать зависящим от A. Чем большеA, тем меньше шаг интегрирования (жестче ограничения на него). Такие задачи называют жесткими.

Определение. Задача Коши (I.33) называется жесткой на некотором интервале [x0, X], если для x из этого интервала выполняются условия:

1) , ;

2) ,

где i —собственные значения матрицы Якоби, вычисленные на произвольном частном решении.

Величину s(x) называют локальным “коэффициентом жесткости” задачи. Если s(x) является величиной 0(10), то задачу можно считать жесткой. В ряде прикладных задач (химическая кинетика, процессы управления, теория электрических цепей) коэффициент жесткости достигает величины 0(106).

Это определение “жесткости” системы нам кажется не совсем точным. Действительно, если max Re(-i) = 10-2, а min Re(-i) = 10-8, так что их отношение равно 106, то по определению система является “жесткой”. В то же время такая система позволяет из условий устойчивости выбрать шаг интегрирования порядка 100.

Определение, возможно, надо дополнить словами: большие по модулю собственные значения имеют большую отрицательную часть.

^ Многошаговые методы (Методы Адамса). 

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

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

Самым простым способом решения неявного уравнения является метод предиктор-корректор (комбинация явных и неявных методов).
^ Арушанян О.Б., Залеткин С.Ф. Численное решение обыкновенных дифференциальных уравнений на Фортране. М.: Изд-во МГУ, 1990. —336 с.

Монография посвящена процессам организации вычисления на ЭВМ решений ОДУ. Рассматриваются способы решения задачи Коши для уравнений первого и второго порядков конечно-разностными методами, позволяющие оценивать погрешность вычислений и произвольно изменять шаг интегрирования, эффективные матричные методы решения линейных систем с постоянными коэффициентами, методы решения жестких задач. Приводятся тексты программ на языке Фортран, реализующих различные численные алгоритмы и составляющих функциональное наполнение пакета программ для решения ОДУ, разработанного в НИВЦ МГУ.

^ I. Машинная арифметика и простейшие вычисления.

При выполнении расчетов на ЭВМ постоянно приходится иметь дело с ошибками, возникновение которых в процессе вычислений обусловлено тремя причинами: во-первых, ошибками в исходных данных (неустранимая погрешность); во-вторых, замена бесконечных процессов конечными (погрешность численного метода), например в результате отбрасывания остаточного члена формулы; в-третьих, конечной точностью, с которой числа могут быть представлены в машине (ошибки округления). Каждый из этих типов ошибок неизбежен в вычислениях. Поэтому проблема контроля ошибок состоит не в том, чтобы предупредить их появление, а в том, чтобы контролировать их величину для достижения максимально точного окончательного результата…

^ II. Одношаговые методы решения ОДУ.

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

^ 1. Общее представление одношаговых методов. 

Пусть требуется найти решение задачи

, ( 1)

удовлетворяющего начальному условию:

,  ( 2)

на отрезке [ x0, x0 + X ]. Возьмем разбиение отрезка точками:

.

Этот набор точек называется сеткой, а точки xn —узлами сетки. Одношаговые численные методы последовательно дают приближения yn к значениям точного решения y(xn) в каждом узле xn сетки на основе известного приближения yn-1 к решению в предыдущем узле xn-1. В общем виде их можно представить так:

. ( 4)

Для явных одношаговых методов функция F не зависит от yn:

, ( 5)

где h = xn - xn-1 — шаг сетки.
2. Метод рядов Тейлора. Пусть правая часть f(x,y) дифференциального уравнения (1) имеет непрерывные частные производные до порядка s. Тогда искомое решение y(x) имеет непрерывные производные до (s+1)-го порядка включительно. Точное значение решения в узле x1 по формуле Тейлора:

, (6)

где

, , .

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

,

,



...

С увеличением порядка выражения для производных становятся все более громоздкими, что требует большого объема вычислений. Это является существенным недостатком данного метода.

^ 3. Явные методы типа Рунге - Кутта. Рунге предложил следующую идею, основанную на вычислении приближенного решения y1 в узле x0+h в виде линейной комбинации с постоянными коэффициентами:

, ( 7)

 где

,

,



.

Числа i,ij и pqi выбираются так, чтобы разложение выражения (7) по степеням h совпадало с разложением (6) до максимально возможной степени при произвольной правой части f(x, y) и произвольном шаге h.

Это эквивалентно следующему. Если ввести вспомогательную функцию:

, ( 8)

то ее разложение по степеням h должно начинаться с максимально возможной степени:

, ( 9)

Если можно определить эти постоянные так, чтобы разложение q(h) имело вид (9), то говорят, что формула (7) с выбранными коэффициентами имеет порядок точности s.

Величина



называется погрешностью метода на шаге или локальной погрешностью метода, а первое слагаемое в (9)

, (10)

называется главным членом локальной погрешности метода.

Доказано, что если q = 1, 2, 3, 4, то всегда можно выбрать коэффициенты i,ij, pqi так, чтобы получить метод типа Рунге-Кутта порядка точности q. При q = 5 невозможно построить метод типа Рунге-Кутта (7) пятого порядка точности, необходимо брать в комбинации (7) более пяти членов.

3.1. Одночленная формула. Приближение в точке x1 = x0 + h ищется в виде:

,

где

.

Коэффициент p11 подбирается так, чтобы в разложении по степеням h функции (8), в данном случае равной:

,

максимальное количество членов обратилось в нуль. Этому требованию удовлетворяет единственное значение:

,

для которого разложение (9) имеет вид:

.

Таким образом

.

Это известная формула Эйлера. Метод Рунге-Кутта при q = 1 есть метод Эйлера.

3.2. Двухчленные формулы. Приближение в точке x1 = x0 + h ищется в виде

,

где ,



В выписанной формуле четыре неизвестных параметра: 2, 21, p11, p22. Чтобы их найти, необходимо построить вспомогательную функцию (8), равную:

,

и подобрать коэффициенты так, чтобы в разложении этой функции по степеням h максимальное количество членов обратилось в нуль. Чтобы обратить в нуль первые две производные:

,

,

необходимо, чтобы искомые коэффициенты удовлетворяли системе уравнений

(11)

Тогда разложение (9) имеет вид

.

Из (11) следует, что 2 0, 21 0, 2 = 21. Если принять 2 за свободный параметр, то

, ,

Таким образом получается однопараметрическое семейство формул типа Рунге-Кутта второго порядка точности.

1. Пусть 2 = 1. Тогда

(14)

Погрешность формулы (14)

.

Данный метод называется методом Хойна. (или методом Эйлера с коррекцией по средней производной).

(???)Если правая часть формулы (1) не зависит от y, то формула (14) переходит в квадратурную формулу трапеций.(???)

2. Пусть 2 = 1/2. Тогда

(16)

Погрешность формулы (16):

.

Метод называется методом Эйлера с коррекцией по средней точке

Если правая часть формулы (1) не зависит от y, то формула (16) переходит в квадратурную формулу средних прямоугольников.

3. Пусть 2 = 2/3. Тогда

(18)

Погрешность формулы (18)

.

3.3. Трехчленные формулы. Приближение в точке x1 = x0 + h ищется в виде:



где ,

,

.

Для отыскания восьми неизвестных параметров получается система из шести уравнений:

, , , , , .

Тогда разложение (9) имеет вид:

.

Пример. Пусть 2 = 1/2, 3 = 1. Тогда:

 . (21)

3.4. Четырехчленные формулы. Существует семейство формул типа Рунге-Кутта (7) четвертого порядка точности, для которых q=s=4.

Пример: (классический метод Рунге-Кутта):

(22)

Тогда разложение (9) имеет вид:

.

3.5. Формулы порядка выше четвертого. Чтобы построить метод типа Рунге-Кутта (7) порядка выше четвертого, для которого погрешность на шаге имеет порядок выше пятого для произвольного дифференциального уравнения (1) с достаточно гладкой правой частью f(x, y), необходимо, чтобы в формуле (7) число слагаемых ki(h) было больше пяти: q > 5.

Здесь существенно то, что значения правой части ki(h) дифференциального уравнения входят в формулу (7) в виде линейной комбинации. Может быть построен явный одношаговый метод пятого порядка точности y1 = y0 + y, использующий пять вычислений правой части, но не имеющий вида (7), т.к. значения ki(h) будут входить в y нелинейным образом.

Общим для всех рассмотренных методов численного интегрирования является то обстоятельство, что после выполнения очередного шага точка, изображающая полученное приближенное решение на плоскости (x,y), переходит с одной интегральной кривой на другую.

4. Сходимость явных одношаговых методов. 

Предположим, что требуется найти функцию y(x), которая является решением дифференциального уравнения (1) и принимает в точке x0 некоторое определенное значение

.

Может оказаться, что начальное условие y(x0) известно неточно, а определяется в результате эксперимента, например, с помощью измерений или в результате решения какой-либо задачи. В этом случае вместо точного начального условия y(x0) приходится использовать его приближенное значение y0-, а вместо задачи Коши (1) решать задачу

, (25)

, (26)

с измененным начальным условием

, (27)

Решение задачи (25), (26) зависит от y0- и не совпадает с искомым решением задачи (1), (2). Разность

(28)

называется неустранимой погрешностью решения y0(x).

Разность между значением решения y0(xn) задачи (25), (26) и его приближенным значением yn, полученным по формуле (5),

(29)

называется погрешностью метода или глобальной погрешностью метода. Погрешность метода на одном шаге интегрирования называется локальной погрешностью методаn.

В действительности же вследствие ошибок округления и приближенного вычисления правой части f(x, y) дифференциального уравнения вычисления значений yn+1 по формуле (5) выполняются, как правило, неточно. Фактически найденные значения y0- удовлетворяют не соотношению (5), а условию

(30)

Невязка n называется погрешностью округления на n м шаге. 

Разность между точным решением задачи y(xn) задачи (1), (2) и приближенным фактически найденным значением yn 

(31)

называется полной погрешностью приближенного решения. Величина

(32)

называется вычислительной погрешностью. 

Из соотношений (28), (29), (31) и (32) следует, что:

, (33)

т.е. полная погрешность приближенного решения равна сумме неустранимой погрешности, погрешности метода и вычислительной погрешности.

Присутствие в (33) слагаемого n означает, что погрешность начального значения распространяется на все узлы сетки. Часть полной погрешности приближенного решения, зависящая от ошибки в начальных условиях, называется неустранимой погрешностью. Если начальные условия заданы точно, то этого члена нет.

Второй член получается за счет того, что мы находим не точное решение задачи, а приближение к нему по формуле Рунге-Кутта. Это погрешность метода, и она имеет порядок hs.

Третий член получается за счет ошибок округления. В практике вычислений на ЭВМ величинаn ограничена снизу, если при этом длина шага h слишком мала, а интервал интегрирования велик, то вычислительная погрешность может достигать больших значений.

В действительности же ошибки округления n могут иметь различные знаки и частично компенсировать друг друга. Разные знаки могут иметь и погрешности метода n. Отдельные составляющие, входящие в полную погрешность Rn (33), могут давать отклонения от точного решения в разные стороны.

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

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

5. Практические способы оценки погрешности приближенного
решения.


5.1. Апостериорная оценка глобальной погрешности метода. 

Правило Рунге апостериорной оценки погрешности состоит в том, что решение задачи в некоторой точке xn интервала интегрирования вычисляется дважды по одной и той же формуле (7) с разными малыми шагами и полученные значения решения используются для получения апостериорной оценки погрешности. Обычно в качестве шагов выбирают h и h/2.

Оценку погрешности для приближенного значения решения можно получить в следующем виде:

, (53)

, (54)

где , — значения решения, вычисленные с шагами h/2 и h соответственно;

, — значения погрешностей для решений с шагами h/2 и h.

5.2. Апостериорные оценки локальной погрешности метода. 

5.2.1. Оценка погрешности по правилу Рунге.

(аналогично оценке глобальной погрешности)

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

Этот способ основан на использовании двух приближенных значений решения в одной точке. Однако эти приближения в отличие от правила Рунге вычисляются не по одной, а по двум формулам разных порядков точности p и s с одним и тем же шагом.

5.2.2.1. Комбинация двух независимых формул. Данный способ основан на комбинации двух формул вида (7) разных порядков точности p и s. Пусть p > s, тогда локальная погрешность будет равна:


или, рассматривая только члены главного порядка:

. (71)

5.2.2.2. Комбинация специально подобранных формул. Если коэффициенты в формулах таковы, что:

, , , (72)

то , ,

и для локальной погрешности получается выражение следующего вида:

, (73)

где , .

Такой подход к оценке локальной погрешности позволяет уменьшить по сравнению с правилом Рунге и оценкой (71) количество вычислений правой части уравнения (1).

Оценка (73), как и более общая оценка (71), является асимптотической, т.к. она учитывает только члены главного порядка, и справедлива при достаточно малых размерах шага интегрирования.

В практике вычислений в качестве приближенного решения принимается значение  как имеющее более высокий порядок точности.

Величина

(74)

называется контрольным членом.

5.2.2.3. Контрольные члены для методов Рунге-Кутта.

1) Методы (21)



и (16)

 

удовлетворяют условию (72). Контрольный член записывается в данном случае в виде:



и имеет порядок .

2) Классический метод Рунге-Кутта (22)

 

и метод (16) также удовлетворяют условию (72). Контрольный член записывается в виде:



и имеет порядок .

3) Мерсон предложил следующую модификацию классического метода Рунге-Кутта:

(79)

Формула (79) и формула третьего порядка

(80)

удовлетворяют условию (72). Контрольный член записывается в данном случае в виде:



и имеет порядок O(h4).

На более узком, чем (1), классе линейных уравнений вида

(82)

формула (80) имеет не третий, а пятый порядок точности. Порядок точности формулы (79) остается по-прежнему равным четырем. Поэтому величина



служит главным членом локальной погрешности формулы (79) и имеет порядок O(h5).

4) Фельберг предложил множество методов, удовлетворяющих условию (72). Например, формулы 4 го и 5 го порядков:





(84)



Контрольный член записывается в виде:



и имеет порядок O(h5).

5) Инглендом построены следующие формулы четвертого и пятого порядков:





(87)



Контрольный член:



имеет порядок O(h5).

5.2.3. Оценка погрешности с помощью нелинейного контрольного члена.

Для приведенных в предыдущем разделе методов оценка локальной погрешности выражалась с помощью линейной комбинации (74) нескольких значений правой части дифференциального уравнения. Однако существуют и другие способы оценки локальной погрешности. В качестве примера можно привести формулу типа Рунге-Кутта четвертого порядка точности:





(84)

и выражение для погрешности формулы на шаге



в виде нелинейного контрольного члена Скрэтона:

,

Где



Полученное значение решения y1 можно уточнить, если прибавить к нему оценку локальной погрешности, т.е. в качестве приближенного решения взять сумму:



В результате получаем новую формулу пятого порядка точности



использующую пять вычислений правой части на одном шаге. Но эта формула уже не является формулой типа Рунге-Кутта (7), поскольку величина



не выражается линейно через .
^ 6. Интегрирование с переменным шагом. Автоматический выбор шага
интегрирования.


До сих пор рассматривался такой процесс решения задачи (1), (2), когда формула Рунге-Кутта применялась с одной и той же величиной шага интегрирования во всей области вычисления решения вне всякой зависимости от характера поведения решения.

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

Имея в распоряжении способы (53), (54), (71), (73) оценки погрешности метода, величину шага интегрирования можно выбирать автоматически в процессе счета.

6.1. Алгоритм выбора с помощью удвоения и деления шага пополам. Пустьn+1 —оценка локальной погрешности метода на шаге h, допущенной при вычислении приближенного значения решения yn+1 в точке xn + h. Если оценка превосходит некоторую наперед заданную границу :

, (90)

то считается, что значение yn+1 решения не удовлетворяет предписанной точности и шаг h объявляется неприемлемым. Полученная точка xn + h и значение yn+1 исключаются из рассмотрения. Выбирается новое значение шага

,

и вновь по той же формуле Рунге-Кутта вычисляется значение решения в точке yn+1 в новой точке xn + h(1). Если опять выполняется условие (90), то шаг снова делится пополам, и вычисления повторяются. Так происходит до тех пор, пока при какой-то величине шага hn оценка локальной погрешности не станет меньше :

. (91)

После этого считается, что решение дифференциального уравнения продолжено до точки xn+1 = xn + hn. Дальнейшее интегрирование производится из точки xn+1 с шагом hn+1, который выбирается описанным ниже способом.

Если оценка локальной погрешности на шаге hn = xn+1 xn удовлетворяет неравенству

, (92)

где K —некоторая константа, то считается, что достигнута точность, значительно превышающая заданную, и шаг интегрирования удваиваются:

.

Если выполняется неравенство

, (93)

то считается, что полученное в точке xn+1 решение удовлетворяет заданной точности и шаг интегрирования остается без изменения:

.

Таким образом, на тех участках изменения независимой переменной, где достигается высокая точность приближенного решения, шаг интегрирования возрастает, а там, где точность не достигается, шаг интегрирования сокращается до необходимых для ее достижения значений. Тем самым обеспечивается выбор величины шага в зависимости от характера поведения решения дифференциального уравнения. Константа K обычно полагается равной , где —порядок используемой оценки локальной погрешности метода. Обычно = s + 1, а s —порядок формулы численного интегрирования.

6.2. Выбор максимальной для заданной точности длины шага. 

Так как оценка n+1 локальной погрешности метода равна с точностью до членов более высокого порядка малости главному члену локальной погрешности метода, то в силу (9)

. (94)

Если оценка n+1 погрешности превосходит заданную границу :

,

то считается, что значение yn+1 решения не удовлетворяет предписанной точности и шаг h объявляется неприемлемым. Полученная точка xn+h и значение yn+1 исключаются из рассмотрения. В этом случае новый размер шага выбирается не последовательным делением пополам, а с помощью соотношения:

,

где находится из условия выполнения равенства

. (96)

Из (94), (96) следует, что

. (97)

Здесь < 1 и новое значение шага

(98)

меньше предыдущего.

Если первоначальная оценка n+1 локальной погрешности метода не превосходит заданную границу :

,

то считается, что полученное приближение yn+1 к решению удовлетворяет заданной точности и значение xn+h независимой переменной принимается в качестве следующего узла xn+1 интегрирования. Дальнейшее интегрирование осуществляется из точки xn+1 с шагом he, который определяется с помощью соотношения (98). Теперь1 и he h.

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

В действительности берется несколько меньшая, чем определяется с помощью (98), величина шага:

. (99)

Это делается для того, чтобы избежать тех шагов, на которых не достигается требуемая точность.

6.3. Использование различных характеристик точности. 

Автоматический выбор шага интегрирования имеет важный аспект, о котором надо помнить при практической реализации алгоритма на ЭВМ. Дело в том, что для достижения заданной точности может (в зависимости от алгоритма выбора шага) происходить большое число делений пополам шага интегрирования или величина, вычисляемая по формуле (97), оказывается настолько малой, что вновь определяемая длина шага h не вызывает изменения независимой переменной, т.е. в условиях машинной арифметики выполняется равенство

. (100)

Равенство (100) выполняется тогда, когда текущее значение h станет по абсолютной величине меньше минимального положительного числа, представимого на данной ЭВМ. Без проверки условия (100) во время работы программы с автоматическим выбором шага может произойти зацикливание. Этого можно избежать, если вместо верхней границы локальной погрешности метода, которая может оказаться слишком малой в сравнении с порядком искомого решения, задавать число верных цифр в приближенном значении решения. Это позволяет более осторожно подходить к определению точности приближенного решения с учетом длины разрядной сетки машины.

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

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

Более гибким является использование меры погрешности.^ Мерой погрешност приближенного значения y называется величина , определяемая соотношением:

(106)

где P —некоторое фиксированное положительное число.

Другим эффективным средством может служить ограничение на число последовательных делений шага интегрирования, совершаемых в одной точке, или ограничение снизу на величину шага интегрирования. Если после значительного уменьшения шага в одной точке (например, 106 раз) точность по-прежнему не достигается, то, как правило, это свидетельствует о том, что явный метод типа Рунге-Кутта не подходит для решения данной задачи.

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

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

Контроль точности по норме означает, что контролируется некоторая норма оценки погрешности . Часто используются нормы:

,

,

.

Из вышеизложенного следует, что формулы Рунге-Кутта очень хорошо приспособлены для интегрирования с переменным шагом, т.к. они позволяют легко менять шаг интегрирования и при этом не требуют никаких дополнительных вычислений и преобразований.
^ III. Многошаговые методы решения обыкновенных дифференциальных
уравнений.


1. Общее представление многошаговых методов. 

Многошаговым называется численный метод решения задачи Коши (2.1), (2.2), который может быть задан формулой:

. (1)

Здесь значение решения yn+k и точке xn+k определяется через значения решения в k точках, предшествующих xn+k. Такой метод называется k шаговым.

Из класса (1) можно выделить многошаговые методы вида:

, , (2)

применяемые на сетке с постоянным шагом

, 1, 2,…,, . (3)

Разность между наибольшим и наименьшим значениями индекса неизвестной функции yn, входящей в уравнение (2), равна k. Поэтому соотношение (2) является разностным уравнением k го порядка, общее решение которого зависит от k параметров. Чтобы выделить единственное решение этого уравнения, необходимо задать k дополнительных условий на функцию yn. Этими дополнительными условиями являются значения функции yn при i = 0, 1,..., k 1, которые предполагаются известными.

Если искомое решение yn+k входит в правую часть этого уравнеия, что бывает, когдаk  0, то формула (2) определяет неявный метод. Если k = 0, то искомое решение в правую часть не входит и уравнение (2) определяет явный метод.

Наряду с (2) используется также следующая запись разностного уравнения:

. (8)

Уравнения (2) и (8) называются также конечно-разностными схемами.

^ 2. Построение разностных схем методом неопределенных
коэффициентов.


Коэффициенты i и i выбираются таким образом, чтобы разностное уравнение (2) аппроксимировало дифференциальное уравнение (2.1) с достаточно гладкой правой частью с некоторым порядком s. Это означает, что невязка, которая получается после подстановки точного решения y(x) дифференциального уравнения (2.1) в разностное уравнение (2):

, (9)

является величиной 0(hs+1). Число s называется порядком аппроксимации, или степенью разностного уравнения (2). Величина

(10)

называется погрешностью аппроксимации дифференциального уравнения (2.1) разностным уравнением (2).

Другими словами, погрешность аппроксимации — это невязка, которая получается после подстановки точного решения дифференциального уравнения в разностное уравнение (8).

Степень s разностного уравнения (2) определяется только коэффициентами i и i этого уравнения и не зависит от того конкретного дифференциального уравнения, для решения которого оно применяется.

Для того, чтобы величина n+k и погрешность аппроксимации rn+k не изменялись при умножении разностного уравнения (2) на произвольную постоянную, вводится нормировка разностного уравнения с помощью дополнительных условий, налагаемых на коэффициенты уравнения. Обычно полагают:

, (16)

. (17)

При выполнении условия (16) уравнение (2) можно записать:

. (18)

В этом случае невязка n+k (9) называется локальной погрешностью формулы (18).
3. Устойчивость многошаговых методов. 

Метод (2) сходится, если для каждой задачи из рассматриваемого класса (2.1), (2.2):

, при . (23)

То обстоятельство, что разностная схема (2) аппроксимирует дифференциальное уравнение (2.1) с некоторым порядком s1, еще не означает, что решение разностной задачи (2) сходится к решению дифференциальной задачи (2.1), (2.2).

^ 4. Некоторые явные конечно-разностные формулы. 

В явных формулах неизвестное значение yn+1 не входит в правую часть, поэтому явные формулы записываются в виде:

. (41’)

4.1. Экстраполяционная (явная) формула Адамса. 

Таблица 1.

Примеры конечно-разностных явных методов Адамса

Порядок Коэффициенты Степень Локальная

k A B0 B1 B2 B3 B4 s погрешность

1 1 1 1 h2y(2)/2 

2 ½  1 3  2 5 h3y(3)/12 

3 1/12 5  16 23 3 3 h4y(4)/8 

4 1/24  9 37  59 55 4 251 h5y(5)/720 

5 1/720 251 -1274 2616 -2774 1901 5  95 h6y(6)/288 

Если интерполяционный многочлен представить в форме интерполяционного многочлена Ньютона для равных промежутков

, (48)

Где — конечная разность i го порядка назад функции y'(x) = f(x, y(x)) в узле xn, x = xn+th, то формула численного интегрирования может быть получена в разностной форме:

. (50)

Отбрасывая в (50) остаточный член n+1, получаем разностное уравнение, эквивалентное (41), но представленное в разностной форме:

(53)
  1   2



Скачать файл (847.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации