ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.05.2024
Просмотров: 153
Скачиваний: 0
подгонки, где меньшее значение нормы соответствует лучшему качеству. Норма рассчитывается при помощи функции 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
Для различных практических приложений, в специальном пакете Signal Processing Toolbox предусмотрены многочисленные функции для анализа сигналов и проектирования дискретных фильтров.
Многомерные Массивы
Многомерные массивы в системеMATLAB являются распространением обычных двумерных матриц. Как известно, матрицы имеют две размерности – строки (row) и столбцы
(column).
Вы можете выделить любой элемент двумерной матрицы при помощи двух индексов, где первый является индексом (номером) строки, а второй – индексом столбца. Многомерные массивы имеют дополнительную индексацию. Например, трехмерные массивы имеют три индекса:
·Первый индекс указывает размерность 1 , то есть строки.
·Второй индекс указывает размерность 2. то есть столбцы.
· Третий индекс указывает на размерность3. В данном пособии используется концепция страницы (page) для представления размерности 3 и выше.
Для обращения, например, к элементу второй строки и третьего столбца на странице 2 нужно воспользоваться индексацией (2,3,2) (см. рисунок ниже).
Если вы добавляете размерности к массиву, вы также добавляете индексы. Четырехмерный массив, например, имеет 4 индекса. Первые два из них указывают на пару строка-столбец, а следующие два характеризуют третью и четвертую размерности.
65
Отметиим, что общие функции обращения с многомерными массивами находятся в директории datatypes.
Создание Многомерных Массивов
При создании многомерных массивов можно воспользоваться теми же приемами, которые используются для двумерных матриц.
Создание массивов с использованием индексации
Один из способов формирования многомерного массива состоит в создании двумерного массива и соответствующего его расширения. Например, начнем с простого двумерного массива А.
A = [5 7 8; 0 1 9; 4 3 6];
А является массивом 3х3, то есть его |
размерности |
строк и столбцов равны .тремДля |
||
добавления третьей размерности к А запишем |
|
|
||
A(:,:,2) = [1 |
0 |
4; 3 5 6; 9 |
8 7]. |
|
MATLAB выдаст |
|
|
|
|
A(:, : ,1) = |
5 |
7 |
8 |
|
|
|
|||
|
0 |
1 |
9 |
|
|
4 |
3 |
6 |
|
A(:, :, 2) = |
1 |
0 |
4 |
|
|
|
|||
|
3 |
5 |
6 |
|
|
9 |
8 |
7 |
|
Вы можете продолжить добавление строк, столбцов или страниц аналогичным образом. Расширение Многомерных Массивов. Для расширения любой размерности массиваА нужно:
·Увеличить или добавить соответствующий индекс и задать требуемые значения.
·Добавить такое же количество элементов к соответствующим размерностям массива. Так, для числовых массивов все строки должны иметь одинаковое число элементов, все страницы должны иметь одинаковое число строк и столбцов и т.д.
66