Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Методика построения логарифмических частотных характеристик САУ 4 страница






 

 

4. Графика

 

Графика является мощным интерактивным средством анализа и синтеза систем управле­ния.

Для представления графических изображений MATLAB использует графический дисплей, автоматически активизируемый при задании любой функции, результатом ко­торой должен являться некоторый график (например, функции рlot).Функция plot откры­вает графический дисплей, который носит название окна FIGURE. Вы можете создать другое такое окно с помощью функции figure. В одном сеансе работы с MATLAB может быть создано несколько графических окон. Для этого используется функция figure (n), ко­торая создает n-е текущее окно. Графическое изображение можно удалить из окна с помощью функции clf в командной строке. Функция shg выводит на первый план текущее графическое окно.

Способы задания и оформления графиков приведены в таблицах 5.3, 5.4 и 5.5.

 

Таблица 5.3

Форматы графиков

plot (x, y) График зависимости между векторами х и у в обычном масштабе
semilogx (x, y) График зависимости между векторами х и у. Масштаб по оси х логарифмический (десятичные логарифмы), масштаб по оси у линейный
semilogy (x, y) График зависимости между векторами х и у. Масштаб по оси х линейный, масштаб по оси у логарифмический (десятичные логарифмы)
loglog (x, y) График зависимости между векторами х и у. Масштаб по обеим осям логарифмический

Таблица 5.4

Функции для оформления графиков

title ('text') Помещает над графиком заголовок 'text'
legend (stringl, string2, …) Помещает на текущем графике пояснения в виде заданных текстовых строк
xlabel ('text') Обозначает ось х надписью 'text'
ylabel ('text') Обозначает ось у надписью 'text'
text (pi, p2, 'text') Добавляет к текущему графику надпись 'text', начиная с позиции (p1, р2), где (p1, р2) - координаты точки по осям х и у
subplot Разбивает графическое окно на несколько подокон
grid on Наносит линии сетки на текущий график
grid off Удаляет линии сетки с текущего графика
grid Управляет выводом сетки

 

 

Таблица 5.5

Типы линий для оформления графиков

- Сплошная линия.
- - Штриховая линия
: Пунктирная линия
-. Штрих-пунктирная линия

 

Типы линий для оформления графиков задаются следующим образом:

> > plot(x, y1, ’- -‘, x, y2, ’-.‘).

Графический дисплей можно разделить на несколько подокон меньшего размера. Функция subplot (m, n, р) делит графический дисплей на m x n подокон — число «строк», п — число «столбцов»), а целый параметр p определяет номер подокна. Нумера­ция идет слева направо и сверху вниз.

 

 

5. Скрипты

 

Действительная мощь MAT­LAB применительно к анализу и синтезу систем управления состоит в возможности выпол­нения длинной последовательности команд, записанных в виде файла. Такие файлы называются М-файлами, т. к. их имена имеют вид filename.m. Одним из видов М-файла являет­ся скрипт. Control System Toolbox представляет собой собрание М-файлов, разработанных специально для приложения к задачам управления. В дополнение к М-файлам, поставляе­мым вместе с MATLAB и пакетами прикладных программ, вы можете разработать собст­венные скрипты для решения конкретных задач. Скрипты — это обычные текстовые фай­лы в формате ASCII, которые создаются с помощью текстового редактора.

Скрипт представляет собой последовательность обыкновенных инструкций и функ­ций, используемых на уровне командной строки. Скрипт вызывается также на уровне командной строки путем ввода имени файла или с помощью ниспадающего меню. Каж­дый скрипт может вызывать также другие скрипты. В случае вызова скрипта MATLAB сразу начинает выполнение инструкций и вычисление функций, входящих в файл, не ожидая ввода командной строки. Скрипт работает с переменными, находящимися в рабо­чей области.

Предположим, что вы захотели построить график функции y(t)= sinα t, где α — варь­ируемый параметр. Тогда с помощью текстового редактора вы записываете скрипт и при­сваиваете ему, скажем, имя plotdata.m, затем вводите в коман­дной строке значение α, которое автоматически помещается в рабочую область. После этого вы печатаете в командной строке имя plotdata, что незамедлительно приводит к вы­полнению скрипта. При этом скрипт использует самое последнее значение α из рабочей области. После получения результата вы можете ввести другое значение α в командной строке и выполнить скрипт еще раз.

Cкрипт должен быть хорошо снабжен комментариями, начинающимися с сим­вола %. Снабдите скрипт заставкой, содержащей некоторые сведения относительно его назначения и затем используйте функцию help, чтобы вывести заставку на экран.

Используя скрипт plotdata.m, вы можете в интерактивном режиме исследовать влия­ние параметра α. В командной строке введите значение α = 10, за которым должно быть указано имя скрипта (в данном случае plotdata). MATLAB авто­матически построит график функции у = sinα t. Вы можете вернуться к командной строке, ввести значение α = 50 и выполнить скрипт еще раз, чтобы получить новый график.

Вы можете изменить начертание символов с помо­щью следующих модификаторов:

\bf - полужирный шрифт;

\it – курсив;

\rm - обычный шрифт;

\fontname - определяет название семейства используемых шрифтов;

\fontsize - определяет размер шрифта.

Для обозначения нижних и верхних индексов используются соответственно символы «_» и «^».

 

6. Приложение

Таблица 5.6

Распространенные математические функции

sin(x) Синус log10(x) Десятичный логарифм  
sinh(x) Гиперболический синус log2(x) Логарифм по основанию 2  
asin(x) Арксинус pow2(x) Степень числа 2  
asinh(x) Гиперболический арксинус sqrt(x) Квадратный корень  
cos(x) Косинус nextpow2(x) Ближайшая степень числа 2  
cosh(x) Гиперболический косинус abs(x) Абсолютное значение комплексного числа  
acos(x) Арккосинус  
acosh(x) Гиперболический арккосинус angle(x) Аргумент комплексного числа  
tan(x) Тангенс complex(x.y) Образование комплексного числа по  
tanh(x) Гиперболический тангенс   действительной и мнимой частям  
atan(x) Арктангенс conj(x) Комплексно-сопряженное число  
atan2(y.x) Четырехквадрантный арктангенс imag(x) Мнимая часть комплексного числа  
real(x) Действительная часть комплексного числа  
atanh(x) Гиперболический арктангенс  
sec(x) Секанс unwrap(x) Непрерывная функция фазового угла  
sech(x) Гиперболический секанс  
asec(x) Арксеканс isreal(x) Истинно, если это массив  
asech(x) Гиперболический арксеканс   действительных чисел  
csc(x) Косеканс cplxpair(x) Сортировка комплексно- сопряженных пар чисел  
csch(x) Гиперболический косеканс  
acsc(x) Арккосеканс fix(x) Усечение дробной части числа  
acsch(x) Гиперболический арккосеканс floor(x) Округление до меньшего целого  
cot(x) Котангенс ceil(x) Округление до большего целого  
coth(x) Гиперболический котангенс round(x) Округление до ближайшего целого  
acot(x) Арккотангенс mod(x, y) Остаток в смысле модульной арифметики  
acoth(x) Гиперболический арккотангенс  
exp(x) Экспоненциальная функция rem(x, y) Остаток от деления  
log(x) Натуральный логарифм  

 

 

Таблица 5.7

 

Функции MATLAB

 

Функция Описание функции
abs Вычисляет абсолютное значение числа
acos Вычисляет арккосинус
ans Выводит результат последней операции
asin Вычисляет арксинус
atan Вычисляет арктангенс (в 2 квадрантах)
atan2 Вычисляет арктангенс (в 4 квадрантах)
axis Задает ручное масштабирование осей координат при выводе графиков
bode Строит частотные характеристики в виде диаграммы Боде
c2d Реализует построение дискретной модели непрерывной системы
clear Удаляет переменные и функции из рабочей области
clf Очищает графическое окно
conj Вычисляет комплексно-сопряженное число
conv Производит умножение двух полиномов
cos Вычисляет косинус
ctrb Вычисляет матрицу управляемости
diary Сохраняет сеанс работы в файле на диске
d2c Реализует построение непрерывной модели дискретной системы
eig Вычисляет собственные значения и собственные векторы
end Завершает построение структуры системы управления
ехр Вычисляет экспоненту с основанием е
expm Вычисляет матричную экспоненту с основанием е
eye Формирует единичную матрицу
feedback Вычисляет передаточную функцию для соединения двух систем в контур с обратной связью
for Образует цикл вычислений
format Задает формат вывода чисел на дисплей
grid on Добавляет сетку к текущему графику
help Печатает список тем, по которым предлагает услуги Помощник
hold on Сохраняет текущий график на экране
i Мнимая единица, корень числа -1
imag Выделяет мнимую часть комплексного числа
impulse Вычисляет реакцию системы на единичную импульсную функцию
inf Бесконечное значение
j Мнимая единица, корень числа -1
legend Помещает пояснение на текущем графике
linspace Формирует линейно упорядоченные векторы
load Загружает в файл сохраненные переменные
log Вычисляет натуральный логарифм
log10 Вычисляет десятичный логарифм
loglog Строит график в логарифмическом масштабе по обеим осям

 

logspace Формирует логарифмически упорядоченные векторы
lsim Вычисляет реакцию системы на произвольный входной сигнал и ненулевые начальные условия
margin Вычисляет по частотным характеристикам системы запас по модулю, запас по фазе и соответствующие им частоты
max Определяет максимальное значение числа из массива
mesh Создает трехмерную сетчатую поверхность
meshgrid Создает массивы для использования их совместно с функцией mesh
min Определяет минимальное значение числа из массива
minreal Определяет передаточную функцию минимальной реализации после сокращения полюсов и нулей
NaN Указывает на нечисловое значение, получаемое в результате операции
ngrid Изображает линии сетки диаграммы Никольса
nichols Строит годограф Никольса по частотным характеристикам системы
num2str Преобразует массив чисел в строки
nyquist Строит частотный годограф (диаграмму) Найквиста
obsv Вычисляет матрицу наблюдаемости
ones Формирует матрицу, все элементы которой есть целые числа и равны 1
pade Вычисляет аппроксимацию Паде n-го порядка для запаздывания по времени
parallel Определяет передаточную функцию для параллельного соединения двух систем
plot Строит график в линейном масштабе по обеим осям
pole Вычисляет полюсы системы
poly Формирует полином по его корням
polyval Вычисляет значение полинома
printsys Выводит на печать информацию о модели линейной системы в переменных состояния и в виде передаточной функции
pzmap Изображает диаграмму расположения полюсов и нулей линейной системы
rank Вычисляет ранг матрицы
real Выделяет действительную часть комплексного числа
residue Производит разложение рациональной функции на простые дроби
rlocfind Определяет коэффициент усиления, соответствующий заданному положению корней на корневом годографе
rlocus Строит корневой годограф системы
roots Вычисляет корни полинома
semilogx Строит график с использованием логарифмического масштаба по оси х и линейного масштаба по оси у

 

semilogy Строит график с использованием логарифмического масштаба по оси у и линейного масштаба по оси х
series Определяет передаточную функцию для последовательного соединения двух систем
shg Отображает графическое окно
sin Вычисляет синус
sqrt Вычисляет квадратный корень
ss Формирует модель объекта в переменных состояния
step Вычисляет переходную характеристику системы
subplot Разделяет графическое окно на подокна
tan Вычисляет тангенс
text Добавляет текст к текущему графику
title Добавляет заголовок к текущему графику
tf Создает модель объекта в виде передаточной функции
who Выводит список переменных, находящихся в рабочей области
whos Выводит список текущих переменных с подробностями
xlabel Добавляет к текущему графику обозначение оси х
ylabel Добавляет к текущему графику обозначение оси у
zero Вычисляет нули системы
zeros Создает матрицу, все элементы которой нулевые

 

Основы Simulink

 

Simulink предоставляет пользователям MATLAB мощное средство моделирования и исследования систем управления с обратной связью. Simulink является интерактивным инструментом, эффективно использующим графический интерфейс.

Начать работу с Simulink можно двумя способами:

□ Щелкнуть мышью на значке Simulink в панели инструментов MATLAB.

□ Ввести Simulink в командной строке на экране.

Оба эти способа проиллюстрированы на рис. 5.1.

Панель инструментов MATLAB
Щелкните здесь, чтобы запустить Simulink
или
Введите Simulink в командной строке

 

 

Рис.5.1. Начало сеанса работы в Simulink

 

После запуска Simulink на рабочем столе должно появиться окно наподобие рис. 5.2. На рис. 5.2 изображен броузер главной библиотеки Simulink. Он показывает, какие библиотеки, структурированные в виде деревьев, установлены на компьютере.

 

Рис. 5.2 Первое окно, появляющееся после запуска Simulink при работе в Windows  
Режим Simulink
Щелкните правой кнопкой мыши на Simulink, чтобы в платформе Windows отобразить библиотеку Library  

 

В качестве упражнения, помогающего освоить Simulink, вы можете выполнить обсуждаемые далее этапы и в результате создать простую систему и приступить к ее моделированию. Сеанс работы в Simulink вы можете начать, открыв уже существующую модель или же создав новую модель. Последнее можно сделать двумя способами:

□ Щелкнув на кнопке New в панели инструментов броузера главной библиотеки;

□ Выбрав сначала New в раскрывающемся меню опции File в окне библиотеки, а затем выбрав Model.

Эти два способа создания новой модели проиллюстрированы на рис. 5.З. Окно новой системы, изображенное на рис. 5.4, появляется на рабочем столе, по умолчанию занимая всю его площадь. При необходимости вы можете изменить его размеры и переместить в нужное положение. Сразу же после создания окну новой системы присваивается имя Untitled, но вы можете изменить его с помощью команды Save as из меню File. В этом окне производится создание модели, ее редактирование и исследование. Сохранение модели автоматически создает файл (с расширением.mdl), содержащий всю информацию, необ­ходимую для открытия модели в следующих сеансах работы в Simulink. В конце каждого сеанса работы обязательно выбирайте команду SAVE из меню File с тем, чтобы все изме­нения модели были сохранены для последующей работы.

 

 

Рис. 5.3 Создание новой модели: (a) из броузера главной библиотеки (в Windows), (б) из окна библиотеки  
Щелкните здесь, чтобы создать новую модель
Откройте существующую модель
Выберите модель
a)
б)
Откройте существующую модель

 


Simulink содержит стандартную библиотеку блоков, изображенную на рис. 5.2. Она составлена из подблоков в соответствии с их функциональным назначением. Эти подблоки таковы:

§ Источники сигналов (Sources);

§ Средства регистрации (Sinks);

§ Элементы дискретных систем (Discrete);

§ Элементы непрерывных систем (Continuous);

§ Математические операции (Math);

§ Функции и таблицы (Functions & Tables);

§ Нелинейности (Nonlinear);

§ Сигналы и системы (Signals & Systems).

 

Все новые модели создаются без имени (untitled)    
Чтобы присвоить модели имя, щелкните на File и в раскрывающемся меню выберете Save As
Панель инструментов
Строка состояния
Рис. 5.4 Окно новой модели

 

 


Чтобы создать модель, вы должны взять и перенести нужные блоки из библиотеки на рабочий стол. В простом примере, который приводится ниже, вам надо скопировать блок, генерирующий синусоидальный сигнал (блок Sine Wave из библиотеки Sources), и блок индикации (блок Scope из библиотеки Sinks).

Вы можете получить доступ к блоку Sine Wave либо из броузера главной библиотеки, либо из окна библиотеки Sources. Развернув броузер главной библиотеки, как показано на рис. 5.5, (а), вы получите доступ к блоку Sine Wave. Для этого сначала войдите в Simulink, щелкнув на его имени в броузере, затем щелкните в развернувшемся меню на Sources, после этого выберите блок Sine Wave и пе­ретащите его в окно новой модели. Копия блока будет установлена в том месте окна но­вой модели, где вы оставите его изображение. Аналогичным образом, чтобы скопировать блок Sine Wave из окна библиотеки Sources, откройте это окно (показанное на рис. 5.5, б) двойным щелчком мыши на значке Sources в окне библиотеки Simulink (рис. 5.2).

Примечание: вы можете открыть окно библиотеки Simulink щелчком правой кноп­ки мыши на этом имени в броузере главной библиотеки, после чего надо щелкнуть на кнопке Open Library.

 

Библиотека Sinks
Библиотека Sources
Блок Sine wave
Библиотека Simulink
Блок Sine wave
Рис. 5.5. Выбор источников сигнала: (а) в броузере главной библиотеки, (б) в окне блоков Sources
а)
б)

 

 


На этом этапе построения модели рабочее окно будет выглядеть так, как показано на
рис. 5.6, (а).

Теперь вам надо будет каким-то образом наблюдать синусоидальный сигнал, генерируемый блоком Sine Wave. Окно библиотеки Sinks содержит набор средств регистрации сигнала, включая Scope, XY Graph, Display, To Workspace и То File, как показано на рис. 5.7. Если вы воспользуетесь инструментами То Workspace или То File, то по окончании сеанса работы данные будут сохранены соответственно в рабочей области или в файле. В нашем примере мы используем для наблюдения сигнала инструмент Scope (индикатор).

 

Рис. 5.6 Простая система, состоящая из источника сигнала Sine Wave и индикатора Scope
Соединение установлено
Входной порт
Выходной порт
а)
б)
в)
г)

 

Блок Scope
Рис. 5.7 Окно блоков Sinks

 

 

Блок Scope вы можете скопировать либо из броузера главной, либо из окна библиотеки Sinks. Как и в случае с биб­лиотекой Sources, развернув броузер главной библиотеки, вы получите доступ к блоку Scope. Для этого войдите в Simulink, щелкнув на его имени в броузере, затем щелкните в развернувшемся меню на Sinks, после этого выберите из библиотеки Sinks блок Scope и перетащите его в окно новой модели. Другой способ доступа к блоку Scope состоит в том, что для этого надо сделать двойной щелчок мышью на значке Sinks в окне библиотеки Si­mulink (рис. 5.2). После этой операции рабочее окно будет выглядеть так, как показано на рис. 5.6, (б).

Обратите внимание, что на рис. 5.6 окно с моделью переименовано, оно теперь имеет имя test (раньше модель имела имя untitled, как показано на рис. 5.4). Обязательно сохра­ните модель, чтобы вы могли открыть ее для исследования в следующих сеансах работы в Simulink.

Теперь задача состоит в том, чтобы соединить между собой блоки Sine Wave и Scope. Угловая скобка (>), появляющаяся у правого края блока Sine Wave — это выходной порт. Аналогично, угловая скобка (>), появляющаяся у левого края блока Scope — это входной порт. Всегда, когда такая скобка направлена к блоку, это соответствует входному порту, а если от блока — то выходному порту. Если блоки соединены, то входной и выходной пор­ты исчезают.

Чтобы соединить выходной порт блока Sine Wave с входным портом блока Scope, поместите курсор на выходной порт в правой части блока Sine Wave, при этом обратите вни­мание, что курсор принял форму крестика. Удерживая нажатой кнопку мыши, переме­щайте курсор к входному порту блока Scope. Соединительная линия при этом будет штриховой, а когда вы доведете ее до входного порта блока Scope, курсор превратится в жирный крестик, как показано на рис. 5.6, (в). После этого отпустите кнопку мыши, и сое­динение между двумя портами будет установлено. Когда это произойдет, угловые скобки исчезнут и на соединительной линии появится стрелка, указывающая направление пере­дачи информации. Это отражено на рис. 5.6, (г). Теперь почти все готово, чтобы начать моделирование.

Вы можете наблюдать и редактировать параметры моделирования, выбрав из меню Simulation опцию Parameters. При этом экран будет иметь вид, изображенный на

рис. 5. 8. Установите время окончания моделирования (по умолчанию оно равно 10 с), равное 1000.0, как показано на рис. 5.8. Выполнив эту операцию, закройте окно диалога нажати­ем кнопки ОК.

Завершив процедуру, щелкните ОК
Установите время окончания моделирования
Рис. 5.8 Установка параметров моделирования

 

 

Установите =0.05
Рис. 5.9. Установка частоты синусоидального сигнала =0.05 рад/с






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.