![]() | |
Слаботочка Книги 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 следует объединить интегралы г, и i,j+i (расходящиеся) в один сингулярный интеграл -ТЯМ / (а-) при X < Ад, -ь W - I 9+1(.) при ж>Л/. Получившиеся интегралы вычислим в явном виде. Задача 5. Пусть отрезок интегрирования разбит на равные части длины Н и на каждой части функция д{х) аппроксимируется при помоп],и линейной интерполяции. Таким образом, исходный интеграл аппроксимируется суммой интегралов м . я ,((, - 1)Я) + (. - (, - 1)Я) (Я)-,(.-1)Я) у /------Н- dT, где Я=(Я -А)М~. В предположении ограниченности (7 (я;) получить оценку погрешности 0(М~1пМ). Полезно указать на следующую практически важную деталь. Если решение задачи содержит какие-то неисследованные особенности, ухудшающие сходтюсть методов, то лучше сразу выделить простейшую дюдель-ную задачу, содержащую эти особенности, и провести выбор метода и проверку примениьюсти различных асимптотических критериев на этой модельной задаче. Этот путь обычно приводит к более быстрому пониманию существа вопроса и избавляет от необходиьюсти проведения ьшого-численных экспериментов на сакюй задаче. В частности, достигается экономия труда математика при програмлшровании задачи, машинного времени и упрощается исследование за счет возьюжпости построения более содержательных графиков поведения погрешности; здесь имеем возможность получить больше точек (14.8) или (14.12), поскольку для простой задачи их получение менее трудоемко. § 17. Принципы построения стандартных программ с автоматическим выбором шага Как отмечалось в § 12, интегралы от функций с особенностями типа .т хорошо вычис7шются методами интегрирования с переменным шагом, ес7Ш узлы интегрирования распределены оптимальным образом. По-видимому, столь же хорошо будут инчгрироваться функции с особенностями других типов. Поэтому представляется заманчивым строить стандартные программы численного интегрирования так, чтобы для любой ш) - Е А/ ( + --d, и мера погрешности P<;(/) = Пусть вычисляется Е./Р-ь f{x)dx, j4 = ыо- Первая процедура, которую естественно назвать -горизонтальной, определяется заданием параметров (3, а < I, ho, и ео- Полагаем ei = ео/3. Предположим, хто каким-то образом уже вычислено приближенное зна- чение интеграла / f{x)dx. Программа располагает в кажцый момент времени некоторым значением hg, с которым надо начинать считать оставшуюся часть интеграла. Вычиетяем величину Pg{f). соответствую-гцую отрезку [од, ад 4- hg]. Earn оказалось, что Pq{f) eoj то вычи- ( a,i+h,i сляем приближенное значение / f{x)dx по формуле (1) и пола-гаем Uqi = ад + hg. Мы получили приближенное значение величины га + 1 / f{x)dx. В случае, когда < pq{f), полагаем /i+i = hg, в про- тивном случае полагаем hgi = hg/a. Мы готовы к следующему шагу. Если оказалось, что Pg{f) > £о, то принимаем ahg за новое значение величины hq и возвращаемся к исходной позиции: вычислено приближенное функции распределение узлов являлось оптимальным или близким к нему. В § 11 указана возможность распределения узлов, близкого к оптимальному, после исследования поведения подынтегральной функции на редкой сетке. Однако в случае резко меняющихся функций, например функций типа я;, реализация этой возьюжности приводит к недостаточно удовлетворительным результатам. Поэтому при разработке стандартных программ интегрирования приняты несколько другие процедзфы распределения узлов интегрирования, обеспечивающие лучшее приближение к оптимальному распределению узлов для функций с особенностями. Рассьютрим некоторые из них. Для вычисления интегралов по элементарным отрезкам разбиения [aq-i, ад] выбираются: квадратурная формула значение интеграла / f{x)dx и задан шаг hg. Начальные условия для 5 = 0, / f{x)dx = 0, ho. J ас применения процедуры: Процедура должна также иметь блок окоичаюш работы: если оказалось, что uq + hq > в, то слсдуст ПОЛОЖИТЬ }iq = В - uq. Установилась практика брать а = 0,5. Другая процедура, которую можно назвать вертикальной, определяется заданием числа £о и заключается в следуюгцем. Пусть на каком-то шаге возникает необходимость вычисления интеграла по отрезку разбие- ПИЯ [с, d], т.е. / f{x)dx. Вычисляется величина р(/), соответствующая этому отрезку. Ес7Ш она оказалась меньше ео, то этот интеграл вычисляется по соответствующей формуле (1) и программа переходит к следующему справа отрезку разбиения. В противном случае отрезки [с, (c+d)/2] и [(с 4- d)/2, d] объявляются отрезками разбиения и программа сначала обра1цаетс;я к вычиаюнию интеграла по левому из этих отрезков. В начале работы программа обращается к вычислению исходного интеграла f(x)dx. Распределение узлов, осуществляемое этими процедурами, не является асимптотически оптимальным в смысле, определяеьюм в § 11, по следующим причинам: величина Pq{f) не явлreтcя главным членом погрешности квадратуры (1), а, как правило, есть некоторая грубая, завышенная по порядку оценка для него; отрезки для него могут принимать лить довольно редкий ряд значений (при этом для первой процедуры они имеют вид Лосг, а для второй - (В - Л)2~*-). Рассмотрим некоторые моменты, связанные с практическим использованием описанных выше процедур. Чтобы в отдельных случаях сделать распределение узлов бо.пее б.пизким к оптимальному, иногда величины Pqif), соответствующие отрезкам разбиения, сравнивают не с ео, а с eo/ij, где 7 специально подбирается. На первоначальном этапе применения ЭВМ сложилась традиция производить сравнение величины Pq{f) с величиной eohfj, т. е. брать 7 = 1. Оказалось, что для резко меняющихся функций получающееся распределение уз.лов было далеко от оптимального, а в случае функций с разрывами программа не могла вычислить интеграл. В самом деле, пусть, например, Г О при X < с, I 1 при X с. 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 |
|