Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_7_new.doc
Скачиваний:
1
Добавлен:
19.11.2019
Размер:
262.14 Кб
Скачать

14

Лабораторная работа № 7

Интерполяция данных и обработка наблюдений

в среде Mathcad

Цель работы: изучить основные способы обработки экспериментальных данных в среде Mathcad.

  1. Интерполяция данных

    1. 1.1. Кусочно-линейная интерполяция

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

Задание 1. Провести кусочно-линейную интерполяцию, если vx= (1, 2, 3, 4, 5) , vy= (98, 85, 32, 79, 30) при с шагом 0,1.

Рисунок 1. Кусочно-линейная интерполяция

1.2. Сплайн-интерполяция

В большинстве случаев желательно соединять экспериментальные точки не ломаной линией, а гладкой кривой. Для этого используется сплайн-интерполяция. Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путём создания ряда кубических полиномов, проходящих через три смежные узловые точки. Кубические полиномы затем состыковываются друг с другом так, чтобы образовать единую кривую. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках (отсюда и название аппроксимации: splain - гибкая линейка).

Рисунок 2. Использование встроенных функций среды

Mathcad для выполнения сплайн-интерполяции

Для осуществления сплайн-интерполяции среда Mathcad предлагает четыре встроенные функции (Рисунок 2). Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:

cspline(vx, vy) - возвращает вектор vs вторых производных при приближении в опорных точках к кубическому полиному;

pspline(vx, vy) - возвращает вектор vs вторых производных при приближении к опорным точкам параболической кривой;

lspline(vx, vy) - возвращает вектор vs вторых производных при приближении к опорным точкам прямой.

Функция interp(vs, vx, vy, x) - возвращает значение у(х) для заданных векторов vs, vx, vy и заданного значения x.

Рисунок 3. Интерполяция различными сплайнами

Сначала строятся базовые точки. Для создания вектора узловых точек и значений функции в них выбрана произ­вольная функция (с осцилляциями — для большей наглядности). Потом по этим базовым точкам строятся три сплайн-интерполяции — с кубическими, квадратичными и линейными сплайнами в граничных точках. Результат по­казан на рисунке 3.

Задание 2. Выполнить сплайн-интерполяцию как показано на рисунках 2 и 3.

Таким образом, сплайн-интерполяция проводится в два этапа. На первом с помощью функций cspline, pspline или Ispline отыскивается вектор вторых производных функции у(х), заданной векторами vx и vy её значений (абсцисс и ординат). Затем, на втором этапе для каждой искомой точки вычисляется значение у(х) с помощью функции interp.

Задание 3. Выполнить сплайн-интерполяцию для данных из задания 1 с использованием функции pspline.

Рисунок 4. Интерполяция параболическими сплайнами

На рисунке 4 приведен пример аппроксимации параболическими сплайнами. Аппроксимация проведена для тех же заданных точек, что и в задании 1. Набраны вектора vx, vy и с помощью функции pspline получены ко­эффициенты сплайнов. Чтобы убедиться, что аппроксимирующая кривая проходит через заданные точки, функция interp вычислена для заданных значений х. По­этому результатом interp явились заданные значения у. Чтобы более точно просмотреть аппроксимирующую кривую для графика х задан в том же интервале, но с шагом 0.1. Как видно из графика, интерполяция сплайнами совершенно не похожа на кусочно-линейную интерполяцию.

В функции interpvx,vy- те же векторы заданных значений, а vs – вектор коэффи­циентов уравнений для сплайнов, полученный из функций pspline или cspline.