
12. Устойчивость, неустойчивость
Конспект данного параграфа помогли составить И.В. Лурье, А.С. Межакова, А.А. Сируков.
Одним из центральных вопросов, пронизывающих все научное программирование, является проблема устойчивости. Этот термин используется слишком часто и в зависимости от контекста может иметь различные значения. В этом разделе обсудим несколько аспектов проблемы устойчивости в том смысле, как она понимается при численном решении обыкновенных дифференциальных уравнений.
Рассмотрим дифференциальное уравнение второго порядка
у" – 10у' – 11y = 0 (12.1)
с начальными условиями
у(0)=1, y'(0)= –1. (12.2)
Характеристическое уравнение имеет вид
k 2 – 10k – 11 = 0. Его корни – k1 = –1, k2 = + 11.
Общее решение задачи Коши (12.1), (12.2) имеет вид
y(x) = С1 e-x + С2 e11x.
Найдем постоянные из начального условия
С1 = 1, С2 = 0.
Решением задачи, как легко проверить, является функция у(х) = е-x. Рассмотрим возмущенную задачу. Предположим теперь, что мы изменили первое начальное условие на малую величину ε. Тогда начальные условия примут вид
y(0)=1 + ε, y'(0) = –1. (12.3)
Как легко убедиться непосредственной подстановкой, решением уравнения с этими начальными условиями будет функция
.
(12.4)
Экспонента с большим показателем приведет к росту решения.
Следовательно, при любом сколь угодно малом ε > 0 второй член в (12.4) приводит к тому, что решение стремится к бесконечности при х → ∞.
Сначала решение задачи (12.1), (12.2) убывает, но, начиная с некоторого значения x, оно начинает расти, т.к. проявляется растущее слагаемое exp(11 x).
Говорят, что решение у(х) =e11х задачи (12.1)(12.2) является неустойчивым. Это означает, что сколь угодно малые изменения начальных условий могут вызвать сколь угодно большие изменения решения при х→ ∞. В численном анализе такие задачи обычно называют плохо обусловленными (см. раздел 4). В этом случае крайне сложно получить указанное решение численно, поскольку ошибки округления и усечения оказывают такое же влияние, как и изменение начальных условий, и приводят к тому, что решение уходит в бесконечность.
ПРИМЕР 12.1
Напомним, что когда Вас знакомили с теорией ОДУ Вам говорили, что существуют особые точки системы
или уравнения
,
где функции
непрерывно дифференцируемые. Особой
точкой называется такая точка, в которой
одновременно обращаются в нуль числитель
и знаменатель
.
Плоскость
называют фазовой плоскостью и поведение
интегральных кривых на этой плоскости
конечно связано с понятиями устойчивости
и неустойчивости.
Существует классификация особых точек по собственным числам соответствующей матрицы. Кратко напомним её.
Если корни характеристического уравнения вещественные и одного знака, то эта точка называется узлом.
Если корни характеристического уравнения вещественные и различных
знаков, то такая точка называется седлом.
Если корни характеристического уравнения чисто мнимые, то такая точка называется центром.
Если корни характеристического уравнения комплексные с вещественной частью отличной от нуля, то такая точка называется фокусом.
Некоторые моменты связанные с вырождением и сложными особыми точками мы здесь опускаем и отсылаем читателя к литературе по ОДУ.
Конкретные случаи рассмотрены в других примерах ниже.
ПРИМЕР 12.2
Исследуем особую точку системы, которая следует из уравнения (12.1).
Сделаем замену
в (12.1)
.
Получим систему
В матричном виде система имеет вид:
Найдем собственные
числа данной матрицы. Характеристическое
уравнение имеет вид
Посчитаем
определитель и получим квадратное
уравнение совпадающее с характеристическим
уравнением для ОДУ (12.1).
Собственные
числа матрицы системы совпадают с
корнями характеристического уравнения-
это общий факт.
.
Если собственные числа матрицы вещественные и разных знаков—это
соответствует особой точке, которая называется « седлом ».
Вычислим
собственные вектора
.
Выпишем систему
для первого собственного значения.
.
Здесь достаточно перемножить первую
строку на столбец вектора и получить
первое соотношение
.
Здесь всегда мы попадаем в случай
бесконечного множества решений .
Собственный вектор выделяет направление
на фазовой плоскости
или
.
Второй собственный
вектор имеет вид
.
На фазовой плоскости
построены эти прямые и интегральные кривые системы . Они разбегаются от особой точки, что и соответствует неустойчивости решения исследуемой задачи.
Еще более резко неустойчивость может проявиться в нелинейных уравнениях. Например, задача
y' = xy (y – 2) , y(0) = 2 (12.5)
имеет решение у(х) ≡ 2, которое является неустойчивым.
Разделим переменные
.
(12.6)
Разложим на простые дроби ( такой способ вычисления интегралов Вам объясняли в курсе математического анализа)
(12.7)
и приведем к общему знаменателю 1 = A (y–2) + B y.
Необходимо, чтобы это выражение было тождественным. Тогда
A = – B,
A
= –1/2 .
,
(12.8)
где С
постоянная
интегрирования,
.
Окончательно
получим
.
(12.9)
Из начального условия определяем константу С1=0.
Рассмотрим возмущенную задачу (20.5):
y' = xy (y – 2), y(0) = 2+ ε, ε бесконечно малое. Найдем новую константу С и решение
.
(12.10)
Надо построить графики. Имеем 2 случая:
a) если ε < 0, то решение убывает и стремится к нулю;
б) если ε>0, то в знаменателе имеется точка, в которой он обращается в нуль. Следовательно, решение стремится к бесконечности.
Теория устойчивости сложна и многообразна.
Теория разностных уравнений
Теория разностных уравнений имеет много параллелей с теорией дифференциальных уравнений. Мы кратко обрисуем основные элементы этой теории в случае линейных разностных уравнений порядка m с постоянными коэффициентами. Такие уравнения имеют форму
yn+1 = am yn + ... + a1 yn-m+1 + a0, n = m-1, m, m+1,..., (12.11)
где ао,а1,...,аn – заданные постоянные.
Однородная часть уравнения (12.11) имеет вид
yn+1 =amyn + … + a1 yn-m+1. (12.12)
По аналогии с дифференциальными уравнениями второго порядка (исключая резонансный случай) попытаемся найти для уравнения решения экспоненциального типа. Только в этом случае в качестве экспоненты будем брать выражение уk = λk с некоторой неизвестной постоянной λ. Если l удовлетворяет уравнению
λm – am λm-1 – ... – a1= 0, (12.13)
которое представляет собой характеристическое уравнение для (12.12), то yk= λk действительно является решением (12.12). Если предположить, что все m корней λ1 , ... , λm уравнения (12.13) различны, то последовательности λk1 , ... , λkm образуют фундаментальную систему решений и общее решение уравнения (12.12) можно записать в виде
yk
=
ciλki,
k=0,
1,...., (12.14)
где
– произвольные постоянные. Если 1
…
0, то, как легко проверить, «частное
решение » выражается формулой
(12.15)
Следовательно, общее решение уравнения (12.11) есть сумма (12.14) и (12.15):
k
= 0,1,... (12.16)
Как и в случае дифференциальных уравнений произвольные постоянные в (12.16) определяются из дополнительных условий, накладываемых на решение. Так, если заданы начальные значения
(12.17)
то из (12.18) следуют условия
k
= 0,1,...,m
1,
(12.18)
представляющие собой систему m линейных уравнений относительно m неизвестных c1 …,cm, которую можно использовать для определения значений cj.
Пример 12.3.
Рассмотрим задачу Коши для ОДУ первого порядка
.
(12.19)
Разделим
переменные
,
после интегрирования имеем
.
(12.20)
Константа
интегрирования определяется из начального
условия
.
Введем сетку
(сетка в вычислительной математике-
это множество точек)
.
Применим метод
Эйлера
к (12.19). В данном случае получаем
(12.21)
Это разностное уравнение со значением m = 1. В том случае, когда известно точное решение, формулы общей теории разностных уравнений не нужны, можно воспользоваться вторым замечательным пределом:
где
-
число Эйлера. Это иррациональное число:
бесконечная десятичная не периодическая
дробь.
Студент: Каким
надо выбрать
,
чтобы предел был выполнен?
В данном случае
ответ очевиден
:
Т.е. решение
разностного уравнения имеет вид
Сделаем проверку. Вычислим:
.
(12.22)
Подставим
в уравнение (12.21) и убедимся, что это
тождество. Т.о., экспоненциальная функция
при разностной аппроксимации приближается
к степенной функции. При 0 < h
< 1 она убывает, следовательно, решение
устойчиво. Решим (12.21) с помощью формул
общей теории разностных уравнений. Для
уравнения (12.21) получаем тот же результат
m
= 1. Характеристическое уравнение имеет
вид
,.
Все остальное слагаемые в формулах
(12.14) – (12.16) равны 0.
Покажем, что для получения правильного результата численного расчета необходимо, чтобы было устойчиво решение и устойчив сам численный метод.
Пример 12.4
Студент: Предлагаю «подправить» метод Эйлера с целью, значительно улучшить дело.
Давайте рассмотрим многошаговый метод:
.
(12.23)
Смотрите и метод многошаговый и шаг двойной. Быстрее считать будет.
Давайте не будем торопиться.
Сравним предлагаемый
Вами метод с методом Эйлера. Кажется,
что замена шага h
на 2h
и сдвиг точки
на один узел влево не дадут никаких
последствий. Однако разберемся в этом,
применив метод (12.23) к задаче:
,
.
(12.24)
Разделим
,
интегрируем
.
Тогда решение имеет вид
.
Определяем
константу
,
тогда
.
(12.25)
Проверим устойчивость по начальным данным. Рассмотрим возмущенную задачу
,
.
(12.26)
Найдем новую
константу в общем решении
.
Получим решение:
.
(12.27)
Функция экспоненциально убывает, следовательно, решение устойчиво и никаких «подводных камней» не видно.
Применим предлагаемый метод (12.23) к (12.24) и получим разностное уравнение:
,
.
(12.28)
Применим теорию разностных уравнений к равенству (21.28), которое перепишем следующим образом:
,
,
,
,
.
(12.29)
Соответствующее
характеристическое уравнение
имеет корни
,
.
(12.30)
Таким образом, для решения уравнения (12.29) по формулам (12.14) (12.16) получили представление
.
(12.31)
Оно позволяет
легко определить поведение
при
.
Действительно, при любой фиксированной
величине шага h
> 0 очевидно, что
,
.
Следовательно,
при
первое слагаемое в выражении (12.31)
стремится к нулю, рассмотрим поведение
второго слагаемого.
Возьмем, например,
последовательность
,
где k
= 1,N.
Тогда имеет место последовательность:
–2, 4, –8, 16, –32… Члены последовательности
растут, меняя знак («скачут»), т.е.
последовательность расходится. Аналогично
ведет себя второе слагаемое. Так как
точное решение (12.25) задачи (12.24) стремится
к 0.5 при
,
ясно, что погрешность приближенного
решения
стремится к бесконечности и метод
(12.23) в применении к задаче (12.24) оказывается
неустойчивым. Подчеркнем, что этот рост
погрешности никак не связан с ошибками
округления, так как формула (12.31) является
точным математическим представлением
для
.
Приведенный пример ясно показывает, насколько важно, чтобы метод был в определенном смысле устойчивым. Определение устойчивости можно сформулировать [5] так:
.
(12.32)
Метод (12.32) является
устойчивым, если все нули
полинома
(12.33)
удовлетворяют
условию
и любой нуль такой, что
,
является простым. Если в дополнение к
этому
(m
– 1) нулей полинома (12.33) таковы, что
,
то метод (12.32) является строго устойчивым.
Любой метод,
имеющий по крайней мере первый порядок
точности, должен удовлетворять условию
и, следовательно,
= 1 должно быть корнем соответствующего
полинома (12.33). В этом случае для любого
строго устойчивого метода полином
(12.33) будет иметь один нуль, равный 1, а
все остальные нули по абсолютной величине
будут строго меньше, чем 1. Так как методы
Рунге-Кутта являются одношаговыми, то
для них
.
Этот полином не имеет никаких других
нулей, кроме
,
и, следовательно, методы Рунге-Кутта
всегда строго устойчивы. В случае
m-шагового
метода Адамса
такого, что остальные m
– 1 корней (12.33) равны нулю, такие методы
также строго устойчивы.
Для метода
(12.29), рассмотренного в Примере 2, полином
(12.33) принимает вид
и имеет два нуля: +1 и –1. Следовательно,
этот метод устойчив, но не строго
устойчив. Именно отсутствие строгой
устойчивости и приводит к неустойчивому
поведению последовательности
,
порождаемой формулой (12.29). Это можно
пояснить следующим образом. Разностное
уравнение (12.29) имеет второй порядок
(так как в него входят
и
)
и, следовательно, имеет два фундаментальных
решения
и
,
где
и
– корни характеристического уравнения,
определяемые формулами (12.30).
Последовательность
,
получаемая по методу (12.29), строится с
целью аппроксимации решения
дифференциального уравнения первого
порядка (12.24), которое имеет одно
фундаментальное решение. Это фундаментальное
решение аппроксимируется последовательностью
;
последовательность же
является «паразитной» и должна быстро
стремиться к нулю, чего не происходит.
Однако
при
любом h>0
и,
следовательно,
стремится
к бесконечности, а не к нулю; именно это
и вызывает неустойчивость. Заметим
теперь, что при h
0
значения
и
стремятся
к нулям полинома устойчивости (12.24).
Действительно, этот полином является
предельным при h
0
для характеристического полинома
соответствующего уравнения . Понятие
строгой устойчивости теперь становится
более очевидным. Если все, за исключением
одного, нули полинома устойчивости по
абсолютной величине меньше единицы, то
при достаточно малом h
все,
кроме одного, корни характеристического
уравнения рассматриваемого метода
будут по абсолютной величине меньше
единицы. Следовательно, степени этих
корней, являющихся "паразитными"
фундаментальными решениями разностного
уравнения, будут стремиться к нулю и не
приводить к возникновению неустойчивости.
Теория устойчивости, которую мы только что обсудили, касается, по существу, устойчивости в пределе при h 0 .