Главная Численные методы при исследовании физических задач



Если интерполяционная функция ф(л;; а) монотонна по х, то интерполяция будет монотонной. Классический пример-двухточечная интерполяция многочленом Ньютона (л:) = ao + Oi.v. Другим примером может служить двухточечная квазилинейная интерполяция (19). Очевидно, если интерполяция квазилинейная двухточечная, а преобразования ?]{(/), (х) монотонны, то интерполяция будет монотонной.

При трехточечпой интерполяции монотонность может нарушиться. В таблице 5 (п. 8) функция, по-видимому, монотонна. Но если использовать многочлен Ньютона с тремя узлами, т. е. оставить в формуле Ньютона только три члена, то получим у (Vj) =к-6,5, что нарушает монотонность. Очевидно, это результат использования немонотонной интерполяционной функции -параболы (х) = «о + QiX + ах.

Двухточечная интерполяция имеет погрешность 0{№), и ее точность не всегда достаточна; а увеличение числа узлов может внести немонотонность. Конечно, если интерполяционный ряд Ньютона (8) хорошо сходится, а монотонность все-таки нарушена, то это означает, что функция на самом деле немонотонна. Но нередко мы вынуждены ограничиваться заданным в формуле (или программе для ЭВМ) числом узлов. Если при этом надо сохранить монотонность, то можно поступать следующим образом.

Найдем такие соседние точки сетки, чтобы выполнялось =s л: sg x/j. Проведем вычисления по заданной многоточечной интерполяционной формуле и получим 1/* = ф(.г). Если это .значение лежит между значениями у, r/;.j, то считаем ответ правильным. Если оно выходит за пределы интервала, определяемого значениями у{, у-, то вмесго у* в качестве ответа берем ближайшее из этих двух значений, т. е. полагаем

y(x) = y* = (f (X) при min (yt, у1г) =5= у* max (yi, yt+i),

у {x) = min {yi, yii) при i/* < min ((/,, i/,-+i), (29)

у (X) = max ((/;, (/i+i) при у* > max (г/,-, yij).

Эта монотонная интерполяция бывает полезна, например, при составлении разностных схем для уравнений в частных производных (глава X, § 1, п. 6).

11. Многомерная интерполяция. Двумерные таблицы широко распространены в физике и технике; например, таковыми являются таблицы термодинамических функций газов, где независимыми переменными обычно являются температура и плотность. Трехмерные таблицы составляют и используют значительно реже, но не потому, что таких зависимостей нет, а потому, что таблицы слишком громоздки. Четырехмерных таблиц практически нет, хотя в физике немало задач с большим числом параметров; так, проводимость плазмы о{Т, р, Е, Н) зависит от ее температуры и плотности, и напряженностей электрического (если сказываются нелинейные эффекты) и магнитного полей.

Огметим некоторые существенные стороны многомерной интерполяции. Для простоты ограничимся двумерными таблицами 2 (.г, у); обобщить все результаты иа большее число измерений нетрудно.

1) Чтобы объем таблиц был приемлем, приходится шаги по аргументам брать довольно большими. Это предъявляет жесткие требования к способу интерполяции. Часто приходится пользоваться методом выравнивания, т. е. подбирать замену перемен-



ных t,(z), Цх), г\{у), преобразующую описываемую функцией поверхность в плоскость.

Например, законы зависимости давления горячих газов от температуры и плотности Р (Г, р) близки к степенным. Поэтому при составлении таблиц свойств газов выгодно табулировать z, - \gp при аргументах = lg7, T] = Igp и сетки по новым аргументам брать равномерными (к сожалению, физики редко это делают). Сходные закономерности справедливы для других термодинамических функций, коэффициентов теплопроводности и электропроводности и еще многих свойств веществ.

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

2) Не любое число узлов интерполяции выгодно-. Если для одной переменной степень многочлена была взаинно однозначно связана с числом узлов{ то для двух переменных многочлен л-ой

степени йрп(х, у) = 2 ктХу имеет (д+1)(п + 2)/2 узлов.

А -h m = о

Если число узлов не соответствует этой формуле, то часть коэффициентов при высших степенях должна задаваться принудительно (в частности, нулями); ддя выбора этих коэффициентов редко есть разумные основания.

3) В многомерном случае иначе определяется понятие экстраполяции. Возьмем узлы интерполяции и соединим их попарно прямыми (в случае большего числа измерений-гиперплоскостями). Крайние отрезки ограничивают выпуклую область (рис. 7). Если искомая точка попадает в эту область, то имеет место интерполяция; если не попадает, то экстраполяция.

4) Не всякое расположение узлов допустимо. В одномерном случае узлы не должны были совпадать. Теперь же для интерполяции многочленом (х, у) необходимо, чтобы узлы не лежали на одной прямой в плоскости (х, у). В самом деле, система трех уравнений a-\-bXi-\-cyi = Zi имеет определитель


Рис. 7.

А (/-1, г, Гз) =

1 Xi Ух 1 Ха у.> 1 Xi Уз

== Xl (у2 - Уз) + (Уз -У1) + Хз (й - , (30)

который обращается в нуль, если узлы лежат на одной прямой. При интерполяции многочленом (х, у) требуется, чтобы узлы не лежали на кривой второго порядка и т. д.



Такие условия, а также условие отсутствия экстраполяции проверять в общем случае сложно. Поэтому для хорошей интерполяции сетка должна быть регулярно построенной, а не представлять собой совокупность беспорядочно расположенных точек; узлы из нее следует выбирать определенным образом. В дальнейшем ограничимся наиболее удобной прямоугольной сеткой (рис. 8, 9); желательно, чтобы она была равномерной.

На прямоугольной сетке удобна последовательная интерполяция. Пусть заданы Zij = z{Xi, yj) и требуется найти z{x, у). Выберем на сетке прямоугольник из km узлов, в который попадает искомая точка (рис. 8). Сначала проведем лагранжеву интерполяцию по строкам, т. е. при каждом фиксированном /ц найдем значение z(x, yj) по значениям 2/„. Затем проведем лаг-

Рис. 8.

Рис, 9.

ранжеву интерполяцию по столбцу, т. е. по значениям z{x, yj) найдем искомое значение z{х, у).

Последовательная интерполяция имеет ряд преимуществ. Она позволяет брать по каждой переменной свое число узлов. Легко написать ее общую формулу, аналогичную одномерной формуле Лагранжа.

km km

,• = о / = о

р = 0 <7=0

ixp-xi}(yg-yj)

хотя вычисления удобнее производить, последовательно применяя одномерные формулы Ньютона. Формулу (31) можно обобщить, используя для каждого аргумента свою квазилинейную интерполяцию, т. е. по строкам делая замену Цх), i(z), а по столбцам-т] (г/), 2(2); такие выравнивающие замены подобрать проще, чем единую замену. Однако последовательная интерполяция завышает степень интерполирующего многочлена; например, если по обоим направлениям берется двухточечная интерполяция) т. е. многочлен первой степени, то результирующий многочлен будет квадратичным многочленом вида •fj.a {х, у) =а+рл;---уг/4-бхг/.

Многочлен минимальной степени получается при треугольной интерполяции. Если взять треугольную конфигурацию узлов



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.1125