Студопедия

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

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

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






Пакет MATLAB. Этот пакет располагает несколькими методами интерполяции и функциями, которые можно найти в каталоге polyfun.






Этот пакет располагает несколькими методами интерполяции и функциями, которые можно найти в каталоге polyfun.

Одномерная табличная интерполяция. Для одномерной табличной интерполяции используется функция interp1:

yi=interp1(x, y, xi, method) – возвращает вектор уi, содержащий элементы, соответствующие элементам хi и полученные интерполяцией векторов х и y. Вектор х определяет точки, в которых задано значение y. Если y – матрица, то интерполяция выполняется для каждого столбца y и уi. Параметром method можнозадать один из следующих методов интерполяции:

• ' nearest ' – ступенчатая интерполяция;

• ' linear ' – линейная интерполяция (принята по умолчанию);

• ' spline ' – кубическая сплайн-интерполяция;

• ' cubic' или ' pchip ' – интерполяция многочленами Эрмита.

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

Пример

Программа интерполяции функции синуса может иметь такой вид:

> > x = 0: 0.2: pi; y = sin(x);

pp = interp1(x, y, 'cubic', 'pp');

xi = 0: 0.1: pi;

yi = ppval(pp, xi); % вычисляются значения интерполирующей функции

plot(x, y, 'ko'), hold on, plot(xi, yi, ': '), grid on, hold off

Результат представлен на рис. 8.2.

Рис. 8.2. Кубическая интерполяция синуса

 

Нетрудно заметить, что сплайн-интерполяция в данном случае дает гораздо лучшие результаты, чем линейная интерполяция. При последней точки просто соединяются друг с другом отрезками прямых, так что график интерполирующей кривой при линейной интерполяции получается негладким.

Пункт Tools основного меню графического окна содержит две команды:

· Basic Fitting – основные методы аппроксимации;

· Data Statistics – статистические параметры данных.

В окне Basic Fitting можно выбрать метод аппроксимации, как показано на рис 8.2 (в данном случае выбраны Spline interpolant, linear, cubic), при этом соответствующая кривая появляется в графическом окне. Активизировав параметр Show equations (показать уравнения), получим выражение аппроксимирующей функции непосредственно в графическом окне. Оценку погрешности аппроксимации можно получить, если активизировать режим Plot residuals (график погрешностей), выводящий столбцовый или линейчатый график погрешностей в узловых точках. Параметр Show norm of residuals (показать норму погрешности) позволяет вывести в окно погрешности норму, характеризующую среднеквадратичную ошибку. Чем меньше норма, тем лучше аппроксимация.

 

Рис. 8.3. Пример окна Basic Fitting

 

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

Команда Data Statistics выводит на экран окно, содержащее ряд статистических характеристик. Отметив соответствующую характеристику, можно визуализировать ее в графическом окне.






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