Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

Линейная интерполяция выполняется функцией linterp(vx, vy, x), которая возвращает линейно интерполируемое значение y, соответствующее третьему аргументу x. Аргументы vx, vy – это исходные векторы данных одинаковой длины, причем элементы вектора vx должны быть расположены в порядке возрастания.

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

1. Создать векторы исходных данных vx, vy одинаковой длины, причем элементы вектора vx должны быть расположены в порядке возрастания.

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

· lspline(vx, vy) – генерация сплайна, который приближается к прямой линии в граничных точках;

· pspline(vx, vy) – генерация сплайна, который приближается к параболе граничных точках;

· cspline(vx, vy) – генерация сплайна, который приближается к кубической параболе в граничных точках.

3. Чтобы найти интерполируемое значение в произвольной точке, например в точке x, необходимо вычислить функцию interp(vs, vx, vy, x).

Обратите внимание, что можно сделать то же самое, вычисляя, например, interp(cspline(vx, vy), vx, vy, x). Пример сплайн-интерполяции показан на рис. 8.1.

Для узловой и промежуточной точек найдены ординаты y соответствующих точек сплайна. Нахождение значения в узловой точке – это проверка правильности алгоритма. На рис. 8.1 также построен график интерполирующей функции и крестиками отмечены узловые точки. Для получения наилучших результатов значение x должно находиться между значениями в векторе vx.

Иногда необходимо оценить поведение функции вне отрезка, на котором заданы данные. В MATHCAD есть функция predict, которая позволяет это сделать. Эта функция использует линейный алгоритм предсказания, который бывает полезен в том случае, если экстраполируемая функция гладкая и осциллирующая, но не обязательно периодическая. Формат написания функции: predict(vy, m, n). Возвращает n предсказанных значений, используя m последних последовательных значений вектора данных vy. Элементы вектора vy должны представлять собой значения, взятые через равные интервалы. Необходимо отметить, что задача экстраполяции хорошо решаема в случае монотонных функций, представляемых полиномом невысокой степени, а также для функций, содержащих колебательную компоненту.

Рис. 8.1. Пример построения кубического сплайна

 

В заключение приведем список функций интерполяции и экстраполяции:

linterp (vx, vy, x); csline (vx, vy); psline (vx, vy); lsline (vx, vy); interp (vs, vx, vy, x); cspline (Mxy, Mz); pspline (Mxy, Mz);
lspline (Mxy, Mz); interp (vs, Mxy, Mz, v); predict (v, m, n).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.