1611688890-f641c9ec8276824e4686da772eb56520 (826652), страница 18
Текст из файла (страница 18)
Численные методы анализапервой и второй— на концах интервала, приближённо задавая их снеобходимым порядком точности.2.7Нелинейные методы интерполяцииРассмотренные нами выше методы интерполяции (в частности, алгебраической), были линейными в том смысле, что результат решениязадачи интерполяции при фиксированных узлах линейно зависел отданных. При этом класс интерполирующих функций G образует линейное векторное пространство над полем R: любая линейная комбинация функций также является функцией заданного вида, решающейзадачу интерполяции для линейной комбинации данных. Но существуют и другие, нелинейные, методы интерполирования, для которых невыполнено сформулированное выше свойство.
Эти методы также широко применяются при практической интерполяции, так как обладаютмногими важными достоинствами.Нелинейными называют методы интерполяции, в которых классинтерполирующих функций G не является линейным векторным пространством. Важнейший частный случай нелинейных методов интерполяции — это интерполяция с помощью рациональных функций видаy = y(x) =a0 + a1 x + a2 x2 + . .
..b0 + b1 x + b2 x2 + . . .(2.60)Итак, пусть в узлах x0 , x1 , . . . , xn заданы значения функции y0 , y1 ,. . . , yn . Нам нужно найти рациональную дробь вида (2.60), такую чтоyi = y(xi ), i = 0, 1, . . . , n.Поскольку дробь не меняется от умножения числителя и знаменателя на одно и то же ненулевое число, то для какого-нибудь одного изкоэффицентов ai или bi может быть выбрано произвольное наперёд заданное значение. Кроме того, параметры ai и bi должны удовлетворятьn + 1 условиям интерполяции в узлах, так что всего этих параметровмы можем извлечь из условия задачи (n+ 2) штук. Этим ограничениемопределяется общее число неизвестных параметров, т е.
сумма степенеймногочленов числителя и знаменателя в дроби (2.60).Представление (2.60) равносильно тождествуa0 − b0 y + a1 x − b1 xy + a2 x2 − b2 x2 y + . . . = 0.(2.61)1032.7. Нелинейные методы интерполяцииКоль скоро при x = xi должно быть y = yi , i = 0, 1, . . . , n, то получаемещё (n + 1) числовых равенствa0 − b0 yi + a1 xi − b1 xi yi + a2 x2i − b2 x2i yi + . . . = 0,(2.62)i = 0, 1, . . . , n. Соотношения (2.61)–(2.62) можно трактовать, как условие линейной зависимости с коэффициентами a0 , −b0 , a1 , −b1 , . .
. длявектор-столбцов 11 .. . , 11y y0 y1 ,. .. ynx x0 x1 , . .. xnxy x0 y0 x1 y1 , . .. xn ynразмера (n + 2). Как следствие,1 yx 1 y0 x0 1 y1 x1det 1 y2 x2 . ... .. ...1 yn xnx2 x20 2 x1 , . .. x2nопределительx2 y x20 y0 2 x1 y1 , . .. x2n yn...xyx2x2 y...x0 y0x20x20 y0x1 y1x21x21 y1x2 y2x22x22 y2.........xn ynx2nx2n yn... ... ... ..
. ...составленной из этих столбцов матрицы размера (n+2)×(n+2) долженбыть равен нулю. Разлагая его по первой строке и разрешая полученноеравенство нулю относительно y, мы действительно получим выражениедля y в виде отношения двух многочленов от x.Реализация описанного выше приёма требует нахождения значенийопределителя числовых (n + 1) × (n + 1)-матриц, и далее в §3.13 мырассмотрим соответствующие методы. Отметим, что в популярных системах компьютерной математики Scilab, Matlab, Maple, Mathematicaи др.
для этого существует готовая встроенная функция det.Пример 2.7.1 Рассмотрим в качестве примера интерполяцию дробнорациональной функцией таблицы значений1042.82. Численные методы анализаЧисленное дифференцированиеДифференцированием называется, как известно, процесс нахождения производной от заданной функции или же численного значенияэтой производной в заданной точке. Необходимость выполнения дифференцирования возникает весьма часто и вызвана огромным распространением этой операции в современной математике и её приложениях. Производная бывает нужна и сама по себе, как мгновенная скорость тех или иных процессов, и как вспомогательное средство дляпостроения более сложных процедур, например, в методе Ньютона длячисленного решения уравнений и систем уравнений (см.
§§4.4г и 4.5б).В настоящее время наиболее распространены три следующих способа вычисления производных:• символьное (аналитическое) дифференцирование,• численное дифференцирование,• алгоритмическое (автоматическое) дифференцирование.Символьным (аналитическим) дифференцированием называют процесс построения по функции, задаваемой каким-то выражением, производной функции, основываясь на известных из математического анализа правилах дифференцирования составных функций (суммы, разности, произведения, частного, композиции, обратной функции и т. п.)и известных производных для простейших функций.
Основы символьного (аналитического) дифференцирования являются предметом математического анализа (точнее, дифференциального исчисления), а болеепродвинутые результаты по этой теме входят в курсы компьютернойалгебры.На принципах, похожих на символьное (аналитическое) дифференцирование, основывается алгоритмическое (автоматическое) дифференцирование, но при этом оперируют не выражениями для производных,а их численными значениями при данных значениях аргументов функции.
Как символьное (аналитическое) дифференцирование, так и алгоритмическое (автоматическое) дифференцирование требуют знаниявыражения для функции или хотя бы компьютерной программы дляеё вычисления. Мы кратко рассмотрим алгоритмическое дифференцирование в §2.9.Численным дифференцированием называется процесс нахождениязначения производной от функции, использующий значения этой функ-2.8. Численное дифференцирование105ции в некотором наборе точек её области определения.
Таким образом, если функция задана таблично, т. е. лишь на конечном множестве значений аргумента, либо процедура определения значений этойфункции не может быть выписана в виде выражения или детерминированной программы, то альтернатив численному дифференцированиюнет. В частности, иногда в виде такого «чёрного ящика» мы вынуждены представлять вычисление значений функции, аналитическое выражение для которой существует, но является слишком сложным илинеудобным для дифференцирования первыми двумя способами.В основе методов численного дифференцирования лежат различныеидеи. Самая первая состоит в том, чтобы доопределить (восстановить)таблично заданную функцию до функции непрерывного аргумента, ккоторой уже применима обычная операция дифференцирования. Теория интерполирования, которой посвящены предшествующие параграфы, может оказаться в высшей степени полезной при реализации такого подхода.
В частности, таблично заданную функцию можно заменитьеё интерполяционным полиномом, и его производные считать производными рассматриваемой функции. Для этого годится также интерполяция сплайнами или какими-либо другими функциями, а в целомописанный выше подход к численному дифференцированию называютинтерполяционным подходом.2.8аИнтерполяционный подходИтак, пусть задан набор узлов x0 , x1 , . . . , xn ∈ [a, b], т. е. сетка с шагом hi = xi −xi−1 , i = 1, 2, . .
. , n. Кроме того, заданы значения функцииf0 , f1 , . . . , fn , такие что fi = f (xi ), i = 0, 1, . . . , n. Ниже мы рассмотримпростейший вариант интерполяционного подхода, в котором используется алгебраическая интерполяция.Начнём со случая, когда применяется интерполяционный полиномпервой степени, который мы строим по двум соседним узлам сетки, т. е.по xi−1 и xi , i = 1, 2, . .
. , n:P1,i (x) ==x − xi−1x − xifi−1 +fixi−1 − xixi − xi−1fi − fi−1fi−1 xi − fi xi−1x+,xi − xi−1xi − xi−1где у интерполяционного полинома добавлен дополнительный индекс«i», указывающий на ту пару узлов, по которым он построен. Поэтому1062. Численные методы анализапроизводная равна′P1,i(x) =fi − fi−1fi − fi−1=.xi − xi−1hiЭто значение можно взять за приближение к производной от рассматриваемой функции на интервале ]xi−1 , xi [ , i = 1, 2, . . .
, n.Во внутренних узлах сетки — x1 , x2 , . . . , xn−1 , — т. е. там, где встречаются два подинтервала, производную можно брать по любой из возможных формулf ′ (xi ) ≈ fx,i :=fi − fi−1xi − xi−1— разделённая разность назад,f ′ (xi ) ≈ fx,i :=fi+1 − fixi+1 − xi— разделённая разность вперёд. (2.64)(2.63)Обе они примерно равнозначны и выбор конкретной из них может бытьделом соглашения, удобства или целесообразности. Например, от направления этой разности может решающим образом зависеть устойчивость разностных схем для численного решения дифференциальныхуравнений.Построим теперь интерполяционные полиномы Лагранжа второйстепени по трём соседним точкам сетки xi−1 , xi , xi+1 , i = 1, 2, .