Полученное значение называется первым интерполяционным многочленом Ньютона для интерполирования вперед.
Интерполяционную формулу (12) обычно
используют для вычисления значений функции в точках левой половины
рассматриваемого отрезка. Это объясняется следующим. Разности ![]()
вычисляются через значения функции ![]()
, ![]()
, причем ![]()
поэтому при больших значениях ![]()
мы можем вычислить разности высших
порядков ![]()
. Например, при ![]()
в (12) можно учесть только ![]()
.
Для правой половины рассматриваемого
отрезка разности лучше вычислять справа налево. В этом случае
т.е. ![]()
, и интерполяционный многочлен
Ньютона можно получить в виде
Полученная формула называется вторым интерполяционным многочленом Ньютона для интерполирования назад.
Рассмотрим пример использования многочленов Ньютона для интерполирования.
Пример 1. Функция y = f (x) задана таблицей значений с шагом h.
а) Запишите первый интерполяционный многочлен
Ньютона второго порядка, используя указанную ниже таблицу разностей.
|
|
|
|
|
|
|
0,150 0,155 0,160 0,165 0,170 0,175 0,180 |
0,14944 0,15438 0,15932 0,16425 0,16918 0,17411 0,17903 |
494 494 493 493 493 492 |
0 -1 0 0 -1 |
-1 1 0 1 |
Вычислить значения функции при x = 0,156 при помощи первого многочлена Ньютона
Положим:
б) Грубую оценку погрешности полученного значения можно получить, используя формулу (4.13).
1.2.3 Интерполяция сплайнами
При большом количестве узлов интерполяции сильно возрастает степень интерполяционных многочленов, что делает их неудобными для вычислений. Высокой степени многочленов можно избежать, разбив отрезок интерполяции на несколько частей с построением на каждой части самостоятельного интерполяционного многочлена. Такое интерполирование приобретает существенный недостаток: в точках стыка разных интерполяционных многочленов будет разрывной их первая производная.
В этом случае удобно пользоваться особым видом кусочно-полиномиальной интерполяции - интерполяцией сплайнами.
Сплайн - это функция, которая на каждом частичном отрезке является алгебраическим многочленом, а на всем заданном отрезке непрерывна вместе с несколькими своими производными. Ниже рассмотрен способ построения сплайнов третьей степени (кубических сплайнов), наиболее распространенных на практике.
Пусть интерполируемая функция
задана
своими значениями
в узлах
На отрезке
[
] функцию
запишем в
виде:
(15)
где
- неизвестные коэффициенты (всего
их 4n).
Используя совпадение значений
в узлах с
табличными значениями функции
, получаем следующие уравнения:
(16)
(17)
Число этих уравнений - 2n. Для
получения дополнительных уравнений используем непрерывность
и
в узлах
интерполяции интервала (
).
Получаем следующие уравнения:
(18)
Для получения еще двух уравнений
используем условие - равенство нулю второй производной
в точках
:
(19)
Исключив
из
полученных выше уравнений, получаем систему, содержащую 3n
неизвестных:
(20)
Решив данную систему, получаем
значения неизвестных
, которые
определяют сплайн
.
Рассмотрим пример построения сплайна.
Пример 2. Интерполирующая функция
задана таблицей, содержащей четыре узла.
|
|
|
|
|
|
|
|
|
|
|
|
Используя формулы (15), составляем кубический
сплайн:
Составляем систему уравнений с
использованием формул (20):
Коэффициенты системы представлены в таблице 1.
Таблица 1
Коэффициенты, определяющие матрицу системы примера 2
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Своб.
|
члены |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
-6 |
|
0 |
0 |
0 |
2 |
4 |
8 |
0 |
0 |
0 |
8 |
|
0 |
0 |
0 |
0 |
0 |
0 |
2 |
4 |
8 |
-9 |
|
-1 |
-2 |
-3 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
0 |
0 |
0 |
-1 |
-4 |
-12 |
1 |
0 |
0 |
0 |
|
0 |
-1 |
-3 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
-1 |
-6 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
6 |
0 |
Система может быть решена с использованием компьютера, например, методом Гаусса. Получаем решение (результаты округлены до двух знаков после запятой):
Полученные значения коэффициентов
определяют искомый сплайн:
Глава 2.
ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ МЕТОДОВ С СРЕДЕ MATHCAD
.1 Общие сведенья о среде Mathcad
- система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вычислениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT), соучредителем компании Mathsoft, которая с 2006 года является частью корпорации PTC (Parametric Technology Corporation).имеет интуитивный и простой для использования интерфейс пользователя. Для ввода формул и данных можно использовать как клавиатуру, так и специальные панели инструментов.
Некоторые из математических возможностей Mathcad (версии до 13.1 включительно) основаны на подмножестве системы компьютерной алгебры Maple (MKM, Maple Kernel Mathsoft). Начиная с 14 версии - использует символьное ядро MuPAD.
Работа осуществляется в пределах рабочего листа, на котором уравнения и выражения отображаются графически, в противовес текстовой записи в языках программирования. При создании документов-приложений используется принцип WYSIWYG (What You See Is What You Get - «что видишь, то и получаешь»).
Несмотря на то, что эта программа в основном ориентирована на пользователей-непрограммистов, Mathcad также используется в сложных проектах, чтобы визуализировать результаты математического моделирования, путем использования распределённых вычислений и традиционных языков программирования. Также Mathcad часто используется в крупных инженерных проектах, где большое значение имеет трассируемость и соответствие стандартам.достаточно удобно использовать для обучения, вычислений и инженерных расчетов. Открытая архитектура приложения в сочетании с поддержкой технологий .NET иXML позволяют легко интегрировать Mathcad практически в любые ИТ-структуры и инженерные приложения. Есть возможность создания электронных книг (e-Book).
Количество пользователей в мире - около 1.8 млн.содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции со скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.
Среди возможностей Mathcad можно выделить:
Решение дифференциальных
уравнений, в том числе и численными методами и интегрирование.
2.2 Средства Mathcad для интерполяции
Функции интерполяции определяют кривую, точно проходящую через заданные точки. Из-за этого результат очень чувствителен к ошибкам данных. Кроме того, убедитесь, что каждый элемент массива, который используется в любой из функций, описанных в этом разделе, содержит определенное значение. Поскольку MathCAD присваивает значение 0 любым элементам, которые явно не определены.
Линейная интерполяция.
При линейной интерполяции MathCAD соединяет
существующие точки данных прямыми линиями. Это выполняется функцией linterp.
Использует векторы данных
и
,
чтобы возвратить интерполируемое значение
,
соответствующее третьему аргументу
.
Аргументы
и
должны
быть векторами одинаковой длины. Вектор
должен
содержать вещественные значения, расположенные в порядке возрастания.
Эта функция соединяет точки данных отрезками прямых, создавая таким образом ломаную. Интерполируемое значение для конкретного х есть ордината у соответствующей точки ломаной.
Для значений
,
расположенных перед первой точкой в векторе
,
MathCAD продолжает ломаную прямой линией, проходящей через первые две точки
данных. Для значений
, расположенных за
последней точкой
, MathCAD
продолжает ломаную прямой линией, проходящей через последние две точки данных.
Для получения наилучших результатов
должно
находится между самыми большими и самыми маленькими значениями
-
маловероятно, что будут полезны значения, вычисленные для
вне
этого диапазона. Функция linterp предназначена для интерполяции, а не для
экстраполяции.
Кубическая сплайн-интерполяция.
Кубическая сплайн-интерполяция позволяет провести
кривую через набор точек таким образом, что первые и вторые производные кривой
непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических
полиномов, проходящих через наборы из трех смежных точек. Кубические полиномы
затем состыковываются друг с другом, чтобы образовать одну кривую.поставляется
с тремя сплайн-функциями:![]()
![]()
Они возвращают вектор коэффициентов вторых
производных, который мы будем называть
.
Этот вектор
обычно
используется в функции interp, описанной ниже. Аргументы
и
должны
быть вещественными векторами одинаковой длины. Значения вектора
должны
быть расположены в порядке возрастания.