Главная Численные методы при исследовании физических задач нение направления интегрирования не помогает, то такую краевую задачу реилают либо специальными, либо разностными методами. Одним из специальных методов для линейных краевых задач является дифференциальная прогонка (ее идея предложена в [1], а подробное описание алгоритма имеется," например, в [3, 4]). Этот метод хорошо устойчив именно в том случае, когда задача Коши для исходной линейной системы плохо обусловлена; этот факт вызывал одно время большой интерес к прогонке. Однако при хорошей устойчивости линейной задачи Коши прогонка становится недостаточно устойчивой. Поэтому в настоящее время дифференциальная прогонка употребляется не часто. Обычно используются ее разностные аналоги, рассматриваемые ниже; они обеспечивают удовлетворительную устойчивость расчета в большинстве интересных случаев. 3. Уравнения высокого порядка или системы большого числа уравнений имеют соответствующее число краевых условий, и способы задания этих условий достаточно разнообразны. Поэтому к таким задачам применять метод стрельбы много труднее, чем к простейшей задаче (50). Рассмотрим тот (сравнительно несложный) случай, когда для системы р уравнений =/,(х, «1, «2...... Ир), 1<<Р, ахЬ, (бОа) дополнительные условия заданы только на концах отрезка и имеют следующий вид: iuiia), Up(a)) = 0 lkm, (606) Ф,(«1(Ь), .... «р(Ь))=0 m+lkp. (бОв) Для определенности, будем полагать тр12. Выберем за исходный тот конец отрезка [а, Ь], где задана большая часть краевых условий; в нашем случае это будет левый конец х = а. Ъ качестве пристрелочных параметров возьмем р - т каких-то функций Uk{x) из полного набора, например, Ug{a)==r\q, lqp-tn. (61а) Если подставить эти значения в левые краевые условия (606), то эти условия образуют систему алгебраических уравнений относительно начальных значений остальных функций; решая эту систему, найдем ид(а)=%{щ, щ, р-т), р-т+\др. (616) Рассмотрим задачу Коши для системы уравнений (60а) с начальными условиями (61а, 6). Решение этой задачи, которое можно найти численным интегрированием, удовлетворяет левому краевому условию (606) и зависит от параметров n = {ri, ti2, Цр-т]-Подстановка этого решения в правые краевые условия (бОв) определяет вспомогательные функции параметров Фа(11) = Фа(«1(Ь, 1]). -л)), m+\kp; (62а) те значения параметров, которые удовлетворяют системе алгебраических уравнений фЛ!. 112. Цр~т) = 0, m+lekp, (626) определяют искомое решение краевой задачи (60). Напомним, что решение системы алгебраических уравнений высокого порядка само по себе является нелегкой задачей. Здесь оно осложняется тем, что вычисление функций (tj) очень трудоемко, ибо требует численного интегрирования системы дифференциальных уравнений. Явный вид этих функций неизвестен, так что преобразовать систему (626) к эквивалентной форме Цд = (рд (ц) и применять метод последовательных приближений затруднительно. А если мы захотим, как в п. 2, построить аналог метода Ньютона, то для вычисления матрицы производных (d(fi,/dr]g) надо будет дополнительно записать и численно интегрировать систему р{р - т) дифференциальных уравнений. Отсюда видно, что «пристрелка» большого числа параметров очень сложна. Поэтому для нелинейных задач метод стрельбы употребляют в основном тогда, когда р - т=\. Такие постановки краевых задач нередко встречаются в системах большого числа уравнений. Линейные уравнения. В этом случае метод стрельбы сильно упрощается и позволяет легко решать задачи при любом числе параметров р - т. В самом деле, функции Цк{ц) будут линейными, т. е. они однозначно определяются по своим значениям в р -m-f 1 точке г*, \ ssp - т-\-\. Значит, выполнив р - т-\-\ интегрирование задачи Коши (60а), (61) с разными наборами параметров, можно найти искомый набор параметров г. Тогда (р -т + 2)-е интегрирование даст решение краевой задачи (60). Вычисления при этом удобно вести следующим образом. Сначала возьмем некоторый набор параметров ц], vp-m и обозначим полученные значения функций (62а) через Фа = Ф*(т)), m+lscfep. Затем изменим первый параметр на величину Ат] = 1, т. е. возьмем набор iii-fl, ti., т], ri;; „, и обозначим полученные значения функций через ф*. Затем возьмем набор ц\, 413. "(fp-m и т. д. Выполнив полный цикл вычислений, можно записать каждую функцию в виде многомерного интерполяционного многочлена Ньютона первой степени (2.33): р - т фЛ11) = ф;§+ Ц (Ф-Ф)(Л,m-f lp. Приравнивая эти функции нулю, получим систему линейных алгебраических уравнений для определения искомых параметров т]: р-т р-т е (Ф-Ф)\= и (Ф.-Ф)J-Ф m-Xkn. (63) Заметим, что можно уменьшить на единицу число интегрирований системы линейных дифференциальных уравнений, если воспользоваться приемом, описанным в п. 2; но при большом значении р - т это лишь незначительно сокращает общий объем вычислений, а организацию расчета усложняет. 4. Разностный метод; линейные задачи/ Подробно рассмотрим разностный метод на примере простейшей краевой задачи для линейного уравнения второго порядка с краевыми условиями первого рода и"{х)-р{х)и{х)=[(х), ахЬ, (64а) «(а)=а, ы(Ь) = р. (646) Введем на [а, Ь] сетку а = Хо<Х1<::х<....<Хм = Ь, которую для упрощения выкладок будем считать равномерной. Приближенно выразим вторую производную от решения через значения решения в узлах сетки «„ = «(л;„); например, воспользуемся простейшей аппроксимацией (3.7): и" (Хп) - 2и„ + «„+i), h = x„+i - х„ = const. (65) Такую аппроксимацию можно записать в каждом внутреннем узле сетки х„, 1 ==п«сЛ/-1. Если подставить ее в уравнение (64а), то уравнение станет приближенным; точно удовлетворять этому уравнению будет уже не искомое решение и(х), а некоторое приближенное решение ynuiXn). Выполняя эту подстановку и обозначая pn = P{x,i) и fn = f{Xn), получим Уп-1-{2 + НРп)Уп + Уп+1 = к!п, \nN-L (66а) Эта система состоит из N-1 алгебраического уравнения, а неизвестными в ней являются приблил<енные значения решения в узлах сетки. Число неизвестных г/„, OnN, равно N-\-l, т. е. оно больше, чем число уравнений (66а). Недостающие два уравнения легко получить из краевых условий (646): г/о = а. УмР- (666) Решая алгебраическую систему (66а, 6), найдем приближенное решение. При таком подходе возникает три вопроса. 1) Существует ли (вещественное) решение алгебраической системы типа (66)? 2) Как 0 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 0.0366 |