- •Исследование систем автоматического управления
- •Оглавление
- •Глава 1. Изучение пакетов matlab и scilab
- •1.1. Краткие сведения о работе в среде MatLab
- •1.2. Работа в среде SciLab
- •Практическая работа
- •Задания на практическую работу
- •Контрольные вопросы
- •Глава 2. Исследование временных характеристик типовых динамических звеньев
- •2.1. Передаточная функция сау
- •2.2. Типовые динамические звенья
- •2.3. Временные характеристики динамических звеньев
- •2.4. Использование MatLab для моделирования систем
- •На основе передаточных функций
- •Использование команд языка сценариев
- •Использование Simulink
- •2.5. Использование SciLab для моделирования систем
- •На основе передаточных функций
- •Использование script-языка
- •Рекомендации по моделированию дифференцирующего звена с замедлением и изодромного звена
- •Использование средств визуального моделирования
- •Практическая работа
- •Содержание отчета о работе
- •Варианты заданий
- •Контрольные вопросы
- •Глава3. Частотные характеристики типовых динамических звеньев
- •3.1. Виды частотных характеристик линейных систем
- •3.2. Построение частотных характеристик на основе
- •Передаточных функций
- •3.2. Построение частотных характеристик в среде MatLab
- •3.3. Построение частотных характеристик в среде SciLab
- •Практическая работа
- •Задание к практической работе
- •Содержание отчета о работе
- •Контрольные вопросы
- •Глава4. Структурные преобразования сау
- •4.1. Виды соединений сау
- •Последовательное соединение звеньев
- •Параллельное соединение звеньев
- •Встречно-параллельное соединение (с обратной связью)
- •4.2. Описание соединений звеньев в MatLab
- •4.3. Описание соединений звеньев в среде SciLab
- •Практическая работа
- •Задание к практической работе
- •Содержание отчёта
- •Варианты заданий для практической работы
- •Контрольные вопросы
- •5. Исследование основных структур сау
- •5.1. Разомкнутые системы автоматического управления
- •5.2. Системы автоматического управления по возмущению (системы компенсации)
- •5.3. Замкнутые системы автоматического управления
- •5.4. Астатическое управление
- •5.5. Комбинированные системы автоматического
- •Управления
- •5.6. Описание математической модели управляемого объекта
- •Практическая работа
- •Задание № 5
- •Варианты заданий
- •Требования по оформлению отчёта
- •Контрольные вопросы
- •Глава6. Исследование устойчивости сау
- •6.1. Устойчивость линейных сау
- •6.2. Алгебраический критерий устойчивости Гурвица
- •6.3. Алгебраический критерий устойчивости Рауса
- •6.4. Критерий устойчивости Михайлова
- •6.5. Критерий устойчивости Найквиста
- •6.6. Логарифмический критерий
- •Практическая работа
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Глава7. Комплексное исследование сау
- •7.1. Представление сау в векторно-матричной
- •Форме (state space)
- •Практическая работа
- •Задание
- •Варианты заданий
- •Глава8. Исследование точности сау. Коррекция
- •Статических и динамических свойств сау
- •8.1. Точность сау
- •8.2. Коррекция статических свойств сау
- •8.3. Увеличение коэффициента усиления
- •Прямого канала системы
- •8.4. Введение интегрирующих звеньев в прямой
- •Канал системы
- •8.5. Охват объекта управления местной неединичной
- •Положительной обратной связью
- •8.6. Коррекция динамических свойств сау
- •8.7. Практическая работа
- •Содержание отчёта
- •Контрольные вопросы
- •Глава9. Вычисления в matlab/scilab
- •9.1. Создание m-файлов-сценариев в MatLab
- •9.2. Редактирование и отладка файлов-сценариев
- •9.3. Специальные константы SciLab
- •9.4. Элементы программирования на языке matlab/SciLab
- •9.5. Построение графиков
- •9.6. Изображение сетки в графической области
- •9.7. Вывод названий графика и осей
- •Глава10. Работа в среде simulink
- •10.1. Запуск Simulink
- •10.2. Обозреватель разделов библиотеки Simulink
- •10.3. Создание модели исследуемого объекта
- •10.4. Создание подсистем
- •10.5. Выполнение расчета
- •10.6. Отображение сигналов в окне осциллографа
- •10.7. Описание свойств основных блоков Simulink
- •Глава11. Работа в средеxcos
- •11.1. Основные возможности Xcos
- •11.2. Запуск Xcos
- •11.3. Создание модели системы
- •11.4. Настройка параметров моделирования
- •11.5. Создание суперблоков
- •11.6. Описание свойств основных блоков Xcos
- •Библиографический список
9.4. Элементы программирования на языке matlab/SciLab
Как MATLAB, так и SciLabориентирован на работу с матричными переменными. По умолчанию предполагается, что каждая заданная переменная – это матрица.
Простейшей конструкцией языка программирования является оператор присваивания:
Имя_переменной = Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной.
После набора оператора в командной строке и нажатия клавиши ENTER на экран дисплея выводится вычисленное значение переменной. Для блокировки вывода результата вычислений на экран оператор нужно завершить символом (;) (точка с запятой). Названия основных функций приведены в табл. 22.
Пример:
»x=2;
»y=2;
»r=sqrt(x^2+y^2)
r=
2.8284
Таблица 22
Перечень основных функций MatLab/SciLab
Функция MatLab/SciLab |
Описание функции |
sin(x) |
синус |
cos(x) |
косинус |
atan(x) |
арктангенс |
exp(x) |
экспонента |
log(x) |
натуральный логарифм |
log10(x) |
десятичный логарифм |
sqrt(x) |
корень квадратный |
abs(x) |
модуль |
Возможна также конструкция, состоящая только из выражения. В этом случае для результата вычислений MATLAB/SciLabназначает переменную с именем ans.
Пример:
»x=2;
»y=2;
»sqrt(x^2+y^2)
ans=
2.8284
Для выполнения арифметических операций в системе MATLAB/SciLabприменяются обычные символы:
+ (сложение),
– (вычитание),
* (умножение),
/ (деление),
^ (возведение в степень).
Эти операции являются матричными, так как применяются и при работе с матрицами. Наряду с матричными операциями над массивами можно выполнять и поэлементные операции. Для обозначения поэлементных операций используется (.) (точка), предшествующая обычной (матричной) операции.
Для присваивания значений массиву необходимо значения элементов массива перечислить в квадратных скобках, разделяя их пробелами.
Пример
»v=[1 5 3]
v=
1 5 3
В этом примере мы задали вектор v (одномерный массив) со значениями элементов 1, 5, 3. Задание матрицы (двухмерного массива) требует указания различных строк. Для различения строк используется (;) (точка с запятой).
Пример
» m=[1 3 2; 5 6 4; 6 7 8]
m=
1 3 2
5 6 4
6 7 8
Для указания отдельного элемента массива используется имя массива и круглые скобки, внутри которых указываются индексы, разделенные запятыми.
Пример
»m=[1 2 3; 4 5 6;7 8 9];
»m(1,1)=5;
»m(3,3) = m(1,1) + m(3,3);
»m=
5 2 3
4 5 6
7 8 14
MATLAB/SciLabдопускает не более 4096 символов в строке. Если для выражения не хватает одной строки или мы не желаем заходить в невидимую область окна, то выражение можно перенести на новую строку с помощью многоточия … (3 или более точек).
Комментарий в строке MATLAB должен начинаться символом %. Комментарий в строке SciLabдолжен начинаться символом //.
Для формирования упорядоченных числовых последовательностей в MATLAB/SciLabприменяется оператор (:) (двоеточие):
Начальное_значение: Шаг: Конечное_значение
Данная конструкция порождает последовательность (массив) чисел, которая начинается с начального значения, идет с заданным шагом и завершается конечным значением. Если шаг не задан, то он принимает значения 1 или –1.
Пример
»i=1:6
i=
123456
»x=0:0.5:3
x=
0 0.5000 1.0000 1.5000 2.0000 2.500 3.0000
»x=3:-0.5:0
x=
3.000 2.5000 2.0000 1.5000 1.0000 0.5000 0