Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB.pdf
Скачиваний:
193
Добавлен:
27.03.2015
Размер:
1.06 Mб
Скачать

подгонки, где меньшее значение нормы соответствует лучшему качеству. Норма рассчитывается при помощи функции 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]