Ориентация на матричные операции

Первое знакомство с пакетом Matlab

План:

1. Состав пакета Matlab

2. Документация и литература по Matlab

2.1. Help

2.2. Demos

3. Ориентация на матричные операции

4. Главное окно

5. Командное окно и простейшие операции в нем

6. Прочие окна-фреймы

7. Аналитические выкладки в Matlab

8. Графический интерфейс пользователя

9. Специализированные пакеты (sptool, fdatool,…)

10. Simulink

Литература:

1. Дьяконов В., Абраменкова И. Matlab – обработка сигналов и изображений. Специальный справочник. – СПб, Питер, 2002. – 602с.

Состав пакета Matlab

В несколько усеченном (более полная схема приведена в работе [1]) виде структуру пакета (системы) Matlab можно представить как показано на рис.1.

 
  Ориентация на матричные операции - student2.ru

Рис.1

Как видно из рис.1, Matlab состоит из 2-частей – собственно пакета Matlab, предназначенного для решения вычислительных задач, и пакета Simulink, предназначенного для имитационного моделирования.

Каждый из этих пакетов обладает мощной библиотекой функций. Часть функций встроены в ядро пакета (например, тригонометрические функции sin, cos и т.п.) и выполняются предельно быстро. Значительная часть функций вынесена во внешнюю часть (Extensions) – эти функции выполняются медленнее. Однако в наличии внешней части есть большое достоинство: система открыта для пользователя. Т.е. пользователь может писать собственные функции (на языках пакета Matlab или C/C++) и внедрять их в пакет Matlab.

Наконец, ряд функций с помощью специального интерфейса объединены в «субпакеты» - это Toolboxes в Matlab и Blocksets в Simulink. Такое объединение удобно при решении задач определенного класса. Например, в задачах цифровой обработки сигналов часто встречаются функции преобразования Фурье, преобразования Гильберта, решения систем линейных уравнений и т.п. С их применением решаются задачи спектрального и корреляционного анализа, идентифиации систем и т.д. Есть и особого рода субпакеты – это «чужие» разработки, включенные в Matlab. Пример – пакет Symbolic Math для символьных вычислений, позволяющий упрощать аналитические выражения, брать интегралы и т.п.

2. Документация и литература по Matlab

Help

Помимо обычных и довольно многочисленных книг по покету Matlab, обращаем внимание на мощный, хорошо развитый (и особенно хорошо структурированный в последних версиях пакета) режим помощи (Help). Он просто незаменим в работе, даже если у вас есть литература (которая быстро устаревает). Запомнить имена многочисленных функций Matlab’a, не говоря уже об их синтаксисе – дело непосильное для нормального человека. Это – естественная расплата за мощь пакета, позволяющего осуществлять сложнейшие математические операции с помощью всего лишь одной-двух кратких команд.

Demos

В разделе Help имеется очень полезный подраздел Demos. Начиная с версии Matlab 6.0, вначале раздела Demos даны несколько мультимедийных уроков, обучающих использованию интерфейса пакета Matlab. Затем следует несколько тематических подразделов, среди которых нам особенно интересны:

Toolboxes>Symbolic Math

Toolboxes>Filter Design

Toolboxes>Image Processing

Toolboxes>Signal Processing

Toolboxes>Wavelet

Чрезвычайно полезно воспользоваться этими разделами для первоначального беглого знакомства с возможностями Matlab.

Ориентация на матричные операции

Принципиальной особенностью математического пакета Matlab является ориентация на матричные вычисления. Это, может быть, не очень удобно для тех, кто плохо знаком с основами матричной алгебры. Но зато такой подход очень хорошо подходит для описания цифровых систем обработки сигналов, оперирующих, в сущности, с дискретными последовательностями чисел.

Любопытным следствием такого подхода является то, что «обыкновенное» единичное число, именуемое скаляром, в Matlab’e также представляется как вектор - единичного размера.

Другое, значительно более важное, следствие матричного подхода – пользователю нужно быть чрезвычайно внимательным при выполнении операций умножения (*), деления (/), возведения в степень (^). Например, при простых вычислениях, где участвуют скалярные величины, можно использовать оператор умножения * в его привычном смысле – как оператор умножения числа на число. Однако если речь идет о перемножении векторов, тогда применение знака * дает результат в виде матрицы (при условии, что один из векторов – столбец, а другой - строка), а применение знака .* (знак умножения с точкой перед ним) дает новый вектор, элементы которого являются результатом перемножения соответствующих элементов множителей (при условии, что оба вектора – столбцы или строки).

Еще более сложно “устроена” операция деления: здесь различают деление слева направо (/ или ./) и справа налево (\ и .\).

Главное окно

По окончании загрузки пакета Matlab 6.0 открывается главное окно (рис.2), составными частями (фреймами) которого являются:

Ø командное окно (Command Window),

Ø окно быстрого запуска субпакетов (Launch Pad),

Ø окно рабочего пространства (Workspace),

Ø

 
  Ориентация на матричные операции - student2.ru

окно истории команд (Command History),

Ø окно текущей директории (Current Directory).

Рис.2

Наши рекомендации