- •Основы разработки систем управления в среде 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.1.2. Оператор переключения
Синтаксис оператора переключения имеет вид:
switch <выражение, скаляр или строка символов>
case <значение_1>
<операторы_1>
case <значение_2>
<операторы_2>
…
otherwise
<операторы>
end
Правило выполнения. Сначала вычисляется значение некоторой переменной или выражения в строке switch. Полученное значение последовательно сравнивается со значениями, указанными в конструкциях case. При этом выполняется та группа операторов, для которой значение конструкции case совпало со значением выражения. После этого программа продолжается за операторной скобкой end. Если значение выражения не совпало ни с одним из значений конструкций case, то выполняются операторы конструкции otherwise.
Пример.
>> n=input('<Введите порядок системы n = > ');
<Введите порядок системы n = > 5 % Ввод значения n
>> switch n
case 1
disp('порядок системы = 1')
case{2,3,4}
disp(' порядок системы равен 2 или З или 4')
case 5
disp('порядок системы = 5')
otherwise
disp('порядок системы >5')
end
порядок системы = 5 % Вывод результата
2.1.3. Оператор цикла с определенным количеством повторений for…end
Синтаксис оператора:
for переменная цикла = начальное значение : [шаг :] конечное значение
операторы;
end
Правило выполнения. По умолчанию шаг равен 1. Можно задавать любое приращение, в том числе отрицательное. Поле шаг в конструкции оператора не является обязательным, например:
for i=1 : 100
x(i) = sin(2*PI*i /100) ;
end
Допустимо задание переменной цикла в виде вектора:
for i= [1 2 4 8 16 32]
x(i) = sin(2*PI*i /100) ;
end
Тело цикла заканчивается служебным словом end.
Использование массива в качестве переменной цикла.
Пример:
Пусть массив A имеет размер mxn. Оператор цикла
for i = A
операторы;
end
определяет переменную цикла i как вектор A(:, k). Для первого шага цикла k равно 1; для второго – k равно 2 и так далее, пока k не достигнет значения n. То есть цикл выполнится столько раз, сколько столбцов в матрице A.
При работе с циклом for допустимо использование оператора прерывания цикла break. При выполнении оператора break работа цикла завершается и управление передается на следующий после конца цикла оператор.
Пример:
for i=1:100
операторы;
if a(i) == 0
break
end
операторы;
end
2.1.4. Цикл с неизвестным количеством повторений
Синтаксис оператора цикла с неизвестным количеством повторений:
while условие
операторы;
end
Пример:
% Программа определения машинной точности вычислений:
a=1 ;
while a+1 ~= 1
a=a/2 ;
end
a
a =
1.1102e-016
В отличие от цикла for в структуре цикла while не предусмотрены элементы для изменения переменной, по которой организован цикл. Эти элементы должен предусмотреть сам пользователь.
Задание.
Проверьте действие операторов рассмотренных управляющих конструкций. Результаты и выводы представьте в отчете по работе.
