- •Приложение 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)
- •Примеры
- •Спецификаторы стилей линии
- •Спецификаторы
- •Стили линии
- •Спецификаторы цвета
- •Примеры
подгонки, где меньшее значение нормы соответствует лучшему качеству. Норма рассчитывается при помощи функции norm(V,2), где V есть вектор невязок.
Numerical results (Численные результаты) – Данная панель позволяет изучать численные характеристики каждой отдельной подгонки для текущего набора данных, без построения графиков.
·Fit (Метод подгонки) – Выберите метод подгонки. Соответствующие результаты будут представлены в окне под меню выбора метода. Заметим, что выбор метода в данной панели не оказывает воздействия на панель Plot fits. Поэтому, если вы хотите получить графическое представление, следует выбрать соответствующую опцию в пане-
ли Plot fits.
·Coefficients and norm of residuals (Коэффициенты и норма невязок) – В данном окне выводятся численные выражения для уравнения подгонки, выбранного в Fit. Отметим, что при первом открытии панелиNumerical Results , в рассматриваемом окне выдаются результаты последней подгонки, выбранной вами в панели Plot fits.
·Save to workspace (Запомнить в рабочем пространстве) – Вызывает диалоговое окно, которое позволяет запомнить в рабочем пространстве результаты вашей подгонки.
Find Y = f(X) – Данная панель дает возможность произвести интерполяцию или экстраполяцию текущей подгонки.
·Enter value(s) (Введите данные) – Введите любое выражение, совместимое с системой MATLAB для оценки вашей текущей подгонки в промежуточных или выходящих за пределы заданных аргументов точек. Выражение будет вычислено после нажатия кнопки Evaluate (Вычислить), а результаты в табличной форме будут выведены в соответствующее окно ниже. Метод текущей подгонки при этом указан в ме-
ню Fit.
·Save to workspace (Запомнить в рабочем пространстве) – Вызывает диалоговое окно, которое позволяет запомнить в рабочем пространстве результаты вашей интерполяции.
·Plot results (Построить графики) – При выборе данной опции, результаты интерполявыводятся в графической форме на график данных.
Уравнения в конечных разностях и фильтрация
MATLAB имеет спциальные функции для работы с уравнениями в конечных разностях и фильтрами. Эти функции работают главным образом с векторами. Векторы используются для хранения дискретных сигналов или последовательностей, а также для обработки сигналов и анализа данных. Для систем со многими входами, каждая строка матрицы соответствует одной временной точки выборки сигналов, где каждый вход описывается как один вектор-стол- бец.
Функция
y = filter(b, a, x)
обрабатывает данные в векторе x посредством фильтра, описываемого векторами a и b, выдавая фильтрованные данные y. Функция filter может рассматриваться как эффективная реализация уравнения в конечных разностях. Структура функции filter является обобщенной структурой фильтра, образованного при помощи линий задержки, который описывается приведенными ниже уравнениями в конечных разностях, где n есть индекс (номер) текущей выборки, na есть порядок полинома, описываемого вектором a , а nb есть порядок полино-
63
ма,описываемого вектором b. Выход y(n) является линейной комбинацией текущего и пре-
дыдущих входов, то есть x(n) x(n-1) ..., и предыдущих выходов y(n-1) y(n-2) ...
a(1) y(n) = b(1) x(n) + b(2) x(n-1) + … + b(nb) x(n-nb+1) – - a(2) y(n-1) - … - a(na) y(n-na+1)
Допустим, например, что мы хотим сгладить данные нашей задачи по движению автомобилей при помощи усредняющего фильтра, который выдает среднее количество машин за каждые 4 часа. Данный процесс можно выразить при помощи следующего уравнения в конечных разностях:
y(n) = (1/4) x(n) + (1/4) x(n-1) + (1/4) x(n-2) + (1/4) x(n-3)
Соответствующие векторы равны:
a = 1; b = [1/4 1/4 1/4 1/4];
Воспользуемся данными матрицы count из раздела Анализ данных и статистика. Для нашего примера, обозначим первый столбец матрицы count через вектор x :
x = count(:, 1);
Усредненные за 4 часа данные могут быть легко вычислены при помощи приведенной выше функции y = filter(b, a, x). Сравним исходные и сглаженные данные, построив их на одном графике.
t = 1:length(x) ;
plot(t, x, '-.', t, y, '-'); grid on legend('Original Data','Smoothed Data',2)
Исходные данные наблюдения представлены здесь штрих-пунктирной линией, а сглаженные за 4 часа данные – сплошной линией.
64