Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пакет 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).





Дата публикования: 2015-04-07; Прочитано: 522 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...