Система математических расчетов MATLAB

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

дут представлены в окне под меню выбора метода. Заметим, что выбор метода в дан-ной панели не оказывает воздействия на панель 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 индекса. Первые два из них указывают на пару строка-столбец, а следующие два характеризуют третью и четвертую размерности.

     

     

    Отметиим, что общие функции обращени