Файл: Контрольные работы. Теория автоматического управления.docx

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

9. Иванов В.А. и др. Математические основы теории автоматического управления. В 3-х т. Под ред. Б.К. Чемоданова. М.: Изд. МГТУ, Т1-2006, Т2-2008, Т3-2009.

10. Куо Б. Теория и проектирование цифровых систем управления: пер. с англ.- М: Машиностроение, 1986. – 448 с.

11. Филлипс Ч., Харбор Р. Системы управления с обратной связью: Учебник - М.: Изд-во «Лаборатория Базовых Знаний», 2001. – 616 с



















Основы работы в MATLAB


1. Введение

MATLAB — это интерактивная среда для научных и инженерных вычислений. В состав MATLAB входят основная программа (ядро) и специализированные пакеты прикладных программ (tооlbохеs), состоящие из так называемых М-файлов, расширяющих функциона­льные возможности основной программы. Один из этих пакетов, Control System Toolbox, в сочетании с основной программой дает возможность использовать MATLAB для анализа и синтеза систем управления.

При работе в среде MATLAB пользователь взаимо­действует с компьютером с помощью четырех основных объектов:

  • инструкции и переменные;

  • матрицы;

  • графические изображения;

  • скрипты.


MATLAB интерп­ретирует и обрабатывает входные данные в виде одного или нескольких этих объектов.

Мы опишем только основные функции программы MATLAB, наиболее полный перечень можно посмотреть в приложении.

Для более качественного изучения программы мы рекомендуем проделать все приведенные примеры и описания самостоятельно.


2. Инструкции и переменные


Инструкции имеют следующий общий вид: >>переменная = выражение.

В MATLAB используется опера­ция присваивания, так что знак равенства «=» означает, что некоторой переменной присва­ивается выражение справа от этого знака. Командная строка обозначается двумя направ­ленными вправо стрелками «>>».

Приведем пример инструкции для ввода матрицы размерности 2 х 2 и присвоения ей имени переменной А: >>A=[1 2; 4 6] <ret> .

Инструкция выполняется после возврата каретки (нажатия клавиши <Enter>).

После ввода инструкции, завершающегося нажатием клавиши <Enter>, матрица А автоматически отображается на экране. Если после инструкции следует точка с запя­той (;), то вывод матрицы А на экран подавляется. Тем не менее, присвоение матрице имени А сохраняется, хотя ее вывод на экран подавлен точкой с запя­той.

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

Таблица 5.1

Символы математических операций

+

Сложение

-

Вычитание

*

Умножение

/

Деление

^

Возведение в степень

MATLAB различает верхний и нижний регистры, поэтому переменные Nит и num бу­дут иметь разный смысл.

В MATLAB имеется несколько переменных с заранее закрепленными за ними имена­ми:

  • NaN (сокращение от Not-a-Number) используется для обозначения неопределенного (нечислового) результата операции;

  • Inf соответствует +∞;

  • pi соответствует числу π ;

  • i и j обозначают мнимую единицу и используются при арифметических операциях с комплексными числами.



Рассмотрим основные функции для работы с переменными:

who выводит на экран список всех переменных, хранящихся в рабочей области;

whos выводит на экран список переменных в рабочей области вместе с дополнительной информацией об их типе, размерности и занимаемой памяти;

clear удаляет из рабочей области все данные (переменные и функции);

cle­ar variables удаляет все переменные; clear name1 name2... удаляет переменные пате1 пате2 и т. д.;

format меняет формат вывода. Если задан какой-то определенный формат, то он сохраняет силу до тех пор, пока не будет изменен.

Приведем основные форматы вывода:

format long - 15-разрядное число с фиксированной точкой;

format long e - 15-разрядное число с плавающей точкой;

format long g - наилучший формат — 15 разрядов с фиксированной или плавающей точкой;

format short e - 5-разрядное число с плавающей точкой;

format short g - 5 разрядов с фиксированной или плавающей точкой;

format hex - шестнадцатиричный формат;

format bank -фиксированный формат для долларов и центов;

format - то же, что и format short.



3. Матрицы


Основной вычислительной единицей является матрица. Векторы и скаляры можно рассматривать как частные случаи матрицы. Матрица обычно заключается в квадратные скобки, [•]. Элементы столбца отделяются пробелами или запятыми, а строки разделяют­ся точками с запятой или возвратом каретки.

Способ записи матриц был рассмотрен в пункте 2. Матрицы можно вводить посредством записи нескольких строк, завершая их точкой с запятой и возвратом каретки или просто возвратом каретки. Это очень удобно при вводе больших матриц.

Элементы матриц могут быть комплексными числами либо содержать тригонометрические и элементарные математические функции.

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

В MATLAB имеется возможность левостороннего и правостороннего деления матриц.

При сложении и вычитании матриц они должны иметь одинаковую размерность. Если матри­ца А имеет размерность п х т, а матрица В — размерность p x r , то А ± В имеет смысл то­лько тогда, когда п = р, а т = r. Умножение матриц А* В возможно только в случае т = р. Особым случаем является умножение матрицы на вектор. Предположим, что b есть век­тор (столбец) из р элементов. Умножение матрицы А размерности n x m на вектор b воз­можно только в случае т = р. В результате будет получен вектор у = A* b размерности n х 1.


Транспонирование матрицы обозначается символом апострофа ('). С помощью опе­раций транспонирования и умножения можно получить так называемое внутреннее про­изведение векторов. Поясним это на примере. Предположим, что w и v есть векторы раз­мерности т х 1. Тогда их внутреннее произведение (известное также как произведение с точкой) находится как w' * v. Внутреннее произведение двух векторов дает скалярную ве­личину. Аналогично можно вычислить внешнее произведение двух векторов как w * v'. Внешнее произведение двух векторов размерности т х 1 дает матрицу размерности m x m, ранг которой равен 1.



Основные матричные операции можно заменить поэлементными действиями с испо­льзованием периодически действующего предшествующего оператора. Такие процедуры известны как операции над массивами. Самые простые операции над массивами приве­дены в таблице 5.2.

Таблица 5.2

Математические операторы, применяемые к массивам


+

Сложение

-

Вычитание

.*

Умножение

./

Деление

.^

Возведение в степень


Необходимо оста­новиться на представлении данных с использованием двоеточия: x=[xi:dx:xf]. Такое представле­ние позволяет сформировать вектор, компо­нентами которого являются числа, начинающиеся со значения xi и заканчивающиеся зна­чением xf, следующие друг за другом с заданным шагом dx.



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