- •Приложение 4. Элементарные математические функции
- •Приложение 5. Элементарные матрицы и операции над ними
- •Приложение 8. Анализ данных и преобразование Фурье
- •Справочник по базовым функциям
- •Общие свойства и возможности рабочего стола MATLAB
- •Клавиша
- •Действие
- •Рис. 3. Общий вид Окна Просмотра Рабочего Пространства
- •Операции с файлами
- •Дуальность (двойственность) команд и функций
- •Сложение и вычитание матриц
- •Векторное произведение и транспонирование матриц
- •Произведение матриц
- •Index exceeds matrix dimensions
- •Двоеточие (Colon)
- •Решение систем линейных уравнений
- •Квадратные системы
- •Переопределенные системы
- •Недоопределенные системы
- •Обратные матрицы и детерминанты
- •Псевдообратные матрицы
- •Степени матриц и матричные экспоненты
- •Положительные целые степени
- •Поэлементное возведение в степень
- •Вычисление корня квадратного из матрицы и матричной экспоненты
- •Диагональная декомпозиция
- •Дефектные матрицы
- •Сингулярное разложение матриц
- •Для матрицы
- •Полиномы и интерполяция
- •Полиномы и действия над ними
- •Обзор полиномиальных функций
- •Функция
- •Описание
- •Представление полиномов
- •Корни полинома
- •Вычисление значений полинома
- •Умножение и деление полиномов
- •Вычисление производных от полиномов
- •Аппроксимация кривых полиномами
- •Разложение на простые дроби
- •Интерполяция
- •Обзор функций интерполяции
- •Функции
- •Описание
- •2. Интерполяция на основе быстрого преобразования Фурье _
- •Основные функции обработки данных
- •Матрица ковариаций и коэффициенты корреляции
- •Конечные разности
- •Функция
- •Описание
- •Отсутствующие значения
- •Программа
- •Описание
- •Полиномиальная регрессия
- •Графический интерфейс подгонки кривых
- •Уравнения в конечных разностях и фильтрация
- •Многомерные Массивы
- •Создание Многомерных Массивов
- •Создание массивов с использованием индексации
- •Удаление поля из структуры
- •Создание функций для операций над массивами структур
- •Основные части синтаксиса М-функций
- •Комментарии
- •Как работает функция
- •Определение имени функции
- •Что происходит при вызове функцию
- •Распаковка содержимого функции varargin
- •Локальные и глобальные переменные
- •BETA = 0.02
- •Операторы
- •Описание
- •Операторы
- •Описание
- •Оператор
- •Описание
- •AND (логическое И)
- •OR (логическое ИЛИ)
- •NOT (логическое НЕ)
- •Использованием логических операторов с массивами
- •Функция
- •Описание
- •Примеры
- •Приложение 3. Операторы и специальные символы
- •Приложение 4. Элементарные математические функции
- •Приложение 5. Элементарные матрицы и операции над ними
- •Приложение 8. Анализ данных и преобразование Фурье
- •(Data analysis and Fourier transforms)
- •Примеры
- •Спецификаторы стилей линии
- •Спецификаторы
- •Стили линии
- •Спецификаторы цвета
- •Примеры
r =
-12 8
p =
-4 -2
k =
[ ]
Функция residue с тремя входными (r, p, и k) и двумя выходными (b2, a2) аргументами выполняет обратную функцию свертки имеющегося разложения на простые дроби, в дробнорациональную функцию отношения двух полиномов.
[b2, a2] = residue(r, p, k)
b2 =
-4 8
a2 =
1 6 8
т.е. из данных предыдущего примера мы восстановили исходную передаточную функцию. В случае кратных корней процедура несколько усложняется, но остается разрешимой.
Интерполяция
Интерполяция является процессом вычисления (оценки) промежуточных значений функций, которые находятся между известными или заданными точками. Она имеет важное применение в таких областях как теория сигналов, обработка изображений и других. MATLAB обеспечивает ряд интерполяционных методик, которые позволяют находить компромисс между точностью представления интерполируемых данных и скоростью вычислений и используемой памятью.
|
Обзор функций интерполяции |
Функции |
Описание |
griddata |
Двумерная интерполяция на неравномерной сетке. |
griddata3 |
Трехмерная интерполяция на неравномерной сетке. |
griddatan |
Многомерная интерполяция (n >= 3). |
interp1 |
Одномерная табличная интерполяция. |
interp2 |
Двухмерная табличная интерполяция. |
interp3 |
Трехмерная табличная интерполяция. |
interpft |
Одномерная интерполяция с использованием быстрого |
interpn |
преобразования Фурье. |
Многомерная табличная интерполяция. |
|
pchip |
Кубическая интерполяция при помощи полинома Эрмита. |
spline |
Интерполяция кубическим сплайном. |
46
Одномерная интерполяция
Двумя основными типами одномерной интерполяции вMATLAB-е являются полиномиальная интерполяция и интерполяция на основе быстрого преобразования Фурье.
1. Полиномиальная интерполяция
Функция interp1 осуществляет одномерную интерполяцию– важную операцию в области анализа данных и аппроксимации кривых. Эта функция использует полиномиальные методы, аппроксимируя имеющийся массив данных полиномиальными функциями и вычисляя соответствующие функции на заданных(желаемых) точках. В наиболее общей форме эта функция имеет вид
yi = interp1(x, y, xi, method)
где y есть вектор, содержащий значения функции; x – вектор такой же длины, содержащий те точки (значения аргумента), в которых заданы значения y; вектор xi содержит те точки, в которых мы хотим найти значения вектораy путем интерполяции; method – дополнительная строка, задающая метод интерполяции. Имеются следующие возможности для выбора метода:
•Ступенчатая интерполяция (method = 'nearest'). Этот метод приравнивает значение функции в интерполируемой точке к ее значению в ближайшей существующей точке имеющихся данных.
•Линейная интерполяция (method = 'linear'). Этот метод аппроксимирует функцию между любыми двумя существующими соседними значениями как линейную функцию, возвращает соответствующее значение для точки в xi (метод используется по умолчанию).
•Интерполяция кубическими сплайнами (method = 'spline'). Этот метод аппроксимирует ин-
терполируемую функцию между любыми двумя соседними значениями при помощи кубических функций, и использует сплайны для осуществления интерполяции.
•Кубическая интерполяция (method = 'pchip' или 'cubic'). Эти методы идентичны. Они используют кусочную кубическую Эрмитову аппроксимацию и сохраняют монотонность и форму данных.
Если какой-либо из элементов вектора xi находится вне интервала, заданного вектором x, то выбранный метод интерполяции используется также и для экстраполяции. Как альтернатива, функция yi = interp1(x, y, xi, method, extrapval) заменяет экстраполированные значения теми, которые заданы векторомextrapval. Для последнего часто используется нечисловое значение NaN.
Все методы работают на неравномерной сетке значений вектора x .
Рассмотрение скорости, требуемой памяти и гладкости методов. При выборе метода ин-
терполяции всегда нужно помнить, что некоторые из них требуют большего объема памяти или выполняются быстрее, чем другие. Однако, вам может потребоваться использование любого из этих методов, чтобы достичь нужной степени точности интерполяции(гладкости результатов). При этом нужно исходить из следующих критериев.
•Метод ступенчатой аппроксимации является самым быстрым, однако он дает наихудшие результаты с точки зрения гладкости.
•Линейная интерполяция использует больше памяти чем ступенчатая и требует несколько большего времени исполнения. В отличие от ступенчатой аппроксимации, результирующая функция является непрерывной, но ее наклон меняется в значениях исходной сетки(исходных данных).
•Кубическая интерполяция сплайнами требует наибольшего времени исполнения, хотя требует меньших объемов памяти чем кубическая интерполяция. Она дает самый гладкий результат из всех других методов, однако вы можете получить неожиданные результаты, если входные данные распределены неравномерно и некоторые точки слишком близки.
47