Plot( t, y, t, y2, t, уЗ).
End
End
End
Else
while b ~=0
r =rem(a,b);
a=b;b=r;
Инструментальная панель командного окна системы MATHLAB позволяет обеспечить простой доступ к операциям над m-файлами. Эти операции включают:
– создание нового m-файла (New File);
– открытие существующего m-файла (Open File);
– удаление фрагмента (Cut);
– копирование фрагмента (Copy);
– вставка фрагмента (Paste);
– отмена только выполненной операции (Undo);
– просмотр рабочей области (Workspace Browser);
– просмотр путей доступа (Path Browser);
– текущая помощь (Help).
Рабочая область. Рабочая область системы MATHLAB Workspace – это область памяти, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who и whos. Различие между этими командами состоит в следующем:
– who – выводит только имена переменных;
–whos – выводит информацию о размерах массивов и типе переменной.
Сохранение переменных рабочей области. Команда Save Workspace As… меню Fileлибо команда save fname, набранная в командном окне позволяет сохранить содержимое рабочей области в двоичном m-файле, который можно в дальнейшем вызвать командой Open из меню главного окна, либо командой load из командного окна.
Загрузка рабочей области. Команда Open меню Fileили команда load, набранная в командном окне позволяет загрузить m-файл, который был ранее сохранен с помощью команды save. При загрузке m-файла новые значения одноименных переменных будут записаны взамен старых. Если m-файл имеет расширение, отличающееся от .mat, то необходимо использовать флаг –mat; в противном случае MATHLAB будет считать форматом файла ASCII-формат.
Загрузка файлов данных в ASCII-формате. Команда load позволяет выполнять импорт файлов данных в ASCII-формате; она преобразует содержимое файла в переменную с именем файла только без расширения.
Например, применение команды load tides.dat создает в рабочей области системы MATHLAB переменную с именем tides. Если исходный файл в ASCII-формате имеет m строк с n значениями в каждой строке, то результатом будет массив чисел размера m×n.
Для сохранения или загрузки последовательности файлов, имена которых имеют общий корень и дополнительный целочисленный суффикс, необходимо использовать структуру цикла.
Например, следующая конструкция позволяет сохранить квадраты чисел от 1 до 10 в файлах с именами data1, …, data10:
file = 'data';
for i = 1:10
j = i.^2;
save([file int2(i)],'j');
Использование группового символа. Команды load и save допускают использование группового символа (*) в качестве замены ряда символов в шаблоне имени переменной.
Например, команда save rundate x* сохраняет все переменные, имена которых начинаются с символа x в файле с именем rundata.mat.
Точно также команда load testdata ex1*95 загружает все переменные, имена которых начинаются с символов 'ex1' и заканчиваются символами '95', независимо от того, какие символы размещены между ними.
Пример 8. Использование рабочего пространства MATLAB.
Комментарии к вычислениям:
Команда вывода имен всех переменных рабочего пространства.
Команда удаления переменной из рабочего пространства.
Команда сохранения рабочего пространства в дисковом файле под заданным именем.
Команда очистки рабочего пространства.
Команда загрузки рабочего пространства из ранее сохраненного файла.
Команда очистки командного окна (рабочее пространство не изменяется).
В результате сохранения рабочего пространства на диске создается файл с заданным именем (может быть произвольным) и расширением mat. Сохранение рабочего пространства можно выполнить через меню командного окна File пункт Save workspace as …
В командном окне есть возможность вернуть в командную строку ранее введенные команды, они запоминаются в специальной области памяти, называемой стеком команд. Для этого используются клавиши «стрелка вверх» и «стрелка вниз». Клавиша «стрелка вверх» позволяет вывести предыдущие команды в порядке обратном их вводу. Клавиша «стрелка вниз» осуществляет прокрутку команд в противоположном направлении.
Создание графиков. Функция plot имеет различные формы, связанные с входными параметрами, например plot(у) создает кусочно-линейный график зависимости элементов у от их индексов. Если вы задаете два вектора в качестве аргументов, plot(x,y) создаст график зависимости у от х.
Например, для построения графика значений функции sin от нуля до 2p сделаем следующее
t = 0:pi/100:2*pi; у = sin(t); plot(t,y).
Вызов функции plotс многочисленными парами х-у создаст многочисленные графики. MATLAB автоматически присваивает каждому графику свой цвет (исключая случаи, когда это делает пользователь), что позволяет различать заданные наборы данных. Например, следующие три строки отображают график близких функций, и каждой кривой соответствует свой цвет:
у2 = sin(t-.25) ;
уЗ = sin(t-.5) ;
Функция hist– построение графика гистограммы заданного вектора. Стандартное обращение имеет вид: hist(y,x), где y – вектор, гистограмму которого нужно построить; x – вектор, определяющий интервалы изменения первого вектора, внутри которых подсчитывается число элементов вектораy.
Действия с графическими окнами. Команды работы с графическим окном находятся в главном меню окна и во всплывающем меню (щелчок правой кнопкой мыши в координатной плоскости).
Нанесение координатной сетки. Для нанесения (удаления) сетки используется пункт всплывающего меню Grid(рис.6).
Рис. 6. Всплывающее меню координатной плоскости
Вывод информации об отдельных точках графика. Для вывода координат некоторой точки графика выполняется наведение курсора мыши на данную точку и нажатие левой кнопки (не отпуская). Например, для временного графика будет выведена информация о текущем значении сигнала и о текущем времени (рис. 7).
Рис. 7. Информация о координатах точки графика
Информационная надпись не исчезает при отпускании кнопки мыши. Для ее удаления необходимо щелкнуть левой кнопкой мыши на свободном поле либо правой кнопкой мыши вызвать всплывающее меню, показанное на рис. 8
Рис. 8. Всплывающее меню при работе с графиком
и воспользоваться пунктом Delete. Аналогично выводится информационная надпись о текущем значении и текущей частоте для частотных характеристик.
Масштабирование и удаление графиков. Существует несколько способов изменения масштаба графика (как временной, так и частотной характеристики).
Первый способ – использование подменю Zoom всплывающего меню (рис. 6). Пунктами подменю Zoom являются:
In-X – масштабирование по горизонтали;
In-Y – масштабирование по вертикали;
X-Y – масштабирование по вертикали и по горизонтали (выделение прямоугольного фрагмента);
Out – возврат исходного масштаба.
Масштабирование выполняется мышью, при удержании нажатой левой кнопки, путем проведения горизонтальной линии (In-X), вертикальной линии (In-Y) или прямоугольника (X-Y).
Второй способ изменения масштаба – использование окна параметров координатной плоскости. Для вывода окна параметров необходимо сначала войти в режим редактирования графического окна, нажав мышью кнопку с изображением стрелки в меню окна (рис. 9),
Рис. 9. Меню графического окна
а затем выполнить двойной щелчок по координатной плоскости (но не по самому графику!). В результате появится окно параметров (рис. 10).
Максимальное и минимальное значения по оси X и оси Y (для разных характеристик эти оси имеют разный смысл) задаются в строках ввода напротив надписи Limits. При этом должен быть установлен флажок ручного ввода пределов Manual.
Иногда требуется скрыть некоторые графики (если на одной координатной плоскости их несколько). Для того чтобы скрыть графики (с возможностью последующего восстановления) используется всплывающее меню графического окна (режим редактирования выключен). В подменю Systems перечислены имена всех объектов, характеристики которых были выведены в окно. Для того чтобы скрыть график, необходимо снять флажок напротив имени объекта.
Рис. 10. Окно параметров графического окна
Изменение параметров графиков. Для изменения параметров графика можно использовать всплывающее меню графика (рис. 11). Для его вывода необходимо в режиме редактирования графического окна выполнить щелчок правой кнопкой мыши при наведении курсора на сам график.
Рис. 11. Всплывающее меню графика
Для изменения толщины линии используется подменю Line Width, для изменения стиля линии (сплошная, пунктирная и т.д.) – подменю Line Style. При выборе пункта Color… появляется окно установки цвета линии. Те же действия можно выполнить, используя окно установки параметров графика (пункт Properties…).
Оформление графического окна. Для добавления текстовых комментариев нажмите мышью кнопку меню графического окна с изображением буквы A. Затем выполните щелчок мыши в нужном месте координатной плоскости, введите текст и выполните щелчок мыши в любом другом месте координатной плоскости. В режиме редактирования графического окна можно перетаскивать текстовую надпись с помощью мыши на любое место координатной плоскости.
Для введения заголовка над координатной плоскостью заполните строку Title в окне параметров Insert. Для введения поясняющих надписей для осей – строки Label для оси X и для оси Y.
Сохранение графического окна. Для сохранения координатной плоскости и ее содержимого в графическом файле используется пункт Export… в подменю File… главного меню графического окна. В окне сохранения файла задается тип файла (например, Bitmap files *.bmp) и имя файла. Файлы типа Bitmap могут быть открыты графическим редактором Paint.
Установите сетку на координатную плоскость и сохраните любую из характеристик в файле типа Bitmap. Откройте этот файл в редакторе Paint.
1.2. Работа с пакетом Control System Toolbox
Объекты и модели систем. Пакет Control System Toolbox позволяет создавать линейные модели систем автоматического управления и решать задачи анализа и синтеза линейных систем. Основной (родительской, класса LTI – Linear Time-Invariant Systems) программной единицей пакета Control System Toolbox является линейный стационарный объект (далее просто объект), который представляет собой линейное звено, описанное передаточной функцией с постоянными параметрами. Объект может являться моделью всей системы, ее части или отдельного элемента системы.
Дочерними объектами (подклассами класса LTI) являются объекты четырех различных моделей:
– объекты, представленные в tf-форме (в форме передаточной функции)
, ;
– объекты, представленные в zpk-форме (в форме перечисления значений нулей и полюсов и статического коэффициента усиления)
;
– объекты, представленные в ss-форме (в форме системы дифференциальных уравнений для переменных состояния)
;
– объекты, представленные в frd-форме (в форме вектора частот и соответствующих значений комплексного коэффициента передачи ).
Работа с объектами производится в основном рабочем окне MATLAB. Здесь мы рассмотрим работу с объектами вtf-форме, остальные формы представления объектов будут использованы по мере необходимости в последующих лабораторных работах.
Создание объекта в tf-форме. Пусть требуется создать объект с передаточной функцией вида
.
Примечание: переменная передаточной функции (оператор Лапласа) в MATHLAB обозначается буквой s; в отечественной литературе по теории автоматического управления ее чаще обозначают буквой p.
Для создания объекта используется функция tf (Transfer Function). Командная строка, создающая объект с именем name, имеет следующий вид:
name=tf([b0 b1 b2 … bm],[a0 a1 a2 … an])
Имя объекта задается произвольно по тем же правилам, что имена обычных
переменных. В качестве аргументов функции tf задаются массив коэффициентов числителя b0, b1,…, bm и массив коэффициентов знаменателя передаточной функции a0, a1,…, an. Коэффициенты задаются в квадратных скобках через пробел или запятую. Массив коэффициентов числителя содержит m+1 коэффициент, а массив коэффициентов знаменателя n+1 коэффициент. На месте отсутствующих коэффициентов записывается 0.
Рассмотрим пример создания объектов.
Пример 9. Создание объектов с помощью функции tf.
Комментарии к вычислениям:
Если в конце строки не поставлена точка с запятой, то будет выведен результат – передаточная функция.
Здесь второй порядок знаменателя и равен нулю коэффициент a1.
Здесь первый порядок знаменателя и равен нулю коэффициент a1.
Операции над объектами. Данные операции производят объединение нескольких объектов в один объект. С их помощью можно получить передаточную функцию системы по известным передаточным функциям ее элементов.
Последовательное соединение объектов (рис. 12) реализуется с помощью операции умножения: .
Рис. 12. Последовательное соединение объектов
Для приведенных выше передаточных функций получим
.
Отметим, что этот же результат может быть получен с помощью функции series в виде
.
Параллельное соединение объектов (рис. 13) реализуется с помощью операции сложения: .
Рис. 13. Параллельное соединение объектов
Для приведенных выше передаточных функций получим
.
Отметим, что этот же результат может быть получен с помощью функции parallel в виде
.
Охват объекта отрицательной обратной связью (рис. 14)
Рис. 14. Охват объекта отрицательной обратной связью
реализуется выражением
и выполняется с помощью функции feedback:
W=feedback(W1,W2).
Для приведенных выше передаточных функций получим
.
Пример 10. Создание модели автоматической системы.
Дана структурная схема автоматической системы (рис. 15). Необходимо создать ее модель в Control System Toolbox.
Рис. 15. Структурная схема автоматической системы
Комментарии к вычислениям:
Создаем объекты для каждого звена.
Формируем объект sys– модель всей системы.
Передаточная функция системы выводится в командное окно.
Для сложных систем получение передаточной функции производится путем последовательного применения допустимых структурных преобразований, приводящих к одноконтурному представлению системы, и получения промежуточных передаточных функций, из которых итоговая передаточная функция получается применением приведенных преобразований.
Пример 11. Пусть имеем автоматическую систему управления устройством электрической тяги, операторное представление структурной схемы которой показано на рис. 16.
Рис. 16. Система управления скоростью электропривода
Определим передаточную функцию системы . Последовательность и получаемый результат вычислений приведены ниже:
>> B1=[10];
A1=[1 1];
Sys1=tf(B1,A1);
B2=[1];
A2=[2 0.5];
Sys2=tf(B2,A2);
B3=[540];
A3=[1];
Sys3=tf(B3,A3);
B4=[0.1];
A4=[1];
Sys4=tf(B4,A4);
Sys5=series(Sys1,Sys2);
Sys6=feedback(Sys4,Sys5);
Sys7=Sys3*Sys6;
Sys=feedback(Sys7,[1])
Transfer function:
108 s^2 + 135 s + 27
------------------------
110 s^2 + 137.5 s + 28.5
Полученная передаточная функция имеет второй порядок, причем собственная частота системы
,
а коэффициент затухания
,
т.е. собственные движения системы носят устойчивый слабоколебательный характер (система работоспособна).
Построение основных характеристик объекта. Создав объект с определенной структурой и параметрами, можно исследовать различные характеристики объекта. Графики характеристик строятся в специальных графических окнах. Рассмотрим способы получения основных временных и частотных характеристик (табл.3 – 6).
Таблица 3