Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 324

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
880.78 Кб
Скачать

[X,Y,Z] = meshgrid(x,y,z) – возвращает трехмерные массивы, используемые для вычисления функций трех переменных и построения трехмерных 3D-графиков.

plot3 Функция построения трехмерных графиков линиями

Синтаксис:

plot3(x,y,z) – строит массив точек, представленных векторами x, y и z, соединяя их отрезками прямых. Команда имеет ограниченное применение, т.к. строит не поверхность , а пространственную кривую;

plot3(X,Y,Z) – строит точки с координатами X(i,:), Y(i,:) b Z(i,:) и соединяет их отрезками прямой, получая таким образом трехмерную поверхность;

plot3(X,Y,Z,S) – обеспечивает аналогичные построения, но со спецификацией линий и точек, соответствующих синтаксису команды plot.

mesh

Сеточные 3D-графики с функциональной окраской

Наиболее представительными и наглядными являются сеточные графики трехмерных поверхностей с заданной или функциональной окраской.

Синтаксис:

mesh(X,Y,Z) – выводит в графическое окно сетчатую поверхность Z(X,Y) с функциональной окраской, при которой цвет задается высотой поверхности.

Возможна также форма mesh(Z);

meshc(…) – по синтаксису аналогична предыдущим, но строит график поверхности, объединенный с проекциями линий равного уровня (графика типа contour);

meshz(…) – аналогичный синтаксис, но строит поверхность в виде столбиков.

figure

Активизация графического окна

Синтаксис:

19

figure(n) данная команда делает активным графическое окно с номером n (если такое окно существует) или создает пустое графическое окно.

hold

Управление режимом сохранения текущего окна

Синтаксис:

hold on включает режим сохранения текущего графика и свойств объекта axis, так что последующие команды приведет к добавлению новых графиков в активном графическом окне;

hold off выключает режим сохранения текущего графика; hold реализует переключение с одного режима на

другой.

subplot

Разбиение графического окна

Синтаксис:

subplot(mnp) данная команда выполняется перед обращение к функциям построения графиков для одновременной выдачи нескольких графиков (каждый со своим объектом axis) в различных частях графического окна. значение m указывает, на сколько частей разбивается окно по горизонтали, n по вертикали, а р номер позиции, куда будет выводиться очередной график.

Эта же команда используется для перехода от одного подокна к другому.

grid

Нанесение сетки

Синтаксис:

grid on наносит координатную сетку на текущие оси; grid off удаляет координатную сетку;

grid выполняет роль переключателя с одной функции на другую [1].

20

ЛА Б О Р А Т О Р Н А Я Р А Б О Т А №1

1.Сформировать в рабочей области матрицу 3Х5 и определить значение и индексы минимального элемента матрицы.

2.Сформировать в рабочей области вектор А, состоящий из 10 элементов и удалить из нее все элементы, значения которых меньше 5.

3.Сформировать в рабочей области вектор А из 10 элементов и добавить к нему вектор, сформированный из элементов этого же вектора, значения которых лежат в диапазоне 10 – 20.

4.Сформировать в рабочей области матрицу 3Х5 и удалить из нее строку с максимальным элементом.

5.Сформировать в рабочей области матрицу 3Х5 и добавить к ней строку, состоящую из минимальных элементов каждого столбца.

6.Из вектора, содержащего 20 элементов, сформировать матрицу 4Х5, строки которой являются последовательными элементами исходного вектора.

7.Из матрицы 3Х5 элементов сформировать вектор длиной 15 элементов путем последовательной записи в него столбцов исходной матрицы.

8.Из матрицы 4Х5 удалить строку или столбец, в которых находятся минимальный и максимальный элементы матрицы. Если таковых нет, то матрицу оставить неизменной.

21

 

 

 

Л А Б О Р А Т О Р Н А Я Р А Б О Т А №2

 

1. Построить

в одних осях функции

y

sin x

и

 

 

 

 

 

 

x2 cos x 1

 

 

 

2

 

y 3

при значениях аргумента x

в диапазоне 0 …

 

 

 

 

 

z y

 

x 5

 

 

 

 

 

 

10.

 

 

 

 

 

 

 

 

 

2.Построить в одной фигуре, но в разных окнах функции

 

 

 

sin

 

x

 

и

 

2

 

y 3

при значениях аргумента x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

x2

cos x 1

 

 

z y

 

x 5

 

 

 

 

 

в диапазоне 0 … 10.

 

 

 

 

 

 

 

 

3.

Построить

плоскость

 

функции

двух

 

аргументов

 

z sin x cos y при значениях аргументов функции x и

 

y в диапазоне 0… 2 .

 

 

 

 

 

 

 

 

4.

Для

функции

двух

аргументов

z sin x cos y при

 

x = y = 0… 2

построить линии равного уровня значений

 

функции -0.2, 0 и 0.5.

 

 

 

 

 

 

 

 

5.

Для

экспериментальной

функции

с

точками

 

( x [0 0.2 0.4 0.6 0.8 1],

y [0 5 9 15 25 36] ) построить

график (используя методы интерполяции функции), содержащий исходные точки.

6.Используя оператор plot написать в графическом окне свои инициалы линиями синего цвета и толщиной 2.5 пункта.

7. Для значений аргумента x =0… 2

построить

график

функции y=cos(x)./(0.5*x.^2-2*x+5) и

соединить

прямой

линией локальные экстремумы функции на отрезках 0…1

и 5…6.

8.Построить в одном окне графики двух функций:

y sin x sin x и z 0.2 f 3 3 f , где значения x x2

лежат в пределах 0…4, а F 0 … 9. 22

ИЗ У Ч Е Н И Е С П О С О Б О В П О С Т Р О Е Н И Я М О Д Е Л Е Й

СИ С Т Е М А В Т О М А Т И Ч Е С К О Г О У П Р А В Л Е Н И Я В

СР Е Д Е П А К Е Т А MATLAB

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

Дифференциальные уравнения (в том числе и системы дифференциальных уравнений) наиболее удобно решать методом структурного моделирования с использованием блоков пакета SIMULINK [2].

Для решения систем дифференциальных уравнений потребуется использование следующих блоков пакета:

1.Библиотека CONTINUOUS, блок Integrator. Это блок, который выдает на своем выходе сигнал, являющийся интегральной функцией входного сигнала.

2.Библиотека Math OPERATIONS, блок SUM. Данный блок исполняет роль сумматора входных сигналов. В свойствах блока можно указать форму блока (круг – round или прямоугольник – rectangular) и задать количество и знак действия над входным сигналом («+» - добавить сигнал к выходу, « - » - вычесть сигнал).

3.Библиотека Math OPERATIONS, блок GAIN. Усилитель сигнала. Параметром блока является коэффициент усиления, который, по умолчанию, равен единице.

4.Библиотека SOURCES, блок CONSTANT. Источник внешнего сигнала для объекта управления.

5.Библиотека SINKS, блок TO WORKSPASE. Передача сигнала в рабочую область системы MATLAB. В свойствах блока необходимо задать имя переменной, в которой будут храниться выходные данные (поле VARIABLE NAME) и параметр SAVE FORMAT перевести на значение ARRAY. После решения в рабочей области появятся две переменные: tout

в которой хранятся точки моделирования по времени, и переменная с заданным именем, в которой находятся точки

23

выходной переменной. Командой PLOT можно построить график решения системы дифференциальных уравнений.

В качестве примера рассмотрим структурную модель решения следующей системы дифференциальных уравнений:

 

10 u 0.04 y

 

x1

 

 

 

d

2

x

 

dx

 

 

 

 

0.4

x2 20x1

0.05

 

 

 

2

2

dt

2

dt

 

 

 

 

 

 

 

dy

 

x2

 

 

0.25

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

Здесь переменная u является внешним сигналом для системы, а переменная y - выходом.

Определим структуру решения первого уравнения системы:

u

x1

1 10

Constant Gain

Gain1

0.04

Внешняя переменная u задается блоком Constant = 1. Добавим структурное решение второго уравнения.

Принцип структурного решения дифференциального уравнения заключается в подаче на вход интегратора величины, равной производной выходной переменой уравнения. Решив уравнение относительно старшей производной получим:

2

 

20x 0.4

dx2

x

 

 

d x2

 

1

 

dt

2

 

 

 

 

,

dt2

 

0.05

 

 

 

 

 

что эквивалентно следующей структуре:

x1

20

 

d2x2/dt2

dx2/dt

x2

 

 

1

1

 

1/0.05

 

Gain3

s

s

 

 

 

 

Gain

Integrator

Integrator1

 

 

Gain1

 

 

 

 

0.4

 

 

 

 

24

 

 

Третье уравнение имеет следующую структуру решения:

x2

 

dy/dt

 

 

1

y

 

1/0.25

 

 

s

 

 

 

 

 

 

 

 

.

Gain

Integrator

Таким образом, общее решение системы дифференциальных уравнений имеет следующий вид:

u

1 10

Constant Gain

x1

 

d2x2/dt2

dx2/dt

 

 

 

20

 

x2

dy/dt

y

 

 

 

 

 

 

1

1

1

 

1/0.05

1/0.25

y

Gain4

s

s

s

 

 

 

 

Gain2

Integrator

Integrator1

Gain5

Integrator2

To Workspace

 

Gain3

 

 

 

 

 

 

0.4

 

 

 

 

 

 

Gain1

 

 

 

 

 

 

0.04

 

 

 

 

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

Запишем систему уравнений в операторной форме:

x1 s 10u s 0.04 y s

0.05 s2 x2 s 0.4 s x2 s x2 s 20x1 s0.25 s y(s) x2 s

Для получения передаточной функции системы традиционным способом нужно объединить все уравнения системы, исключив все переменные кроме входа и выхода.

Начнем преобразования с последнего уравнения, из которого следует: x2 s 0.25 s y(s) . Подставим это значение во

второе уравнение системы и получим:

0.05*0.25 s3 y(s) 0.4*0.25 s2 y(s) 0.25 s y(s) 20x1 s

После преобразования имеем:

0.05*0.25 s3 y(s) 0.4*0.25 s2 y(s) 0.25 s y(s) 20x1 s

25

откуда

x1 s 0.05*0.25/ 20s3 y(s) 0.4*0.25/ 20s2 y(s) 0.25 / 20 s y(s)

Подставляем это выражение в первое уравнение системы и получаем следующее выражение:

0.05*0.25 / 20s3 y(s) 0.4*0.25 / 20s2 y(s) 0.25 / 20 s y(s)10u s 0.04 y s

Группируем входные и выходные переменные и получаем:

0.000625s3 y(s) 0.005s2 y(s) 0.0125 s y(s) 0.04y s 10u s

или

 

 

y(s) 0.000625s3 0.005s2 0.0125 s 0.04 10u s

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

 

W s y(s)

10

.

u s

0.000625s3 0.005s2

0.0125 s 0.04

Другой способ – представить систему в виде укрупненной структуры, в которой каждое уравнение преобразовано в самостоятельную передаточную функцию. Первое уравнение – алгебраическое. Оно входит в структуру системы аналогично построению модели SIMULINK. Из второго, найдем передаточную функцию:

x2 s 0.05 s2 0.4 s 1 20x1 s , откуда

W

s

x2

s

 

 

20

 

 

.

 

 

 

 

s

0.05 s2

 

 

 

 

 

 

2

 

x

 

0.4 s 1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Третье уравнение преобразуется

W3

s

y

s

 

1

.

 

 

 

 

x2

s

0.25 s

 

 

 

 

 

 

 

 

 

 

Таким образом, можно составить укрупненную структуру системы:

26

 

u

h1

 

h2

 

 

h3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

10

 

 

 

x1

 

 

20

 

 

 

 

 

 

 

1

 

 

 

y

 

y

 

 

 

 

 

 

 

 

 

0.05s2+0.4s+1

 

 

 

0.25s

 

 

 

 

Constant

Gain

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To Workspace

 

 

 

 

 

 

 

 

 

 

Transfer Fcn

Transfer Fcn1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gain1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.04

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h4

 

 

 

 

 

 

 

 

 

Создадим в рабочей области четыре объекта, соответствующих объектам h1 – h4 структурной схемы, воспользовавшись оператором tf .

Формат оператора: h tf num , den , где h -

переменная, в которой сохраняется созданный объект, num - коэффициенты числителя передаточной функции объекта, перечисленные в порядке убывания степени оператора s , den - коэффициенты знаменателя.

Например, h3=tf(1,[0.25 0]), или, h1=tf(10). Общая передаточная функция системы определится путем объединения объектов по следующим правилам:

1. При последовательном соединении двух объектов эквивалентная передаточная функция определяется произведением передаточных функций объектов

h1

 

h2

 

hэкв h1 *h2

2. При параллельном соединении двух объектов эквивалентная передаточная функция определяется суммой передаточных функций объектов

h1

 

 

 

 

hэкв

h1 h2

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

3. При встречно-параллельном соединении (обратная связь) эквивалентная передаточная функция определяется следующей функцией:

 

h1

 

 

 

 

-

 

 

hэкв

feedback h1, h2

 

 

 

 

 

 

 

27

 

h2

 

 

 

 

 

 

 

 

 

 

где h1 - эквивалентная передаточная функция прямой цепи системы, h2 - эквивалентная передаточная функция цепи

обратной связи.

Для нашей структуры эквивалентная передаточная функция определяется из выражения: we=h1*feedback(h2*h3,h4) и будет иметь вид:

We

200

.

 

0.0125 s3 0.1s2 0.25 s 0.8

Это выражение эквивалентно полученной выше передаточной функции, если числитель и знаменатель умножить на постоянный множитель 20, что не изменяет динамические и статические свойства системы управления.

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

1

40

15

10

 

 

 

 

 

 

0.002s+1

0.05s+1

0.4s+1

 

Constant

Transfer Fcn

Transfer Fcn1

Transfer Fcn2

Scope

 

 

 

 

 

Transfer Fcn5

 

 

Transfer Fcn4

 

0.5

 

 

 

 

 

 

0.5

 

1

 

 

 

 

 

 

1

 

 

 

 

 

Transfer Fcn3

 

 

 

 

0.02

 

 

 

 

1

 

 

Вэтом случае использование функции feedback

невозможно. Можно воспользоваться таблицей преобразования передаточных функций систем автоматического управления из справочников ТАУ (теория автоматического управления), однако есть более простой способ: использование пары функций системы MATLAB append и connect.

28