p align="left">· Show equations (Показать уравнения) - При выборе данной опции, уравнение подгон-ки выводится на ваш график. · Significant digits (Значащие разряды) - Выберите число значащих разрядов для выво-да на дисплей. · Plot residuals (Построить графики разностей (невязок)) - При выборе данной опции, на график выводятся разности подгонок. Под разностью подгонки понимается раз-ность между исходными данными и результатами подгонки для каждого значения ар-гумента исходных данных. Вы можете построить графики невязок как столбчатую ди-аграмму (bar plot), как график рассеяния (scatter plot), или же как линейный график. Построения можно осуществлять как в том же графическом окне, так и в отдельном. При использовании подграфиков (subplots) для построения графиков многомерных данных, графики разностей могут быть построены только в отдельном графическом окне. · Show norm of residuals (Показать норму разностей) - При выборе опции, на график выводятся также значения норм разностей. Норма разности является мерой качества подгонки, где меньшее значение нормы соответствует лучшему качеству. Норма рас-считывается при помощи функции 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 есть порядок полино-ма,описываемого вектором 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 часа данные - сплошной линией. Для различных практических приложений, в специальном пакете Signal Processing Toolbox предусмотрены многочисленные функции для анализа сигналов и проектирования дискрет-ных фильтров. Многомерные МассивыМногомерные массивы в системе MATLAB являются распространением обычных двумерных матриц. Как известно, матрицы имеют две размерности - строки (row) и столбцы (column). Вы можете выделить любой элемент двумерной матрицы при помощи двух индексов, где первый является индексом (номером) строки, а второй - индексом столбца. Многомерные массивы имеют дополнительную индексацию. Например, трехмерные массивы имеют три индекса:· Первый индекс указывает размерность 1 , то есть строки.· Второй индекс указывает размерность 2. то есть столбцы.· Третий индекс указывает на размерность 3. В данном пособии используется концепция страницы (page) для представления размерности 3 и выше.Для обращения, например, к элементу второй строки и третьего столбца на странице 2 нужно воспользоваться индексацией (2,3,2) (см. рисунок ниже).Если вы добавляете размерности к массиву, вы также добавляете индексы. Четырехмерный массив, например, имеет 4 индекса. Первые два из них указывают на пару строка-столбец, а следующие два характеризуют третью и четвертую размерности.Отметиим, что общие функции обращения с многомерными массивами находятся в директории 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 Вы можете продолжить добавление строк, столбцов или страниц аналогичным образом. Расширение Многомерных Массивов. Для расширения любой размерности массива А нужно: · Увеличить или добавить соответствующий индекс и задать требуемые значения. · Добавить такое же количество элементов к соответствующим размерностям массива. Так, для числовых массивов все строки должны иметь одинаковое число элементов, все страницы должны иметь одинаковое число строк и столбцов и т.д. Вы можете воспользоваться свойством скалярного распространения системы MATLAB, совместно с оператором двоеточия, для заполнения всей размерности единственным числом: A(:, :, 3) = 5; A(:, :, 3) ans = 5 5 5 5 5 5 5 5 5 Для превращения А в четырехмерный массив размерности 3х3х3х2 введите A(:, :, 1, 2) = [1 2 3; 4 5 6; 7 8 9]; A(:, :, 2, 2) = [9 8 7; 6 5 4; 3 2 1]; A(:, :, 3, 2) = [1 0 1; 1 1 0; 0 1 1]; Отметим, что после первых двух вводов MATLAB добавляет в A требуемое количество нулей, чтобы поддержать соответствующие размеры размерностей (речь идет о первом элементе по четвертой размерности, то есть при четвертом индексе равном единице, массив А будет содержать три нулевые матрицы размера 3х3). Создание масивом с применением функций MATLAB-а. Вы можете использовать для создания многомерных массивов такие функции MATLAB-а как randn, ones, и zeros, совершенно аналогично способу используемому для двумерных матриц. Каждый вводимый аргумент представляет размер соответствующей размерности в результирующем массиве. Например, для создания массива нормально распределенных случайных чисел размера 4х3х2 следует записать: B = randn(4,3,2). Для создания массива, заполненного единственным постоянным значением можно восполь-зоваться функцией repmat. Эта функция копирует массив (в нашем случае массив размера 1х1) вдоль вектора размерностей массива. B = repmat(5,[3 4 2]) B(:, :, 1) = 5 5 5 5 5 5 5 5 5 5 5 5 B(:, :, 2) = 5 5 5 5 5 5 5 5 5 5 5 5 Внимание! Любая размерность массива может иметь размер 0, что просто дает пустой массив (empty array) . Так, размер 10х0х20 является допустимым размером многомерного массива. Создание многомерного массива при помощи функции cat. Функция cat дает простой путь построения многомерных массивов; она объединяет набор массивов вдоль заданной размерности. B = cat (dim,A1,A2...) где А1, А2 и т.д. являются объединяемыми массивами. а dim есть размерность, вдоль которой они объединяются. Например, для создания нового массива из двух двумерных матриц при помощи функции cat запишем
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
|