- •Основы разработки систем управления в среде matlab
- •Лабораторная работа №1 вычисления и визуализация результатов в среде matlab
- •1.1. Основные сведения об операциях и функциях
- •1.2. Операции с векторами и матрицами
- •1.3. Построение графиков функций
- •Трехмерная графика
- •1.4. Порядок выполнения индивидуальных заданий по лабораторной работе
- •1.5. Контрольные вопросы
- •Приложение 1.1
- •Лабораторная работа №2 программирование в среде matlab
- •Введение
- •2.1. Управляющие конструкции языка matlab
- •2.1.1. Оператор условного перехода
- •2.1.2. Оператор переключения
- •2.1.3. Оператор цикла с определенным количеством повторений for…end
- •2.1.4. Цикл с неизвестным количеством повторений
- •2.2. Сценарии и m-файлы
- •2.2.1. Создание файла-сценария
- •2.2.2. Требования к оформлению м-файлов
- •2.2.3. Типовая структура файла-сценария
- •2.3. Порядок выполнения работы
- •2.4. Контрольные вопросы
- •Дискретные lti-объекты. Переход от непрерывной модели Sn к дискретной Sd и обратно с периодом дискретности Ts осуществляется с помощью функций c2d и d2c соответственно:
- •3.2. Основные сведения об используемых функциях
- •Исследование переходной функции и весовой функции
- •Исследование лчх – логарифмических частотных характеристик
- •3.3. Порядок выполнения работы
- •3.4. Контрольные вопросы
- •Приложение 3.1 Основные форматы используемых функций
- •Приложение 3.2
- •Лабораторная работа № 4 проектирование линейной системы с помощью siso-design tool и lti viewer
- •4.1. Краткие теоретические сведения
- •4.2. Описание проектируемой системы
- •4.3. Порядок выполнения работы
- •4.4. Контрольные вопросы
- •Лабораторная работа №5 анализ и синтез сау методом корневого годографа с использованием siso-design tool
- •5.1. Краткие теоретические сведения
- •5.2. Методический пример
- •5.3. Порядок выполнения работы
- •5.4. Контрольные вопросы
- •Лабораторная работа №6 работа в среде matlab notebook
- •6.1. Основные сведения об используемых командах
- •6.2. Порядок выполнения работы
- •6.2.1. Установка шаблона m-book.Dot в редакторе Word
- •6.2.2. Работа с matlab Notebook в редакторе Word
- •6.3. Содержание отчета
- •Лабораторная работа №7 проектирование систем на основе заданного расположения полюсов
- •7.1. Краткие теоретические сведения
- •7.2. Расчет полюсов проектируемой системы
- •7.3. Синтез модального регулятора
- •Расчет коэффициентов обратных связей.
- •7.4. Порядок выполнения работы
- •7.5. Контрольные вопросы
- •Лабораторная работа №8 создание файла s-функции в виде m-файла
- •8.1. Основные сведения об используемых функциях
- •8.2. Пример s-функции
- •8. 3. Порядок выполнения лабораторной работы
- •8. 4. Содержание отчета
- •8. 5. Контрольные вопросы
- •Список литературы
- •Содержание
Лабораторная работа №2 программирование в среде matlab
Цель работы: изучение основных управляющих конструкций языка MATLAB, овладение навыками разработки простых управляющих программ для организации автоматического выполнения вычислений.
Введение
Работа в режиме непосредственного ввода и выполнения команд в среде MATLAB, во многих отношениях неудобна. Чтобы повторить предыдущие вычисления при новых значениях исходных данных, требуется либо возвращаться к предыдущим командам с помощью клавиш-стрелок, либо повторно набирать соответствующие операторы. Если по условию задачи нужно повторить выполнение только некоторой части операторов, то требуемые команды нужно вводить заново. Проведение вычислений при большом количестве операторов, при наличии сложных ветвлений и циклов, которые необходимо осуществлять при различных исходных данных, целесообразно оформлять в виде программ. При этом становится возможным многократное обращение к одним и тем же операторам и к программе в целом. Это позволяет упростить процесс вычислений, сделать его более наглядным и удобным. Появляется возможность изменять значения параметров в диалоговом режиме. Поскольку система MATLAB представляет собой операционную среду и одновременно язык программирования, пользователь может самостоятельно разработать программы, предназначенные для решения различных задач, используя весь арсенал предлагаемых системой средств. Язык системы MATLAB по синтаксису схож с языком СИ, что обеспечивает легкость его освоения.
2.1. Управляющие конструкции языка matlab
2.1.1. Оператор условного перехода
В общем случае синтаксис оператора имеет вид:
if <выражение>
<операторы_1>
else
<операторы_2> end
Правило выполнения. Сначала производится вычисление следующего за служебным словом if выражения. Если значение результата отлично от нуля (истина), программа выполняет совокупность операторов <операторы_1>. В противном случае (ложь) последовательность операторов <операторы_2>.
Сокращенная форма условного оператора имеет следующий вид:
if <выражение>
<операторы> end
Действует оператор аналогично, за исключением того, что во втором случае выполняется оператор, следующий за ключевым словом end.
В обоих случаях ключевые слова if и end выполняют роль операторных скобок.
Пример.
>> r= -4
>> if r
disp('Условие истинно')
else
disp('Условие ложно')
end
Условие истинно
Из примера видно, что в простейшем случае выражение может состоять из одной переменной.
Правило. Выражение не может являться оператором присваивания, так например, конструкция
if r=0 - является ошибочной,
а конструкции вида:
if r == 0 ,
if r + 4 ,
или
if r+6 < 10
являются правильными.
Часто в выражении-условии используются логические операции: | - операция ИЛИ, & - операция И, ~ - операция НЕ. Логическая операция “исключающее ИЛИ” может быть реализована с помощью функции xor(A,B), где A и B – некоторые условия.
Допустима также множественная форма оператора условного перехода, вида:
if <выражение_1>
<операторы_1>
elseif<выражение_2>
<операторы_2> elseif<выражение_3>
<операторы_3> …
else
<операторы> end
Оператор elseif выполняется тогда, когда <выражение_1> ложно. При этом сначала вычисляется <выражениеие_2>. Если его значение истинно, выполняются <операторы_2>, в противном случае <операторы2> игнорируются и происходит переход к следующему оператору elseif, то есть к вычислению <выражения_З>. Аналогично, при его истинности выполняются <операторы_3>, в противном случае происходит переход к следующему оператору elseif. Если ни одно из выражений в операторах elseif не дает истинного результата, выполняются <операторы>, размещенные за оператором else. Таким образом, может быть обеспечено ветвление программы в нескольких направлениях.
