|
В начало
Кубическая сплайн-интерполяцияСмысл сплайн-интерполяции
заключается в том, что в промежутках между точками осуществляется аппроксимация
в виде зависимости A(t) = at3 + bt2
+ ct + d.
Коэффициенты a, b, c,
d рассчитывают независимо для каждого
промежутка, исходя из значений yi в
соседних точках. Функция,
аппроксимирующая данные векторов х и у кубическими
сплайнами в MathCAD, – interp(s, x, y, t), где s – вектор
вторых производных, созданный одной из сопутствующих функций: cspline,
pspline или lspline; х – вектор действительных данных аргумента, элементы которого
расположены в порядке возрастания; у – вектор действительных данных значений
того же размера; t
– значение аргумента, при
котором вычисляется интерполирующая функция. Для осуществления сплайн-интерполяции
с помощью MathCAD, надо выполнить следующие действия: В главном меню необходимо выбрать «Вид – Панели инструментов –
Матрица», после чего в появившейся панели «Matrix» выбрать «Создать матрицу» на 1 строку и 7 столбцов и ввести координаты
по оси x. Далее
с помощью элемента «Транспонирование
матрицы» той же панели транспонировать матрицу данных
Аналогичную операцию проводим с координатами
по оси у
Сплайн-интерполяция в MathCAD реализована чуть сложнее
линейной. Перед применением функции interp
необходимо предварительно определить первый из её аргументов – векторную
переменную s при помощи одной из трёх встроенных
функций тех же аргументов (х, у): – lspline(x, y)
– вектор значений коэффициентов линейного сплайна (англ. linear spline –линейный); – pspline(x, y)
– вектор значений коэффициентов квадратичного сплайна (англ. parabolic spline); – cspline(x, y) – вектор значений коэффициентов кубического
сплайна (англ. cubic spline). Затем проводится
интерполяция с помощью функции interp(s, x, y, t), где s – вектор вторых производных, созданный одной из
сопутствующих функций cspline, pspline или lspline; х – вектор действительных данных аргумента, элементы
которого расположены в порядке возрастания; у – вектор действительных данных
значений того же размера; t – значение
аргумента, при котором вычисляется интерполирующая функция. Далее записываем функцию
сплайн-интерполяции в виде
Чтобы построить график, необходимо выбрать
в главном меню «Вид – Панели инструментов – График», затем на появившейся панели
«Graph» выбрать элемент «Декартов график», после чего в
рабочем окне программы MathCAD отобразится область построения графика. По оси
ординат области построения графика необходимо ввести «A(t), y», а по оси абсцисс – «t, x». Далее двойным щелчком левой
кнопки мыши по области построения графика необходимо вызвать панель его
форматирования, на которой выбрать закладку «Трассировки», выделить мышью «trace2» и в поле
«Символ» выбрать «dmnd». Кроме того, для удобства можно установить
диапазон значений по оси абсцисс путём ввода соответствующих значений в области
на оси x
графика. Поскольку значения по оси х
изменяются от 0 до 6, их и введём. Рис.
1. Сплайн-интерполяция Встроенная функция interp позволяет
вычислить значения в требуемых точках, например для точки с аргументом x = 1,5 расчёт значения функции интерполяции
A(t) будет выглядеть следующим образом: interp(s, x, y, 1,5) =
2,837. Ниже приведена программа кубической сплайн
интерполяции
|
|||||||||