Слаботочка Книги

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 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208

= F{Zn,Xn) +

Un-H - Un

{Zn+l - Z ),

= Go(z 4.i,2; 4.i) -bGi(z 4.i,a; +i)(u 4.i - u ).

В результате двух шагов получаются приближения zg и +2 -а-чениям z{Xn + 2hn) и и(ж -Ь2/г ); находятся приближения z 2 и и , 2 в результате применения той же аппроксимация с двойным шагом 2/i ; величины R = zjj 2 ~ +1 и г = и 2 ~ п+г используются для контроля шага интегрирования.

Если А = vR p + г р 6, то за окончательные приближенные значения z(a; + 2/i ) и и(ж + 2Л ) принимаются z,\ 2 + R-n и u2 + n, соответственно. При А й/4 следующий шаг берется в два раза больше. При А > 5 делается попытка повторного интегрирования, исходя из точки х , но с уже вдвое меньшим шагом.

Получаемая в итоге аппроксимация имеет уже второй порядок.

Задача!. На примере уравнения и + Ми = {) получить явную формулу, выражающую 4.2 + п через м,\2 + п = X{M)un- При каких М вьшолняется неравенство А(М) 1?

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

и + Ми = 0, и(0)=ио (15)

и применим для его решения метод Эйлера:

п-Ы = jin M/i)w , и° = ио- (16)

Решение задачи (15) при М > О имеет вид монотонно убывающей экспоненты и{х) = ще , в то время как решение (16) имеет вид и = (1 - MhYUQ. Таким образом, при 1 - Mh\ > 1 решение задачи методом Эйлера экспоненциально возрастает и не имеет ничего общего с реальным решением. Более того, если даже 1 - Mh\ < 1, но 1 - Mh < О, то решение (15) экспоненциально убывает, но при переходе от шага к шагу меняет знак, т.е. метод Эйлера в этом случае также неприменим.

3. Укажем еще один подобный метод решения задачи Коши для жестких систем довольно распространенного вида

z = F(z, х), и = Go(z, х) + Gi(z, a;)u,

с контролем локальной погрешности через некоторую величину 6.

Исходя из приближения z , u делаем попытку интегрирования с шагом hn- Используется аппроксимация первого порядка точности



Тогда из (20) имеем

Un = Y 3if>3rr (21)

Вследствие (19) норма решения и(<) дифференциальной задачи не возрастает. Если потребовать, чтобы норма решения дискретной задачи

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

что при больших по модулю М влечет за собой непомерное увеличение вычислительных затрат.

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

Изложим основные идеи метода на примере модельной задачи. В качестве такой задачи рассмотрим систему обыкновенных дифференциальных уравнений с симметричной неотрицательной матрицей А:

+ = О, и(0) = U0. (18)

Будем предполагать, что спектр матрицы А может быть разделен на две части: гладкую - AiЛа; = 0(1) и жесткую - A+i,А. 1; max \j = М. Решение задачи (18) имеет вид

u(i) = e-*uo. (19)

Решение задачи (18) будем искать на отрезке [О, г], используя метод Эйлера

u +i = u - hAun = [Е - hA)un,

откуда

Un = {E- НАГио. (20)

Разлагая uq по собственным векторам матрицы А, получим

т 3=1



также не возрастала, то из (21) можно получить, что шаг интегрирования h должен удовлетворять условию

l-/iAj<l, j=l,...,m,

откуда получаем оценку для h:

h 2/М. (22)

Условие (22) является необходимым для устойчивости метода Эйлера (20). Даже в случае, когда мы находимся в области, где составляюш,ая решения, соответствующая жесткой части спектра, близка к нулю, мы вынуждены выбирать шаг интегрирования, удовлетворяющий (22); в противном случае происходит экспоненциальное накопление вычислительной погрешности.

Предположим, что мы задали число шагов интегрирования, равное N. Тогда за N шагов, используя метод Эйлера (20) и условие устойчивости (22), мы можем получить приближенное решение до момента времени г = 2N/M. Поставим следующую задачу. Используя переменный шаг метода Эйлера, получить за N шагов приближенное решение на как можно большем промежутке. Естественно, что при этом используемый метод должен быть устойчивым.

Уточним данную постановку для случая общего уравнения - =

f(t, и), и(0) = uq. Если и известно, то u +i будем искать, используя следующий алгоритм

Уп+1/2 = и + hn+lf{tn, U ), *n+l/2 = tn + h +i,

Уп+1 = Уп+1/2 + hn+ii{tn+i/2, Уп+1/2), tn+1 = tn+1/2 + hn+1, (23)

u -fi = Уп-ы +in+ihn+i (f(tn, u ) - f(i +i/2, Уп+1/2));

здесь 7j ~ некоторые постоянные, которые наряду с hj надо определить.

Рассмотрение метода (23) будем проводить на примере задачи (18). Для случая задачи (18) метод (23) имеет вид

Уп+1/2 = Un - hn+lAUji, *7i+l/2 - in + hn+i,

Уп+1 = Уп+1/2 ~ 7г+1Уп+1/21 *n+l = *n+l/2 + Ki+1,

Uti+I = Уп+1 - ln+lK+l{AUn - Ауп+112)-

С помощью элементарных преобразований отсюда получаем соотношение, связывающее u+i и и :

u +i = {Е- hnxAfvin - 7n+i/in+i {Алхп - А{лхг, - K+iAm)) =

= {Е- hn+iA)Un - -fn+ihl+iAUn = (24)

= [{Е - hn+iA) - jn+ihl+iA ] u .




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 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
Яндекс.Метрика