Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практическая работа в MATLAB. Учебное пособие
.pdf
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
“Липецкий государственный технический университет”
Ю.И. Кудинов
ПРАКТИЧЕСКАЯ РАБОТА
В MATLAB
Учебное пособие
Липецк
Липецкий государственный технический университет
2013

УДК 004(07)
К 887
Рецензенты:
Кафедра компьютерного и математического моделирования
Тамбовского государственного университета им. Г.Р. Державина;
д-р физ.-мат. наук, проф. Курбатов В.Г.
Кудинов, Ю.И.
К 887 Практическая работа в MATLAB [Текст]: учеб. пос. / Ю.И. Кудинов. –
Липецк: Изд-во ЛГТУ, 2013. – 62 с.
ISBN
В пособии дается краткое описание методики освоения программных
продуктов MATLAB и SIMULINK. Основные разделы пособия содержат
контрольные задания для самостоятельной работы студентов.
Предназначено для выполнения практических задач учебной
практики, которую проходят бакалавры направления подготовки 220400
«Управление в технических системах» по профилю «Управление и
информатика в технических системах».
Ил. 37 Табл. 5 Библиогр.: 6 назв.
Печатается по решению редакционно-издательского совета ЛГТУ
ISBN
© Кудинов Ю.И., 2013
© Липецкий государственный
технический университет, 2013
2

СОДЕРЖАНИЕ
ВВЕДЕНИЕ ………...……………………………………………………………………...4
1. ПРАКТИЧЕСКАЯ РАБОТА В MATLAB …………………………………………6
1.1. Запуск MATLAB ……………………………………………………………….6
1.2. Простейшие арифметические действия …….………………………………6
Задание 1 ………………………………………………………………....9
1.3. Формирование одномерного и двумерного массивов ……..…………….10
1.4. Построение и форматирование графиков функций……….…………….12
1.4.1. Двумерные графики функций ……………………………………….12
Задание 2 ......……………………………………………………………21
1.4.2. Трехмерные графики функций ……………………………………....24
Задание 3 …………………………………………………….…………29
1.5. Символьные вычисления……………………………………………………30
1.5.1. Решение дифференциальных уравнений ……………….………..…..30
Задание 4.………………………………………………………………32
1.5.2. Создание символьных переменных, выражений, матриц …………..33
1.5.3. Обращение к стандартным функциям………………………………..34
1.5.4. Создание символьной матрицы………………..……………………...34
1.5.5. Решение алгебраических уравнений ….……….………………..……35
1.5.6. Упрощение алгебраического выражения ….……………..………….35
1.5.7. Вычисление сумм рядов ……………………..………………..………35
1.5.8. Символьное дифференцирование ……….……………..…………….36
1.5.9. Символьное интегрирование …………….………..………………….37
Задание 5 ……….. ………………………………….…………………38
2. ПРАКТИЧЕСКАЯ РАБОТА В SIMULINK ……………………………………….40
2.1. Запуск SIMULINK ……..………….……….…….…………………..……….40
2.2. Моделирование основных элементов динамических систем ..................41
2.2.1. Блок Constant (константа) ……………………………………….…41
2.2.2. Блоки Display (Дисплей) и Scope (осциллограф) …….……………...41
2.2.3. Блок Gain …………………………………………………....………….42
2.2.4. Блок Sum (Сумматор) ..…………………………..……………………44
2.2.5. Блоки объединения Mux и разделения Demux сигналов …………...45
2.2.6. Блок Derivative (Дифференцирование) ….………………………46
2.2.7. Блок Integrator (Интегратор) ..………………………………….47
2.3. Моделирование динамических объектов, описываемых
линейными дифференциальными уравнениями .……………………...49
2.4. Формирование подсистем .…………..………………….………………….50
2.4.1. Создание блока Plant………………………………………………….51
2.4.2. Создание блока PID………………….………………………………..52
2.4.3. Создание блок-схемы САР ..…….…………………………………...53
Задание 6 ………………………………………………………………54
2.5. Моделирование логических систем …..……………………….………….54
Задание 7 ………………………………………………………………57
2.6. Выполнение заданий ..…………..……………….…………………….……58
БИБЛИОГРАФИЧЕСКИЙ СПИСОК ….……………………………………………61
3

ВВЕДЕНИЕ
Настоящее пособие предназначено элементарного освоения таких
важных для технических специальностей программных продуктов, как
MATLAB и SIMULINK.
Слово MATLAB означает «матричная лаборатория» (MATrix LABoratory).
MATLAB - это интерактивная система, в которой основным элементом данных
является массив. Это позволяет решать различные задачи, связанные с
техническими вычислениями, особенно те в которых используются матрицы и
вектора. Типичное использование MATLAB - это:
• математические вычисления;
• создание алгоритмов;
• моделирование;
• анализ данных, исследования и визуализация;
• научная и инженерная графика;
• разработка приложений, включая создание графического интерфейса.
MATLAB содержит специализированную группу программ, называемых
toolboxes и позволяющих решать задачи обработки сигналов, анализа и синтеза
систем управления, разработки нейронных сетей и нечетких систем,
моделирования и т.д. Система MATLAB состоит из пяти основных частей:
1. Язык MATLAB. Это язык матриц и массивов высокого уровня с управлением
потоками, функциями, структурами данных, вводом-выводом и особенностями
объектно-ориентированного программирования. Это позволяет программировать
как в "небольшом масштабе" для быстрого создания черновых программ, так и в
"большом" для создания больших и сложных приложений.
2. Среда MATLAB. Это набор инструментов и приспособлений, с
которыми работает пользователь или программист MATLAB. Она включает в
себя средства для управления переменными в рабочем пространстве MATLAB,
вводом и выводом данных, а также для создания, контроля и отладки М-файлов
и приложений MATLAB.
4

3. Управляемая графика. Это графическая система MATLAB, которая
включает в себя команды высокого уровня для визуализации двух- и
трехмерных данных, обработки изображений, анимации и иллюстрированной
графики. Она также включает в себя команды низкого уровня, позволяющие
полностью редактировать внешний вид графики, также как при создании
Графического пользовательского интерфейса (GUI) для MATLAB приложений.
4. Библиотека математических функций. Это обширная коллекция
вычислительных алгоритмов от элементарных функций, таких как сумма,
синус, косинус, комплексная арифметика, до более сложных, таких как
обращение матриц, нахождение собственных значений, функции Бесселя,
быстрое преобразование Фурье.
5. Программный интерфейс. Это библиотека, позволяющая писать программы
на Си и Фортране, которые взаимодействуют с MATLAB. Она включает в себя
средства для вызова программ из MATLAB (динамическая связь), вызывая
MATLAB как вычислительный инструмент и для чтения-записи МАТ-файлов.
SIMULINK - это интерактивная система для моделирования нелинейных
динамических систем. Она представляет собой среду, управляемую мышью,
которая позволяет моделировать процесс путем перетаскивания блоков на
экране и манипуляцией с ними. SIMULINK работает с линейными,
нелинейными, непрерывными, дискретными, многомерными системами.
Учебное пособие состоит из двух разделов.
В первом разделе приобретаются основные навыки работы с пакетом
MATLAB 7, а во втором разделе – с пакетом SIMULINK. В ходе практики
студентам предлагается выполнить простые математические операции,
построить и отформатировать графики функций принадлежности, найти
решение линейного дифференциального уравнения в MATLAB, осуществить
моделирование линейных динамических объектов и логических систем в
SIMULINK. Пособие снабжено заданиями для самостоятельной работы
студентов, которая оформляется в виде отчета об учебной практике.
5

1. ПРАКТИЧЕСКАЯ РАБОТА В MATLAB
1.1. Запуск MATLAB
Запустите систему MATLAB, выполнив команду Пуск, Программы,
MATLAB7, щелкните на иконке . Появится командное окно (Command
Window) системы (рис. 1.1).
Рис. 1.1
Оно может содержать, например, окна текущих файлов (Current
Directory) и предистории команд (Command History), которые удаляются
соответствующими командами Debug, Current Directory и Debug,
Command History.
1.2. Простейшие арифметические действия
В арифметических выражениях языка MATLAB используются следующие
знаки арифметических операций:
+ - сложение;
- - вычитание;
* - умножение;
/ - деление слева направо;
\ - деление справа налево;
^ - возведение в степень.
В командном окне под именем системной переменной ans выводится
результат действия последнего выполненного оператора.
6

В рабочее поле окна после знака командной строки >> введите и сложите
два числа 2 и 5, используя привычный знак суммы (+)
>> 2+5
нажмите клавишу Enter и получите на экране ответ
ans = 7
Определите значение функции sin(x) при x = 0.5
>> sin(0.5)
ans = 0.4794
Умножьте на 3, возведите в квадрат и сложите с цифрой 5 каждый
элемент вектора V = (1, 2, 3, 4), который в MATLAB представляется
как V = [1 2 3 4] или V = [1,2,3,4]
>> V=[1 2 3 4]
V =
1 2 3 4
>> 3*V
ans =
3 6 9 12
>> V.^2
ans =
1 4 9 16
>> V+5
ans =
6 7 8 9
Все значения вычисленных переменных хранятся и накапливаются в
рабочем пространстве (Workspace), поэтому его следует периодически
освобождать от них. Для этого выполните команду Deskop, Workspace,
выделите и удалите использованные переменные.
Использование MATLAB в режиме калькулятора может происходить
путем простой записи в командную строку последовательности
арифметических действий с числами, то есть обычного арифметического
выражения, например: 4.5^2*7.23 - 3.14*10.4
После ввода с клавиатуры последовательности, приведенной ниже,
нажмите клавишу Enter.
>> 4.5^2*7.23-3.14*10.4
ans = 113.7515
7

Вывод промежуточной информации в командное окно подчиняется
следующим правилам:
- если запись оператора не заканчивается символом (;), результат
действия этого оператора сразу же выводится в командное окно;
- если оператор заканчивается символом (;), результат этого действия не
отображается в командном окне;
- если оператор не содержит знака присваивания (=), т.е. является
просто записью некоторой последовательности действий над числами и
переменными, значение результата присваивается специальной системной
переменной по имени ans;
- полученное значение переменной ans можно использовать в следующих
операторах вычислений, применяя имя ans; при этом значение переменной
ans изменяется после действия очередного оператора без знака присваивания;
- в общем случае форма представления результата в командном окне имеет
вид:
Имя переменной = Результат.
Пример 1.2.1. Вычислите выражение (25+17)*7, используя четыре
способа.
Способ 1. Сначала наберите последовательность (25+17)*7 и нажмите
Enter. На экране появится результат в виде ans = 294, показанный ниже.
>> (25+17)*7
ans = 294
Способ 2. Запишите первый оператор 25+17, нажмите Enter и получите
результат ans = 42. Запишите второй оператор ans*7, нажмите Enter и
получите окончательный ответ ans = 294.
>> 25+17
ans = 42
>> ans*7
ans = 294
8

Способ 3. Чтобы предотвратить выведение промежуточного результата
02,0
111,05,1325,5
27
1
6
6
1
12
0004,0
13,26,9:
24
1
32
5
2
12
1
1
5,2:)25,121(
6
5
5
14
3
36,6
9
8
19:375,4
12
1
3
14
5
2
3
2
625,2
7
6
2
15
2
14
11
1
6
1
18
05,0134,0
6,075,8
225,0
9
1
28,0:
24
7
56
15
4
58
5,4
15
2
75,24:7,7
5,0:56,0
15,0
216,0
6,1
40
3
2,0
96,03,0:22,0
11
4
1
3
1
3
6
1
5,30
12,0:005,0425,0
5
3
7,5
125,0
7
1
05,0
:
3
1
26,4
3
1
26,4
3
1
15,2
5,2
3
1
3
действия, в конце записи 25+17 добавьте символ (;), а затем введите и
выражение ans *7. Тогда будете иметь результаты, представленные ниже.
>> 25+17;
>> ans*7
ans = 294
Способ 4. Применяя MATLAB как калькулятор, можно использовать имена
переменных для записи промежуточных результатов в память ПК, например x
и y. Для этого служит операция присваивания, которая вводится знаком
равенства (=) в соответствии со схемой:
Имя переменной = Выражение;
Тогда схема вычисления будет выглядеть так
>> x = 25+17;
>> y = x*7
y = 294
Задание 1
Вычислите указанное арифметическое выражение четвертым способом.
Сравните полученный результат с приведенным ответом.
1.1.
1.3.
1.5.
1.7.
. 1.4.
. 1.6.
. 1.8.
. 1.2.
.
.
.
.
1.9.
. 1.10.
9
.

1.11.
25,0
)12,0:0345,0(25,6128,0
)6(42,0725,0
3
2
2
9
4
222,03,0333,3
)6(,075,6
3
2
15,4
7
2
34
13
9
375,0
3
2
4
15
8
5:
6
1
4
45
4
5
68,1
40
3
2,0
96,03,0:22,0
11
4
1
008,0
11
20
30
7
875,09,10:
12
5
38
30
7
40
. 1.12.
.
1.13.
1.15.
. 1.14.
.
.
Ответы:
1.1) 599,3 1.2) 6179,5 1.3) 2,5 1.4) 2,8095
1.5) 0,0115 1.6) 0,56071 1.7) 2 1.8) 0,2
1.9) 0,25 1.10) 0,19231 1.11) -0,04492 1.12) 0,17068
1.13) 0,28571 1.14) 0,19048 1.15) 166,67
1.3. Формирование одномерного и двумерного массивов
Для формирования одномерного упорядоченного числового массива в
MATLAB используется оператор двоеточие (:).
Начальное_значение : Шаг : Конечное_значение
Если Шаг не задан, то он принимает значение 1.
Выполните примеры применения оператора:
1) для неопределенного массива с Шагом 1
>> 1:4
ans =
1 2 3 4
2) для определенного массива m с Шагом 2
>> m = 0:2:8
m =
0 2 4 6 8
3) для определенного массива n с отрицательным Шагом – 0.5
>> n = 4:-0.5:2
n =
4.0000 3.5000 3.0000 2.5000 2.0000
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
