<<

стр. 4
(всего 5)

СОДЕРЖАНИЕ

>>

Г4

с
+1
˜>
+1 -о I а
« I-O
(N
I




tan
^•
1 с
ш
СО 1
-' _g
2 1
˜ II
II
II
я & *

н
О ^˜ • •
• •




о о
II II
о
а
II о ел
о II О
s | 1 О

Н
X
V •о
равн




>;

ч С
ё
8 «я
а
>>

в
с — Г" —
Таблица 8.3. Алгебраические и трансцендентные уравнения для решения их численными методами
00
о
Уравнения
№ п/п
Алгебраические Трансцендентные Число корней

2sin(ln|A:|) = 0
1 6
х 4 -4л: 3 -1Од- 2 +Зл:-4 = О

arctg(tgx) = O
2 00
хь-5х1+ 4.5 = 0

3
5
3 д: -л- + 0.2 = 0 4^-^1-2

sin (sin д:)
4 со
л 3 - 0.2JC 2 + 0 . 5 * + 1 . 5 = 0


х
5 х'0-1 = 0 2 - 4х = 0 2

jr!+2x-2 = 0
д;8 + 2д:-1.5 = 0
6 4


1пд: + (д: + 1) 3 =0
7 * 4 - 2 л : 2 + 8х + 1 = 0 1


arctg(jr-2) + x = 0
8 1
3 2
Л : + 4 Л : - 5 Х - 2 = 0




6л; 8 -2;Г + 3 = 0 x2 +4 s i n x - 2 = 0
9 2


х-1п(7-4л-)
3.5л-5 - 2.8л:3 + 7.5* - 2.5 = 0
10 1

00
Таблица 8.3 (окончание)

Уравнения
№ п/п S
г
Алгебраические Число корней
Трансцендентные
s
11 2
х5 + х 4 + х 3 + х 2 + х + 1 = О
X

\.5х5 + 2
12 6г 2
Пх-2\=0 е" +Зх -18 = 0

1
! п ( 4 - 2 х ) +х 2 - 2 = 0 3
13 2х 4 - 3 . 5 Л : 2 + 3 = 0
се
2 I
14 7 4 3
3*-9х + 1 = 0
17х"-15х +13х 11х +9х-7 = 0
1
1
15 л 4 + 2х' - 1 = 0 2х + In 2 x - 5.6 = 0
S
2
16 х х - 2 1 х 2 + 55 = 0 2 r + e t - 5 x +l = 0

2
17 4 3 2 г
1
х + 2 / + З г + 4х + 5х + 6х + 7х + 8 = 0 Зх = с +1.5 = 0


1
18 7 6 5 4 3 2
8х - 7х + 6х - 5х + 4х - Зх + 2х -1 = 0 2
y-(-D =o


x+lgx-0.5 = 0 1
19 50
х -1 = 0

4
20 2x!-e-r+5 = 0
4 3 2
1 5
х + 6х" + х - 4х + х - 2х + х -1 = 0
00
Глава 8
182

Однако решение уравнений аналитическими методами крайне
ограничено. Они могут быть применены лишь для решения сис-
тем линейных алгебраических уравнений и в редких случаях для
решения систем нелинейных уравнений невысокого порядка.
MATLAB решает системы уравнений аналитическими и числен-
ными методами.
Рассмотрим вначале математические методы решения линейных
уравнений. Это поможет нам более квалифицированно и глубоко
понять компьютерные технологии решения уравнений с по-
мощью MATLAB.

8.3.1. Решение систем
линейных алгебраических уравнений
Систему т линейных уравнений с п неизвестными можно пред-
ставить в следующем виде:


ailxr+a21x2+...+a2nxn=b2,
(8.2)



х
В этой системе х{, Х2>—» п неизвестные, йг„ — коэффициент
в /-м уравнении приу-м неизвестном (/ = 1, 2, ..., т; j = 1, 2, ...,
п), Ъ, —свободный член/-го уравнения, /-1,2, ..., т.
В системах уравнений возможны случаи, когда число уравнений
равно числу неизвестных (т = п), меньше числа неизвестных
больше числа неизвестных (т>п). При этом решением
(пкп),
системы (8.2) является любой набор чисел хх, х2, ..., хп , которые
при подстановке в систему (8.1) обращают каждое из уравнений
в числовое равенство.
Количество решений может быть равно, может быть меньше или
больше числа неизвестных.
В зависимости от этого система уравнений классифицируется
следующим образом. Система называется совместной, если она
Алгоритмы и технологии решения уравнений 183

имеет хотя бы одно решение, в противном случае она называется
несовместной. Совместная система может иметь единственное
решение или бесконечное их число. Если система имеет беско-
нечное число решений, ее называют неопределенной. Рассмотрим
примеры таких систем.
Система уравнений
х, + 2х2 - х, = 1
! 2х] + х2+ х3 = 2
[Эх, + 2х2 + Зхъ = 5

имеет единственное решение: хх = О, х2 = 1, х3 = 1, т. е. она явля-
ется совместной и определенной.
Система


j 2х] + 4*2 - 2х3 = 2
[Зле, + 2х2 + Зх, = 5

имеет бесконечное число решений, которые удовлетворяют сле-
дующим равенствам:
х, + 2хъ - 2,

2х2 -Зх, = - 1 ,
т. е. система является совместной и неопределенной. Определены
лишь условия решения. В этой системе первое и второе уравне-
ния идентичны.
Система
X, + 2X2- Х з = 1
2*, + 4X2- 2xj = 2
Зх, + 6x2 - :ЗХ3 - 3

не имеет ни одного решения и является несовместной.
Действительно, в этой системе будет три одинаковых уравнения
после деления второго уравнения на 2, а третьего на 3.
264 Глава 11

Содержимое файла может иметь вид:
Function F=myfun(x)
Л
F = [ x ( l ) * x ( 2 ) + x ( 3 ) - 6 . 5 ; x ( l ) *x(2) 4+х (3)-167;
х(1)*х(2)Л6+х(3)-1470];

Теперь воспользуемся функцией fsolve ():
» xO=[l; 1; 1];
» x=fsolve('myfun', xO)
После нажатия клавиши <Enter> получим решение:

2.1512
2.9678
0.1157

Тогда функция интерполяции будет иметь вид:
х
ф(дг) = 2.1512-2.9678 +0.1157 .


11.2.3. Сплайн-интерполяция
Интерполяция кубическими сплайнами в среде MATLAB осуще-
ствляется с помощью функции spline (). Функция имеет вид:
Yi = s p l i n e (x, у, xj

где:
• х — вектор узлов интерполяции;
• у — вектор значений функции в узлах интерполяции;
• Xi— вектор аргументов функции y-f(x) из области ее оп-
ределения, задаваемый пользователем.
Вместо вектора функция y-f(x) может быть задана в виде
формулы.
Функция spline () не позволяет получить функцию интерполяции
в виде формулы. В этом ее существенный недостаток.
Рассмотрим технологию интерполяции на примерах.
Методы и компьютерные технологии интерполяции 265


\ Пример 11.5 j

Пусть функция задана в виде табл. 11.5. Необходимо найти ее
значения при х= 1.5, 2.5, 3.5, 4.5, 5.5.
Процедуры интерполяции будут иметь вид:
» х= [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
» у=[6.5,20,53.5,167,473,1470];
» xi=[1.5,2.5,3.5,4-5,5.5];
» y i = s p l i n e ( x , у, xi)

После нажатия клавиши <Enter> на экране появится ответ:
yi -
15.233 29.7667 98.7 270.9958 847.7542


Пример 11.6

Пусть функцией является


заданная при * = 1, 2, 3, 4, 5. Необходимо найти ее значения при
х=1.5, 1.8,2.3,3,3.5.
Программа решения задачи имеет вид:
х=[1,2,3,4,5];
xi=[1.5, 1.8, 2.3, 3, 3.5];
yi=spline(x, sin(x),xi)

После нажатия клавиши <Enter> на экране ответ:
1.022 0.9843 0.7358 0.1411 -0.3414.

Из ответа видны погрешности интерполяции: значение sinx не
может быть больше единицы.

11.2.4. Интерполяция точная в узлах
Функция i n t e r p i o позволяет решать задачи интерполяции не-
сколькими методами. Она имеет вид:
y j = i n t e r p l (x, у, xir метод)
266 Глава 11

где:
• х, у — векторы значений узлов и функции;
• х4 — вектор значений аргументов, задаваемый пользователем;
• метод — аргумент, позволяющий пользователю выбрать метод
интерполяции.
Методами интерполяции являются:
• 'nearest'—ступенчатая;
• ' linear' — линейная;
• 'cubic' — кубическая;
• ' spline' — кубическими сплайнами.
Если метод не указан, то реализуется линейная интерполяция.
Приведем пример решения задачи этими методами.

Г,
I Пример 11.7

Функция у-/(х) задана в виде табл. 11.6.

Таблица 11.6. Значения функции у —

8.4 11.7
.
V 2.5 3.7 20 27 38
1.4 13,2 15.3
2,7 5,6 7,5 9,1
У

Необходимо определить значения функции при значениях аргу-
ментов х = 3, 4, 6, 10,25,30.
Далее приводятся процедуры решения задачи на ЭВМ:
» х=[2.5, 3.7, 8.4, 11.7, 20, 27, 38];
» у=[1.4, 2.7, 5.6, 7.5, 9.1, 13.2, 15.3];
» xi=[3,4, 6, 10, 25, 30] ;
» yi=interpl(х, у, xi); % линейная интерполяция
/

» yi=interpl(х, у, xi, 'linear'); % линейная интерполяция
» yi=interpl(х, у, xi, 'nearest');! ступенчатая интерполяция
» yi=interpl(х, у, xi, 'cubic'); % кубическая интерполяция
Методы и компьютерные технологии интерполяции 267

yi=interpl(х, у, xi, 'spline1;
» % интерполяция кубическими
% сплайнами

В результате решения задачи получим следующие ответы:
• линейная интерполяция
1..9417 2.8851 4.1191 6.5212 12.0286 13.7727
• ступенчатая интерполяция
1.4 2.7 2.7 5.6 13.2 13.2
• кубическая
1.9884 2.9419 4.2606 6.3449 12.2020 14.0582
• кубическими сплайнами
1.9912 2.9666 4.3323 6.5662 11.8137 15.1007

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


11.3. Интерполяция, приближенная
в узлах (аппроксимация)
11.3.1. Функция IsqcurvefitO
Осуществим сглаживание неточностей исходных данных, ис-
пользуя функции аппроксимации. Одной из таких функций в
MATLAB является функция IsqcurvefitO, которая имеет вид:
coef=lsqcurvefit (f, х0, а, Ь)

где:
• а, ь — векторы узлов интерполяции и значений функции;
• х0 — стартовое значение параметров функции;
• f — функция аппроксимации, задаваемая пользователем.
Глава 11
268

Технологию решения задачи интерполяции рассмотрим на при-
мере.

Пример 11.8

Стоимость G перевозки леса автопоездом в зависимости от рас-
стояния 5" представлена в табл. 11.7.

Таблица 11.7. Стоимость перевозки леса

70
50 60 100 120
S, км 30 40 80 90 ПО
G,
8.08
6.36 6.85 7.34 7.84 8.32 8.94
8.57 8.70 8.82
тыс. руб.


Требуется найти математическую модель стоимости перевозки
леса методом интерполяции, приближенной в узлах.
Функция G = f(S), полученная по данным табл. 11.7, приведена
на рис. 11.12.

G

10




s
100
Рис. 11.12. Зависимость стоимости перевозки леса от расстояния

Из рис. 11.12 следует, что в качестве функции интерполяции
можно выбрать полином второй степени:
G = a + bS + cS2.
Решим задачу аппроксимации полиномом второй степени, ис-
пользуя функцию Isqcurvef i t ().
Методы и компьютерные технологии интерполяции 269


Ниже приводятся процедуры решения задачи аппроксимации и
вычисления погрешностей в среде MATLAB с применением
функции lsqcurvefit ():
» а=[30,40,50,60,70,80,90,100,110,120] ;
» Ь = [ 6 . 3 6 , 6 . 8 5 , 7 . 3 4 , 7 . 8 4 , 8 . 0 8 , 8 . 3 2 , 8. 57, 8 . 7 0 , 8. 82, 8 . 9 4 ] ;
» хО=[1,1,1];
f = i n l i n e { ' х ( 3 ) * а . Л 2 + х ( 2 ) * а + х ( 1 ) ', ' х \ ' а ' ) ;
»
» coef=lsqcurvefit(f,x0,a,b)

После нажатия клавиши <Enter> на экране появится ответ в виде
значений полинома:
coef =
4.4747 0.0719 -0.0003
Функция интерполяции найдена и имеет вид:
G = 4.4747 + 0.0719S - О.ОООЗЯ2.
Определим абсолютную Е и максимальную относительную d
погрешности интерполяции, воспользовавшись формулами (11.1):
» х=[30,40,50,60,70,80,90,100,110,120];
y=subs('4.4747+0.0719*t+0.0003*tA2', ' t ' , x ) ;
»
» fl=y;
» f2=b;
» e=fl-f2;


» E=sqrt(s)/length(f2);
» d=E/min(f2)*100
После нажатия клавиши <Enter> получаем ответ:
Е=
0.0231 d=0.3633%

Низкая погрешность интерполяции является доказательством
адекватности математической модели.
Функция lsqcurvefit () достаточно универсальна. Вид функции
интерполяции может быть не только полином л-й степени, но и
другими функциями, приведенными в настоящей главе.
270 Глава 11


11.3.2. Полиномиальная аппроксимация
Аппроксимация полиномами в среде MATLAB осуществляется
с помощью функции poiyfit О, которая имеет вид:
polyfit(x, у, п)

где:
• х — вектор узлов интерполяции;
• у — вектор значений функции в узлах интерполяции;
• п — степень полинома.
Откликом при реализации функции poiyfit () является вектор
коэффициентов полинома.
Функция y = f(x) может быть также представлена в аналитиче-
ском виде.
Приведем пример интерполяции с помощью функции poiyfit ().

; Пример 11.9

Требуется решить задачу о стоимости вывозки леса из предыду-
щего примера, используя функцию poiyfit ().
Функция задана в виде табл. 11.7. Тогда процедуры интерполяции
будут иметь вид:
» х=[30,40,50,60,70,80,90,100,110,120];
» у=[6.36,6.85,7.34,7.84,8.08,8.32,8.57,8.7,8.82,8.94];•
» p = p o l y f i t ( x , у, 2)

После нажатия клавиши <Enter> ответ получим в следующем
виде:
Р-
-0.003 0.0719 4.4747

Тогда функцией интерполяции будет следующий полином второй
степени:
<p(G) = 4.4747 + 0.07195 - 0.0(Ш 2 .
Решение совпадает с полученным в предыдущем примере.
Методы и компьютерные технологии интерполяции 271

Протабулируем функцию ф(С) с целью сравнения ее значений
с исходными данными.
В MATLAB имеется функция вычисления математического вы-
ражения при заданных значениях аргументов. Функция имеет
вид:
polyval(p, x)
где:
• р — вычисляемая функция;
• х — вектор аргументов функции.
Воспользуемся этой функцией для проверки достоверности ре-
зультатов аппроксимации.
Введем функцию f=poiyvai(p,x) и нажмем клавишу <Enter>. От-
кликом будет следующее решение:
f=
6,3695 6.884 7.34 7.7373 8.0761 8.3564
8.5780 8.7412 8.8457 8.8917

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

Система MATLAB позволяет обоснованно выбрать степень поли-
нома при полиномиальной интерполяции путем вычисления таб-
личных разностей. Для этой цели служит функция diff (), имею-
щая вид:
diff(v, n)
где:
• v — вектор функции у(х);
• п — порядок конечных разностей.
272 Глава 11

Пример 11.10

Необходимо определить методом табличных разностей вид функ-
ции интерполяции в случае решения предыдущей задачи о стои-
мости вывозки леса.
Определим степень полинома, воспользовавшись функцией
diff (). Процедуры в системе MATLAB имеют вид:
» у=[6.36,6.85,7.34,7.84,8.08,8.32,8.57,8.7,8.82,8.94];
» diff(у,1)
ans -
0.49 0.49 0.5 0.24 0.24 0.25 0.13 0.12 0.12
» diff(у, 2)
ans =
0 0.01 -0.26 0 0.01 -0.12 -0.01 0

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

11.3.3. Интерполяция
кубическими полиномами
Интерполяция кубическими полиномами реализуется с помощью
функции icubic (), имеющей вид:
yi=icubic(x, у, Xi)

где:
• х, у — аргумент и функция, заданные в виде векторов, или х —
в виде вектора, а у — в виде формулы;
• Xi — вектор значений аргумента, для которых вычисляется
значение функции; xt должно быть в диапазоне значений х.

! Пример 11.11 I

Функция задана в виде табл. 11.11
Необходимо найти значение функции при значениях аргумента
х, = 2 , 5 , 7, 13, 17.
Методы и компьютерные технологии интерполяции 273

Таблица 11.8. Значения функции у = f(x)

1 6
3 9 12 15 18
X
1 2 5 10 19
8 14
У


Процедуры решения задачи в среде MATLAB имеют вид:
» х=[1 3 6 9 12 15 1 8 ] ;
» у=[1 2 5 8 10 14 1 9 ] ;
» x i = [ 2 5 7 13 1 7 ] ;
» y i = i c u b i c ( x , у, x i )

После нажатия клавиши <Enter> получим решение в следующем
виде:
yi =
1.1246 3.0928 5.3590 10.7824 17.1211

Функция icubicO отличается от функции interpio с опциями
1
'cubic и 'spline' методами интерполяции. В этом можно убе-
диться по результатам решения одних и тех же задач.
При решении предыдущей задачи с помощью функции interpl ()
с опцией 'cubic' получим следующий ответ:

yi =
1.3524 3.8953 6.1111 11.0778 17.3666
ГЛАВА 1 2


Компьютерные технологии
решения задач управления

12.1. Задачи управления
При анализе систем управления задача формулируется следую-
щим образом.
Дано:
• структурная схема (блок схема) системы;
• передаточные функции звеньев системы;
• значения переменных передаточных функций.
Необходимо определить:
• устойчивость системы управления;
• качество переходных процессов;
• точность системы.
При синтезе системы управления задача формулируется иначе.
Необходимо создать из имеющихся звеньев структурную схему
системы, которая бы удовлетворяла условиям устойчивости (за-
пас по фазе и амплитуде), качеству переходных процессов (форма
переходного процесса, длительность, величина перерегулирова-
ния) и точности.
В такой постановке решение задач анализа и синтеза весьма це-
лесообразно с помощью математической системы MATLAB.
Компьютерные технологии решения задач управления 275

Характерными особенностями исследований с помощью MATLAB
являются:
• простота;
• высокая наглядность;
• возможность получения характеристик системы практически
любой сложности.
MATLAB позволяет:
• исследовать устойчивость системы управления (запасы устой-
чивости по амплитуде и фазе);
• получать переходные и частотные характеристики системы;
• исследовать качество переходных процессов (вид переходного
процесса и его длительность, величину перерегулирования);
• выбрать параметры звеньев системы, вид и характеристики
обратной связи с целью обеспечения требуемых динамических
свойств системы управления.
Простота решения задач управления определяется наличием в
MATLAB специальных функций. Ниже приводятся функции
MATLAB, позволяющие воспроизводить передаточные функции
звеньев и системы в целом и исследовать ее динамические свой-
ства.


12.2. Функции MATLAB для создания
передаточных функций
звеньев системы
12.2.1. Функция tf()
Функция имеет вид:
tf(n, m)
где:
• п — вектор коэффициентов числителя передаточной функции;
• га— вектор коэффициентов знаменателя передаточной функ-
ции.
Глава 12
276

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

\ Пример 12.1 i

Необходимо образовать передаточную функцию


S3+2S +l
В нашем случае векторы коэффициентов числителя и знаменате-
ля передаточной функции имеют вид: n=[2,5], m=[i,o,2, l ] .
Ноль в векторе m ставится потому, что в знаменателе передаточ-
ной функции член S2 отсутствует.
Процедуры образования передаточной функции G{S) имеют
вид:
» п=[2,5];
т=[1,0,2,1] ;
»
» qs=tf(п,т)

После нажатия клавиши <Enter> на экране появится передаточ-
ная функция в виде:
Transfer function:
2s+5

зЛ3 +2 s +1

Функцию qs=tf(n,m) можно также представить в следующем
виде:
» qs=tf([2 5],[1 0 2 1])
Числа в векторах п и т отделяются друг от друга либо запятыми,
либо пробелами (как в нашем примере), а сами векторы заканчи-
ваются символом (;). Символ точка с запятой подавляет вывод на
экран векторов при нажатии клавиши <Enter>.
Процедуры получения передаточной функции приведены на
рис. 12.1.
Компьютерные технологии решения задач управления 277

IJ A L 8
.M T A
3X
(|
• . ;




El E i $w Wf Wdw
ie dt e e no ei
: к! ? ! Crn Dcr: 1В5и
u t rty А6* ±1
D G? '-,-: Ш • •
e i o* р?
e&Ш
» n>[2,5]

2 5
» m=[l,0,2,1]





m•
10 2 1


Transfer function:
2s+ 5 •




л
з 3 + 2 s +1




•• 1
'
<j '•• •
-^StartJ

Рис. 12.1. Образование передаточной функции


12.2.2. Функции poleQvi zeroQ
Функции предназначены для определения, соответственно, по-
люсов и нулей передаточной функции G(S). Они имеют вид:

pole(qS)
zero(qS)

где qs — имя передаточной функции, заданной оператором tf.
Напомним, что нулями передаточной функции называются корни
числителя, а полюсами — корни знаменателя.

I Пример 12.2
;i
Определить полюсы и нули передаточной функции, полученной
в примере 12.1.
Глава 12
278

Процедуры в MATLAB будут иметь вид:
» qs=tf([2 5],[1 0 2 1]);
» P=pole(qs)
После нажатия клавиши <Enter> на экране появится ответ:
р =

0.2267 + 1.4677i
0.2267 - 1.4677i
-0.4534
» z=zero(qs)
Z=
-2.5

Процедуры определения нулей и полюсов показаны на рис. 12.2.



0е Edit View Web Window Help

"3J
Щ
-Q'GSr #•••"* ? Current Directory: JD:WIATLAB6p5twork

Using Toolbox Path Cache. Type "help toolbox_path_cache" Eor more Info.

To get started, select "HATLAB Help" from the Help menu.

» qS-CC([2 S ] , [ 1 0 2 1])

Transfer function:
2 3+5

s"-3 + 2 3 + 1

» P=pole(qS)

P-

0.2267 + 1 46771
0.2267 - 1 46771
-0.4534




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


12.2.3. Функции rootsQ и poly()
Функции предназначены, соответственно, для вычисления корней
полинома и его восстановления по значениям корней. Эти функ-
ции имеют вид:

roots(Р)
poly(r)

где:
• р — вектор коэффициентов полинома;
• г — вектор корней полинома.


j Пример 12.3

Н а й т и корни у р а в н е н и я ? 3 + 3S2 + 4 и по к о р н я м в о с с т а н о в и т ь
полином.
В данном случае р=[1 з о 4] и процедуры решения будут иметь
вид:
» Р = [13 0 4];
» г = roots(Р)
г=
-3.3553
0.1777 + 1.0773i
0.1777 - 1.07731
» Р = poly (г)
р=
1.0000 3.0000 0.0000 4.0000

Решение показано на рис. 12.3.
Функции roots () и poly () полезно использовать для определения
полюсов и нулей в условиях, когда по каким-либо причинам
функции pole () и zero () не могут дать решения.
Глава 12
280

•} МА Г LAB
File Edit View Web Window Help

G& | jv ' в Ш •> c' : Щ i ? j Current Directory: j D:WATLAB6p5\<vork
P "
J

» P=[l 3 0 4]
Р•

1 3 0 4




-3.3553
0.1777 + 1.07731
0.1777 - 1.0773i




1.0000 3.0000 0.0000 4.0000




Рис. 12.3. Функции определения корней полинома и его восстановления


12.2.4. Функция convQ
Функция применяется для умножения полиномов. Она имеет вид:
conv(P, q)

где р, q — векторы коэффициентов полиномов P(S) и q(S).

! Пример 12.4

Умножить полиномы
= 5+ 4
Процедуры в MATLAB имеют вид:
» Р=[3 2 1] ;

» q=[l 4];
Компьютерные технологии решения задач управления 281

» G=conv(P, q)

3 14 9 4

Или
3 2
G = 3S +\4S +9S + 4.
Процедуры умножения полиномов показаны на рис. 12.4


Fi
l
e V w W b Wd w U p
e e no e
i i l
Edit

> t* ,- % f : C re t Directory: | : A L B p W r
ur n DW T A 6 5 ok Jll j

» P-[3 2 1) -
P•
3 1
2
» 4]
4•
l 4
» G=conv(P, 4)
К=

3 14 9 4




ЕЙ!J
±

Рис. 12.4. Процедуры умножения полиномов


12.2.5. Функция polyvalQ
Функция предназначена для вычисления значений полинома при
заданном значении переменной. Она имеет вид:
polyval(n,к)
где:
• п — вектор коэффициентов полинома;
• к — значение переменной S.
Глава 12
282


Пример 12.5

Необходимо вычислить значение полинома
P(S) = 3S2 +2S + ]
при S = -2 .

Решение:
» п=[3 2 1 ] ;
» Z=polyval(n, -2)
Z=
9

Вычисление значения полинома показано на р 12.5.
же.


. -|П1 х|
•ЛМАПАВ
File Edit Ve W b Wn o Help
iw e idw
T
' Щ i ? I Current Directory: | D:»A L A 6 5 w r k
( T Bp\ o | J
г<|
О E? j jc Ч^ Ш °
f
» n=[3 2 1] —


3 2 1

» Z=polyval(n,-2)



9




•!
Ф Start j

Рис. 12.5. Вычисление значений nojжнома
Компьютерные технологии решения задач управления 283


12.3. Операции с передаточными
функциями звеньев
12.3.1. Сложение передаточных функций
Сложение передаточных функций осуществляется с помощью
оператора +.

! Пример 12.6

Сложить передаточные функции
2
10 _ ,„ч 2S +l2S +
ч
Sz+2S S* + 3SZ + IS + 5
+5
Решение:
» nl=[10];
» ml=[l 2 5];
» zl=tf(nl,ml)
Transfer function:
10

A
s2 + 2 s + 5
» n2=[2 12 15] ;
» m2=[l 3 7 5];
» z2=tf(n2,m2)
Transfer function:
A
2 s 2 + 12 s + 15

sA3 + 3 sA2 + 7 s + 5
» G=zl+z2
Transfer function:
Л A Л
2 э 4 + 26 s 3 + 79 э 2 + 160 s + 125

зЛ5 + 5 эл4 + 18 Б Л 3 + 34 з л 2 + 45 s + 25

Процедуры сложения передаточных функций показаны на
рис. 12.6.
Аналогично осуществляются операции вычитания, умножения и
деления передаточных функций с помощью операторов -, *, /.
Глава 12
284

•> М ATI АН
File ?di( \?iew Web Windc*

Щ Л
? i Current Directory. |Р:У»|ДКДВ6р5\ууак ^[

n l = [ 1 0 ] ; m l " [ l 2 5 ] ; Z l - t f ( n l , ml)
»

Transfer function:
10


> + 2s + 5
» n2«[2 12 15]; ж2-[1 3 7 Sit Z2-t?(n2, m)
2
гапзСе): function:
2 з л 2 + 12 s + 15

A л
s3 + 3 з2 + 7 s 4 5
-

» G-Z1+Z2

ransfei: function:
2 з л 4 + 26 8 Л 3 + 79 з'2 + 160 s + 125

A A Л л
S S + 5 S 4 + 18 3 3 + 34 з 2 + 45 s + 25




Рис. 12.6. Сложение передаточных функций


12.3.2. Функция pzmapO
Функция pzmapO показывает расположение полюсов и нулей пе-
редаточной функции на комплексной плоскости S. Функция
имеет вид:
pzmap(G)
где G — имя передаточной функции.

| Пример 12.7

Представить на плоскости S нули и полюсы функции
6S5 +18.S"4 + 25S3 + 15S2 + 4 5 + 12
G(S) = - 5 4 2
S + 6S + \4S* +\6S +9S
Компьютерные технологии решения задач управления 285


PIU_.II.P.._._
[ A AIB
• M TA
Fl /Edit Vw Wf Wdw lielp
ie i
e e io
en
. D Sr '1 IP- " ' - \Щ \ ' f ; Current Directory: | D;WATLAB6p5\work
» n=[6 18 25 75 4 12]; u=[l 6 14 16 9 2 ] ; —
» q»tf(n, m )
Transfer function: A
6 JA5 + 18 sA4 + 25 S 3 + 75 та 2 1• 4 3 + 12 л



A A
s*5 + 6 s 4 + 14 3 3 H16 sA2 + 9 3 + 2
-

» pzmap(q)




Рис. 12.7. Определение нулей и полюсов передаточной функции


• - —




- i n ! ^f
. / f i g u r e N o . 1




H e l p
I n s e r t I o o l s M n d o w
F i l e E d i t B e "




IQ & У A




P o l e - Z e r o M a p









. >




СI



(
?




- 1








Real Axis


Рис. 12.8. Нули и полюсы передаточной функции
286 Глава 12

Решение:
» n=[6 18 25 75 4 12];
» m=[l 6 14 16 9 2];
» q=tf (n,m)
Transfer function:
6 э л 5 + 18 s A 4 + 25 з

+ 16 э л 2 + 9 s + 2
14
S"5 + 6 s-4
» pzmap(q)

Процедуры определения нулей и полюсов передаточной функции
показаны на рис. 12.7, а ответ представлен в виде рис. 12.8 с рас-
положением нулей (кружки) и полюсов (звездочки) на плоско-
сти 5". Обратите внимание, что на рисунке указаны только два
полюса, хотя в знаменателе функции G(S) полином пятой сте-
пени. Такой результат получен потому, что в нашем случае четы-
ре корня знаменателя равны - 1 .


12.3.3. Функция seriesQ
Функция series () используется для образования передаточной
функции системы, состоящей из последовательного соединения
звеньев. Она имеет вид:
series(ql, q2)

где ql и q2 — передаточные функции последовательно соединен-
ных звеньев.

I Пример 12,8
•„ ,.„„.,
.
; 1 ..... '.
Структурная схема системы управления показана на рис. 12.9.


u(s) Y(S)
R(S)
ф) <h(s)
Рис. 12.9. Структурная схема системы
Компьютерные технологии решения задач управления 287

Необходимо получить передаточную функцию системы




если передаточные функции звеньев имеют вид:
Y(S)_
u(s) s+\
|
R(S) S+ 2 5S2
U(S)

Решение:
» nl=[l 1] ;
» ml=[l 2] ;
» ql=tf (nl

» m2=[5 0 0];
» q2=tf (n2 ,m2);
» G=series (ql,q2)
Transfer function:
s+ 1
A
5 s"3 + 10 s 2
Ответом является, как и следовало ожидать, произведение пере-
даточных функций звеньев.

12.3.4. Функция parallel?)
Функция parallel о используется для образования передаточной
функции системы, состоящей из параллельных звеньев, и имеет
вид:
parallel(ql, q2)
где ql и q2 — передаточные функции параллельно соединенных
звеньев.

Пример 12.9

Структурная схема системы управления приведена на рис. 12.10.
Глава 12
288




Рис. 12.10. Структурная схема системы,
состоящая из параллельных звеньев

Необходимо получить передаточную функцию системы


R(S)

если передаточные функции звеньев имеют вид:




Решение:
» nl=[l 1];
» ml=[l 3 1];
» ql=tf(nl,ml);
» n2=[l 2];
» ш2=[1 1 3 ] ;
» q2=tf(п2,т2);
» G=parallel(ql,q2)
Transfer f u n c t i o n :
+ 7 sA2 + И
2 s» s+5


+ 4 s A 3 + 7 s A 2 + 10 s + 3


12.3.5. Функция feedbackQ
Функция feedback о применяется для образования передаточ-
ной функции замкнутой системы по известным передаточным
функциям разомкнутой системы и цепи обратной связи.
Компьютерные технологии решения задач управления 289

Она имеет вид:
feedback(q, qoc, ±1)
где:
• qoc — передаточная функция цепи обратной связи;
• ±1 — указывает вид обратной связи (-1 — положительная,
+1 — отрицательная).

! Пример 12.10

Структурная схема системы управления приведена на рис. 12.11




Рис. 12.11. Структурная схема системы управления

Передаточные функции звеньев имеют вид:

G(S)
5S2
S+2
Передаточная функция цепи обратной связи образует отрица-
тельную обратную связь с коэффициентом передачи, равным 1.
Необходимо получить передаточную функцию замкнутой систе-
мы управления:




Передаточная функция G(S) определяется по выражению




ЮЗак. 1196
290 Глава 12

Из этого выражения и структурной схемы видно, что для получе-
ния передаточной функции замкнутой системы необходимо вна-
чале образовать с помощью функции tf () звенья G, (S) и G7 (S),
затем посредством функции series () образовать передаточную
функцию разомкнутой системы и после этих процедур использо-
вать функцию feedback о для образования передаточной функции
замкнутой системы.
Программа образования передаточной функции замкнутой сис-
темы управления имеет вид:

» nl=[l 1] ;
» ml=[l 2] ;
» ql=tf(nl,ml)
Transfer function:
s +1

s +2
» n2=[l];
» m2=[5 0 0];
» q2=tf(n2,m2)
Transfer function:
1



» q=series(ql,q2)
Transfer function:
s +1

5 s˜3 + 10 s A 2
» feedback(q,[1])
Transfer function:
s +1

5 s˜3 + 10 s"2 + s + 1


Решение задачи приведено на рис. 12.12.
Компьютерные технологии решения задач управления 291

«> M T A *
AL B
0е ЕЛ View Web Window Help

Щ
О ? Current Directory: |D:lMATLAB6p5\work
? ? , .. t* ° '

n l = [ l 1 ] ; m l = [ l 2 ] ; q l = t ? ( n l , ml)

Transfer function:
3+1




0 0 ] ; q 2 = t ? ( n 2 , m2

Transfer function:
1




l, q2)


Transfer function:
3+1

5 3*3 + 10 3*2

» feedback(q, [1])


Transfer function:
s+1

S s*3 + 10 3*2 + s + 1




Рис. 12.12. Образование передаточной функции системы
с жесткой отрицательной обратной связью



Пример 12.11

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

G(S) =
292 Глава 12




U(S)


Рис. 12.13. Структурная схема системы
с гибкой отрицательной обратной связью

Передаточные функции звеньев имеют вид:



Решение:
» nl=[l 1];
» ml-tl 2];
» ql=tf(nl,ml);
» n2=[l 0.5];
» m2=[l];
» q2=tf(n2,m2);
» freeback(ql,q2,-l)
Transfer function:
s +1

s A 2 + 2.5 s + 2.5


12.3.6. Функция minrealQ
Функция minreaio позволяет выполнить сокращения передаточ-
ной функции при наличии одинаковых сомножителей в числите-
ле и знаменателе. Она имеет вид:
minreal(G)
где G — передаточная функция системы.

Пример 12.12
:•"!



<<

стр. 4
(всего 5)

СОДЕРЖАНИЕ

>>