MATHCAD
Кубическая сплайн-интерполяцияСмысл сплайн-интерполяции
заключается в том, что в промежутках между точками осуществляется аппроксимация
в виде зависимости 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. Ниже приведена программа кубической сплайн интерполяции
|
||||||||||