ЗНАКОМСТВО С ПРОГРАММНЫМ ПАКЕТОМ MATLAB

advertisement
Министерство образования и науки российской федерации
Федеральное государственное бюджетное образовательное учреждение высшего
профессионального образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ЗНАКОМСТВО С ПРОГРАММНЫМ ПАКЕТОМ MATLAB
Методические указания
по выполнению лабораторной работы № 1
по курсу «Математические основы обработки сигналов»
Томск 2012
1. Цель работы
Целью лабораторной работы является ознакомление с пакетом математического
программного обеспечения MATLAB. В частности, требуется изучить синтаксис языка
программирования MATLAB, среду разработки и выполнения, возможности визуализации данных.
2. Основные понятия
MATLAB – это программная среда и язык математического программирования для
разработки алгоритмов обработки данных и технических вычислений. Язык MATLAB появился и
сформировался в конце 70х – начале 80х годов 20 века.
Название MATLAB является сокращением от английского словосочетания «MATrix
LABaratory» и отражает ключевую парадигму языка – основным элементом данных является
массив (матрица). Такой подход не случаен, поскольку именно матричные операции являются
основой большинства математических методов в теории систем, кибернетике и обработке данных,
т.е. тех дисциплин, которые являются основой решения большинства практических задач в науке
и технике. Далее приводятся сжатая информация о среде и языке программирования MATLAB, а
также отдельных компонентах, таких как система визуализации. Более подробную информацию
можно найти в источниках из списка литературы.
Рис. 1. Интерфейс среды программирования MATLAB
На рисунке 1 показано главное окно среды программирования MATLAB, появляющееся при
запуске. Оно содержит несколько областей:



Главное меню с вкладками Файл, Правка и т.д.;
Панель инструментов под главным меню, содержащая кнопки вызова наиболее часто
используемых функций;
Рабочее пространство программы, отображающее хранящиеся в памяти объекты и
переменные;

Окно текущей директории (вкладка рядом с вкладкой рабочего пространства),
отображающее рабочую директорию проекта;
История команд;
Командное окно, служащее для ввода команд и отображения результатов их работы;
Кнопка Start для вызова необходимых функций.



При работе с MATLAB очень важно уметь пользоваться электронной документацией, т.к. в
ней содержится полное описание всех функций, элементов и команд. Документация доступна в
пункте
Help
главного
меню
или
на
сайте
производителя
по
ссылке
http://www.mathworks.com/help/techdoc/?s_iid=ML2012_bb_doc.
Простейшим способом работы в системе MATLAB является ввод команд в командном окне.
При этом результаты выполнения команд сохраняются в памяти и отображаются в рабочем
пространстве. Рассмотрим подробнее.
Примером простейшей команды служит ввод числовой константы. Результатом выполнения
команды станет сама числовая константа, сохраненная во временной переменной ans (англ. answer
- ответ). Переменная ans автоматически создавается системой для сохранения результата любой
команды, введенной в командном окне. После выполнения команды результат помещается в ans и
отображается в рабочем пространстве.
>> ans = 1
ans =
1
Примером более сложного действия служит выполнение математических операций над
числовыми константами.
>> 2 + 4
ans =
6
Как и в любом другом языке программирования в MATLAB можно создавать переменные и
различные объекты в памяти. Например, результат выполнения выше приведенных команд можно
поместить в отдельные переменные.
>> x = 1
x=
1
>> y = 2 + 4
y=
6
Чтобы не «загромождать» командное окно выводом результатов следует использовать
символ «;» (точку с запятой) после введенной команды.
>> y = 2 + 4;
Кроме того, можно использовать команду clc для очистки командного окна от
содержащегося текста. Если необходимо удалить созданный ранее объект или переменную из
памяти используется команда clear или clear all. Также, можно удалять отдельные объекты и
переменные с помощью команды clear [имя_объекта]. Например,
>> clear y;
Как упоминалось выше, основным типом данных в MATLAB является массив (матрица).
Даже в рассмотренных выше примерах числовые константы и переменные являются массивами,
состоящими из одного элемента.
Для того чтобы задать массив используются квадратные скобки, элементы массива
разделяются пробелами.
>> A = [1 2 3]
A=
1
2
3
Для транспонирования после имени или описания массива вводится знак апострофа «’».
>> A = [1 2 3]'
A=
1
2
3
>> A'
ans =
1
2
3
Многомерные массивы задаются следующим образом:
>> B = [1 2 3; 4 5 6]
B=
1
2
3
4
5
6
Все арифметические операции, определенные для чисел также определены и для массивов.
>> A = [10 20 30; 40 50 60];
>> B = [1 2 3; 4 5 6];
>> C = A + B
C=
11 22 33
44 55 66
>> C = A - B
C=
9
18 27
36 45 54
>> C = A * B'
C=
140 320
320 770
>> C = A / B
C=
10.0000 0.0000
-0.0000 10.0000
Такие операции как умножение и деление также имеют свои аналоги для поэлементного
умножения и деления.
>> C = A .* B
C=
10 40 90
160 250 360
>> C = A ./ B
C=
10 10 10
10 10 10
Полное описание всех матричных операций можно найти в электронной документации
(Functions – Mathematics – Arrays and Matrices).
Система MATLAB предоставляет обширные возможности для визуализации данных –
начиная с простых двумерных графиков и диаграмм, заканчивая сложной трехмерной анимацией.
Продемонстрируем построение простых графиков на примере.
>> t = 0:0.01:100;
>> y = sin(t);
>> plot(t,y);
В первой строке записана операция создания одномерного массива с помощью
интервального способа задания. Первое число – это начало интервала (строго говоря, отрезка),
второе число – шаг приращения переменной, третье число – конец интервала. Во второй строке
создается массив и заполняется значениями функции sin(t). В третьей строке производится
построение графика переменной y в зависимости от t. Построенный график показан на рисунке 2.
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
10
20
30
40
50
60
70
80
90
100
Рис. 2. Пример построения двумерных графиков в MATLAB
Как было сказано выше, работа из командной строки – самый простой способ создания
алгоритмов в MATLAB. Такой вариант подходит для быстрого выполнения нескольких действий
над уже готовыми данными. В случае если требуется написать более сложную программу,
используют сохранение кода в m-файлах.
Чтобы создать m-файлах необходимо воспользоваться кнопкой New script (New m-file) на
панели инструментов или пунктом меню File – New – Script. После нажатия откроется новое окно
реактора кода. В окне можно вводить те же самые команды, которые применялись ранее,
например, последний пример с построением графика. Файл требуется сохранить на диске, после
чего он может быть запущен на выполнение с помощью клавиши F5.
3. Программа работы
1. Выполните все приведенные в пункте 2 примеры.
2. Создайте m-файл для выполнения последующих заданий
3. В созданном файле разместите программный код, реализующий следующие операции:
а) создание двух массивов A и B;
б) выполнение над созданными массивами операций сложения, умножения и деления;
результаты поместить в массивы C, D, E;
в) расчет основных параметров матрицы A – максимального и минимального элемента, ранга и
элементов главной диагонали (для этого изучите функции min, max, rank, diag);
г) создание вектора времени t от 0 до 100 секунд с интервалом в 10 мс.;
д) создание сигналов (векторов) s1, s2, s3 различной формы: синусоидальной, прямоугольного
и случайного нормально распределенного шума (для этого изучите функции sin, square, randn);
е) построение графиков сигналов из пункта д) в двух вариантах – в одном окне на 3 разных
графиках и всех трех сигналов на одном графике (для этого ознакомьтесь с функциями plot,
subplot).
4. Список рекомендуемой литературы
1. Ануфриев И.Е. Самоучитель MATLAB 5.3/6.х. – СПб.: БХВ-Петербург, 2002.
2. Дьяконов В.П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании. – М.:
СОЛОН-Пресс, 2005.
3. Сергиенко А.Б. Цифровая обработка сигналов. – СПб.: Питер, 2002.
Download