Главная >  Управление конечномерными объектами 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [ 50 ] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

11ычтем. как и раньше, из первого уравнения второе, разрешим полученное уравнение относительно х + h), заменим все производные, воспользовавшись уравнением X [t) = Лх [t) + Ви (г), отбросим члены порядка О (h)

и члены X {) (проверьте, что отбрасывание этих членов не увеличивает ошибки аппроксимации). Тогда получим формулу, аналогичную формулам (4), (6), дающую решение неоднородного уравнения, с точностью до величин порядка О {h):

Л+-Л-Ь~Л

x{t) -1

Bu{t) +

Е-А + А-

Bu{th)-{.

£ + ~Л + Л2 Bn{t)~

12 h 1

Bu(t+h) +

+ ft) + (0 - ~ 5u + fe) f .

Здесь можно было бы воспользоваться результатом теоремы 1 и заменить множитель перед \{t) матрицей Л формулы (7). Однако эта замена не упрощает вычислений, поскольку множители перед и (i) и и - h) должны сохранить порядок для обеспечения точности О (Л).

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



и зй счет обеспечиваемой этими формулами устойчивости вычислений при любых h вполне компенсирует те вычислительные трудности, которые связаны с обращенном матрицы. Хорошей иллюстрацией слуй(ит численный пример, приведенный в работе Дэвисона [57]. Пример. Решение уравнения

X (£) = Лх (£) + В\х (t), X (0) = 0.

где U (t) - ступенчатое возмущение и (t) =1 при t О, а матрицы А и В имеют следующие элементы: А = tflij], где

ан 0,05-1,

£1,2,.

.. ,п.

г 1.2,.

., п -

fti,x+L - 0,01,

. ,n -

а.~ 0,02,

г 1,2,.

., и-

а, 0,002,

1,2,.

.,и -

А = 1,17 при и - 70, к = 1,25 при и = 50, к 1,45 при п = 30, к = 3,0 при и = 10, = [ftj, где = О при i = 1, 2, . . ., п - 1, = 1, осуществлялось по формуле (8).

В табл. I приведен расход машинного времени при решении этой задачи данным методом, методом Рунге - Кутта и стандартным методом Кранка-- Никольсона [56]. Автор работы [57] назвал алгоритм формулы (8) обобщенным методом Кранка - Никольсона.

Таблица 1 157]

Пиряпик млгрицы

Метол Рунге-Кутта

метод кранка- НнкоиьйОна [56]

Формула (8)

п - 10

40 мин

3 сек

0,2 сек

и -30

360 мин*

33 сек

2,2 сек

п - 50

900 мин*

90 сек

10 сек

W -70

1800 мин*

ISO с<=

26 сек

Отмеченные знаком * времена были оценены, а не измерены в эксперименте.



Шаг в методе Рунге - Кутта выбирался всегда максимально возможным по условию обеспечения устойчивости вычислений. Во всех случаях точность вычислений была не менее 4 значащих цифр.

Обсуждение. Отметим основные черты алгоритма (7).

1. Формула (6) дает корректное решение задачи при любых h (а не только при Л -0) при t оо. Учитывая этот факт н то обстоятельство, что формула (6) дает аппроксимацию порядка О (h), можно надеяться, что решение уравнения х (t) = Ах (t) + (i) будет сравнительно точным при больших значениях h. Поэтому, если желаемая точность невелика (скажем, 0,1%), а это часто имеет место, то можно значительно сократить расход машинного времени, выбирая большие значения h.

2. Требуемый объем памяти при решении однородио-10 уравнения составляет 3 . Для неоднородного уравнения Ъп. Это более жесткие требования, чем те, которые предъявляют стандартные методы, основанные на суммировании ряда (*) - 2п или метода Рунге -- Кутта - п.

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

4. Основное время в этом алгоритме занимает операция обращения матрицы А. Поэтому важен выбор эффективного алгоритма решения этой задачи.

В § 3 нами был приведен алгоритм Гаусса, который может быть использован для вычисления обратной матрицы.

Замечание. Изложенный здесь метод вычисления значения экспоненты имеет давнюю историю. Впервые его применял Эйлер, который получил формулы (4), (6), равложив функцию в бесконечную дробь. Тогда формулы (4), (6) представляют собой соответственно вторую и третью подходящие дроби для этой бесконечной дроби. Подробно этот метод описан в книге [45]. Для матричной экспоненты формулы типа (6) применены в работе [57]. В дальнейшез! алгоритм (6) будет применен для решения алгебраического уравнения Ляпунова и для решения дифференциального уравнения Риккати.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [ 50 ] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139