М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В...
12 downloads
256 Views
477KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н Ы Й У Н И В Е РСИ Т Е Т
О снов ы MATLAB У чебно-метод и ческоепособи епо направлени ю 010500 (510200) и специ альности 010501 (010200) «При клад ная математи каи и нф ормати ка»
В оронеж 2005
2 У тверж д ено научно-метод и чески м советом протокол № 6 от20 и юня 2005 г. ф акультетаПМ М
Состави тель К ры ж ановская Ю .А .
У чебно-метод и ческое пособи е под готовлено на каф ед ре техни ческой ки бернети ки и автомати ческого регули ровани я ф акультета при клад ной математи ки , и нф ормати ки и механи ки В оронеж ского госуд арственного уни верси тета. Рекоменд уется д ля студ ентов 4 курса д /о ф акультета При клад ной математи ки , и нф ормати ки и механи ки .
3 Д анное пособи е сод ерж и т свед ени я по и спользовани ю си стемы MATLAB и ее при менени ю д ля мод ели ровани я си стем автомати ческого управлени я . М атери ал основы вается наMATLAB верси и 6.5. Пособи еразд елено на4 части , посвя щ енны х опи сани ю базовы х возмож ностей MATLAB, созд ани ю сценари ев, и спользовани ю MATLAB д ля анали за си стем автомати ческого управлени я и и спользовани ю и нструментари я SIMULINK. К роме того, при вод я тся при меры и зад ани я д ля и нд и ви д уального вы полнени я . М атери алы опробованы при провед ени и лабораторны х заня ти й. Пособи е пред назначено д ля студ ентов 4 курса д невного отд елени я , и зучающ и м д и сци пли ну «Т еори я автомати ческого управлени я » , и мож ет бы ть и спользовано д алее при и зучени и д и сци пли н специ али заци и . С о дер ж а н и е 1. О сновны евозмож ности … … … .… … … … … … … ..… … .… … … … … … … ..4 1.1. Ч и сла, матри цы , векторы … … ..… … … … … … … … … … .… … … … … … … .… 4 1.2.Си стемы уравнени й … … .… … … … … … … … … … … … … … … … … … ..… … ...6 1.3. При мерпрограмми ровани я … … … ..… … … … … … … … … … … … … … … … ..6 1.4. Граф и кав MATLAB… … … … … … … … … … … … .… … … … … … … … … … … 6 1.4.1. 2-D граф и ка… … … … … … … … … … … … … .… … … … … .… … … .… … … … … .6 1.4.2. 3-D граф и ка.… … … … … … … … … … … … … … … … … … … … … … … … … ...… 9 2. M-ф айлы … … .… … … … … … … … … … … … … … … … … … … … … … … … … 12 2.1. Созд ани еМ -ф айлов в ви д еМ -сценари ев… … … … … … … … … … … … … … .12 2.2. Созд ани еМ -ф айлов в ви д еМ -ф ункци й … … … … … ...… … … … … … … … ...12 2.2.1. О пи сани еф орматаМ -ф ункци и … … … … … … … … … .… … … … … … … … … … .14 2.2.2. О пи сани еф орматаМ -ф ункци и … … … … … … … … … … … … … … … … … … ..… 15 3. При менени е MATLAB д ля анали за си стем автомати ческого управлени я … … … … … … … … .… … … … … … … … … … … … … … … … … … … … ..… .… … 13 3.1. Преобразовани еЛ апласав MATLAB — ф ункци я laplace … … … … … … … .13 3.2. Созд ани еперед аточны х ф ункци й— tf … … … … … … … … … … … … … … ....13 3.3. В заи мноепреобразовани еф орм перед аточны х ф ункци й … … … … … … .....14 3.4. О ценка д и нами ки объекта управлени я по зад анной перед аточной ф ункци и … … … … … … … … … … ..… … … … … … … … … … … … … … … … … … … … … … ...15 3.5. Д и нами чески еи частотны ехарактери сти ки СА У … … … … … … … … … .… 15 3.6. А нали з и си нтез СА У метод ом корневого год ограф а… … … … … … … … … 17 3.7. О пи сани еси стем в пространствесостоя ни й … … … … … … … … … … … ..… 20 3.8. У стойчи востьли нейны х си стем … … … … … … … … … … … … … … … … ..… 29 3.9. Си нтез опти мального управлени я сполной обратной свя зью … … … … … .33 4. SIMULINK … ...… … … … … … … … … … … … … … … … … … … … … … … … … 38 4.1. Н ачало работы … … … … … … … … … … … … … … … … … … … … … … … .… ..38 4.2. Созд ани емод ели … … … … … … … … … … … … … … … … … … … … … .… … ..39 4.3. Т екстовы енад пи си … … … … … … … … … … … … … … … … … … … … … … … 40 4.4. И зменени епараметров расчета… … … … … … … … … … … … … … … … … … 40 4.5. В ы полнени ерасчета… … … … … … … … … … … … … … … … … … … … … … ..40 4.6. Заверш ени еработы … … … … … … … … … … … … … … … … … … … … … … ...40 Л и тература… … … … … … … … … … .… … … … … … … … … … … … … … … … … … 40
4
1. О снов ны е в озм ож ност и MATLAB – од новременно операци онная сред а и я зы к программи ровани я , наи более си льной стороной которой я вля ется возмож ность многократного вы полнени я реали зованны х программ. О д ни м и з главны х направлени й ее и спользовани я я вля ется реш ени е зад ач математи ческой теори и автомати ческого управлени я . О собенностя ми вы полнени я и сслед овани й и расчетов в MATLAB я вля ется больш ая скоростьвы чи слени й и прозрачность технологи й. 1.1. Ч и сла, м ат ри цы , в е кт оры Д ля зад ани я матри цы a 1 2 3 4
в команд ном окнеслед уетвы полни тьслед ующ ую команд у: >> a = [ 1 2; 3 4 ]
Д ля отображ ени я матри цы след уетнапечататьееи мя : >> a
Пред усмотрено такж е вы полнени е след ующ и х операци й с матри цами и векторами : — слож ени е, вы чи тани е(+, -); — умнож ени е(*); — обращ ени е(inv); — д елени е(/); — возвед ени ев степень(^); — транспони ровани е('). — cозд ани ени ж ней треугольной матри цы А : tril(А ). — cозд ани еверхней треугольной матри цы А : triu(А ). вращ ени ематри цы А относи тельно верти кальной оси : fliplr(A). вращ ени ематри цы А относи тельно гори зонтальной оси : flipud(A). поворотматри цы А накратное900 значени е: rot90(A,k), гд еk = ±1, ±2,... множ и тель, накоторы й умнож ается угол 900. ф орми ровани еед и ни чной матри цы зад анного размераn: eye(n). ф орми ровани е ед и ни чной матри цы по размеру д анной квад ратной матри цы А : eye(size(A)). матри ца ед и ни ц д анного размера n×m: ones(n,m). Д ля созд ани я квад ратной матри цы : ones(n). матри цаед и ни ц по размеру зад анной матри цы А : ones(size(A)). матри ца нулей д анного размера n×m: zeros(n,m). Д ля созд ани я квад ратной матри цы : zeros(n). матри цанулей по размеру зад анной матри цы А : zeros(size(A)). и звлечени ед и агонали зад анной матри цы А : diag(A). вы чи слени еслед аматри цы А : trace(A). маги чески й квад ратразмераn (n>2): magic(n). созд ани ед и агональной матри цы по зад анной матри цеА : diag(diag(A)). собственны ечи слад ействи тельной и ли комплексной матри цы А : eig(A). вы д елени естроки ли столбцов матри цы : A = [1 2 3;4 5 6]; A(:,2:3) — 2-й и 3-й столбцы
5 Зад ани е матри ц по случайному равномерному закону — rand (напри мер, rand(3,4)) Зад ани е матри ц по случайному нормальному закону — randn (напри мер, randn(2,5)) Получени е помощ и д ля зад анной встроенной ф ункци и : help-пробелф ункци я . О пераци и смасси вами (перед знаком ари ф мети ческого д ействи я стави тся точка), напри мер: [1 2 3;4 5 6].^2 — возвед ени е каж д ого элемента матри цы в квад рат. Ф орми ровани е коэф ф и ци ентов характери сти ческого поли нома зад анной чи словой матри цы А : poly(A). Ф орми ровани е характери сти ческого поли нома зад анной чи словой матри цы А : poly(sym(A)). По умолчани ю незави си мой переменной поли нома я вля ется х ; незави си мая переменная поли номамож етназначаться (напри мер s): poly(sym(A),sym('s')). Ф орми ровани е коэф ф и ци ентов характери сти ческого поли нома матри цы А по еезад анны м собственны м чи слам: poly(eig(A)). Ф орми ровани е характери сти ческого поли нома по зад анны м корня м, я вля ющ и ми ся элементами вектораР : poly(P). Ф орми ровани е поли нома с коэф ф и ци ентами , я вля ющ и ми ся элементами зад анного вектора Р: poly2sym(P). Степень поли нома на ед и ни цу меньш е размерности зад анного вектораР. Размерностьматри цы А : size(A). Сумми ровани е элементов столбцов матри цы А : sum(A). Результат — строка, состоя щ ая и з суммы элементов каж д ого столбцаматри цы А . Ф орми ровани епрои звед ени я элементов столбцов матри цы А : prod(A). Ф орми ровани е матри цы с элементами и з возмож ны х перестановок элементов зад анного чи слового вектораР: perms(P). Сумми ровани еэлементов вектораР: sum(P). Результат— чи сло. Д ли навектораР: length(P). Ф орми ровани епрои звед ени я элементов вектораР: prod(P). Получени еи нф ормати вны х свед ени й о чи слах: 1. О пред елени е простого чи сла: если а - простое чи сло, то ф ункци я isprime(a) возвращ ает 1 (ед и ни цу), в проти вном случае буд ет 0 (ноль). В ели чи на зад аваемого чи сла а и меет опред еленны е ограни чени я (поря д ка д еся тков ми лли онов). 2. О пред елени е просты х чи сел и з д и апазона 2 . . . а: primes(a). В ели чи на чи сла а такж е ограни чена. Ф ункци я primes(a) возвращ ает вектор, элементы которого я вля ются просты ечи слаи з д и апазона2 . . . а. 3. О пред елени езнакзад анного чи слаа: sign(a). А ргументом ф ункци и sign могутбы тьчи сла, вы раж ени я , математи чески еф ункци и . 4. О круглени ечи слаад о бли ж айш его целого: round(a). 5. А бсолютное значени е зад анного чи сла и ли вы раж ени я — abs: abs((35)/2), abs(-2^3) 6. Разлож ени ечи слаN напросты емнож и тели : factor(N).
6 1.2. С и ст е м ы урав не ни й Рассмотри м си стему ли нейны х уравнени й: ax + by = p cx + dy = q
Е емож но запи сатькакAX = B, гд екоэф ф и ци енты матри цы А : ab cd
В ектор В в правой части : p q
Е сли матри цаА обрати ма, то X = (1/A)B, и ли , и спользуя нотаци ю MATLAB, X = A\B.
Д ля реш ени я си стемы , зад аваемой матри цей а, при вед енной вы ш е, и вектором b = [ 1; 0 ] , след уетвы полни тьслед ующ ее: >> a = [ 1 2; 3 4 ] >> b = [ 1; 0 ] >> a\b
О тмети м, что b в д анном случае– вектор-столбец. 1.3. При м е р програм м и ров ани я Пустьзад аны матри цаa: 0.8 0.1 0.2 0.9
и вектор-столбец x: 1 0
Буд ем счи тать, что x пред ставля ет собой населени е город а. Первая строка (1) зад ает д олю общ его населени я в запад ной части город а, вторая – в восточной полови не. Прави ло x = ax зад ает и зменени е д оли населени я с течени ем времени . М атри цааобозначает, что населени езапад ной части остается в ней с вероя тностью 0.8 и перемещ ается в восточную часть с вероя тностью 0.2, аналоги чно д ля восточной части город а, населени е остается в ней с вероя тностью 0.9 и перемещ ается в запад ную частьс вероя тностью 0.1. Т аки м образом, распред елени е населени я по частя м город а мож ет бы ть пред сказано/вы чи слено на зад анны й пери од путем вы полнени я след ующ и х д ействи й: >> a = [ 0.8 0.1; 0.2 0.9 ] >> x = [ 1; 0 ] >> for i = 1:20, x = a*x, end
Зам е чани е : в д анном случае бы л рассмотрен при мер ци кла for. А налоги чно могутбы тьи спользованы ци клы д руги х ти пов. 1.4.
Граф и ка в MATLAB
1.4.1. 2-D граф и ка
Д ля построени я д вумерны х граф и ков и спользуются команд ы plot (в д екартовой си стемекоорд и нат), fplot и ли polar (в поля рной си стемекоорд и нат). При мер 1. Д ля построени я граф и каф ункци и y = sin(t) наи нтервалеотt = 0 д о t = 10 вы полни теслед ующ ее: >> t = 0:.3:10; >> y = sin(t); >> plot(t,y)
7 Результатпред ставлен наРи с. 1. К оманд аt = 0:.3:10; опред еля етвектор скомпонентами , меня ющ и ми ся от0 д о 10 с ш агом 0.3. В торая команд а (y = sin(t);) опред еля ет вектор, чьи ми компонентами я вля ются sin(0), sin(0.3), sin(0.6), … . И , наконец, plot(t,y) и спользует значени я векторов t и y д ля построени я граф и ка.
Ри с. 1. Д ля прори совки ли ни й сетки послекоманд ы plot след уетчерез запя тую указать команд у grid. Граф и кв поля рной си стемекоорд и натстрои тся аналоги чны м образом: t=0:0.01:2*pi; y=3*(1+sin(t)); polar(t,y)
Д ля совмещ ени я граф и ков в од ной си стеме коорд и нат и спользуется ф ункци я hold on, напри мер: t=0:0.01:2*pi;y1=3*(1+sin(t));y2=3*(1-sin(t)); polar(t,y1),hold on,polar(t,y2,'r')
Д ля совмещ ени я трех и более граф и ков с помощ ью ф ункци и hold on второй, трети й, … граф и ки указы ваются через запя тую, напри мер: t=0:0.01:2*pi;y1=3*(1+sin(t));y2=3*(1-sin(t)); y3=3*(1+cos(t)); y4=3*(1-cos(t)); polar(t,y1),hold on,polar(t,y2,'r'),polar(t,y3,'g'),polar(t,y4,'k')
Д ля построени я граф и ков зад анны х ф ункци й мож ет бы ть и спользована команд аfplot:
% Г р афик фу н к ции sin(t) ил и sin(x) и т .д . в пр ед ел ах по ар гу м ен т у от − 3π д о + 3π : » fplot('sin(t)',[-3*pi 3*pi]),grid % Набор в рабочей строке MATLAB
% Г р афик фу н к ции sin(t) в пр ед ел ах по t от − 3π д о + 3π с огр ан ич ен ием от -0.7 д о 0.7 » fplot('sin(t)',[-3*pi,3*pi,-0.7,0.7]),grid % С ов м ещ ен ие н еск ол ьк их гр афик ов : sin(t), exp(-0.5t), 3cos(t) » fplot('[sin(t),exp(-0.5*t),3*cos(t)]',[-1,10,-4 5]),grid
8 Граф и ки такж е могутсопровож д аться поя снени я ми с помощ ью ф ункци и gtext, title, xlabel, ylabel, напри мер: t=0:0.01:2*pi;y=sin(t);plot(t,y),grid,gtext('t'),gtext('y') % т р ебу ем ые сим в ол ы (t и y) у ст ан ав л ив ают ся в позиции к у р сор а м ыш и. t=0:0.01:2*pi;y=sin(t); plot(t,y),grid,title('Синусоида'),xlabel('радианы'), ylabel('функция'),gtext('t'),gtext('y') » fplot('[sin(t),3*cos(t)]',[-1,10,-4 ,5]),grid,title('y_1-sin(t), y_2-3cos(t)'),gtext('y_1'),gtext('y_2') % т р ебу ем ые сим в ол ы н а гр афик е у ст ан ав л ив ают ся в позиции к у р сор а м ыш и.
Е сли несколько граф и ков совмещ ены , то д ля размещ ени я поя снени й мож но и спользовать ф ункци ю legend, при чем я рлы к мож ет бы ть установлен в разли чны частя х граф и ка: t=0:0.01:2*pi;y1=sin(t);y2=cos(t); plot(t,y1,'r'),grid,hold on,plot(t,y2), legend('s1','c2') % у ст ан ов к а яр л ык а по у м ол ч ан ию %в л ев ом в ер хн ем у гл у : legend('s1','c2', 2); %в л ев ом н ижн ем у гл у : legend('s1','c2', 3); %в пр ав ом н ижн ем у гл у : legend('s1','c2', 4); %в пр ав ом в ер хн ем у гл у : legend('s1','c2', 1); %в н е р абоч ей обл аст и гр афик а: legend('s1','c2', -1);
У становкад ля граф и ков цветов осущ ествля ется в соответстви и со след ующ и ми ключевы ми обозначени я ми , при вед енны ми в Т абли це1.: Т абли ца1. О бозначени ецвета Y M C R G B W K
Ц вет(по-англи йски ) yellow magenta cyan red green blue white black
Ц вет(по-русски ) Ж елты й светло-ф и олетовы й светло-зелёны й К расны й Зелёны й голубой (си ни й) Белы й Ч ерны й
Д ля начертани я граф и ков разли чны ми си мволами и спользуются ключевы е си мволы , при вед енны ев Т абли це2. Т абли ца2. О бозначени еси мвола 1 • (обы чная точка) O X * S D V ^ < > P
А нгли йскоеназвани е 2 point
Русскоеназвани е 3 Т очка
circle x-mark star suare diamond triangle (down) triangle (up) triangle (left) triangle (right) pentagram
О круж ность К рести к Звезд очка К вад рати ки А лмаз треугольни к(вни з) треугольни к(вверх) треугольни к(левы й) треугольни к(правы й) пя ти конечная звезд очка
9 H : -. --
hexagram solid dotted dashdot dashed
ш ести конечная звезд очка непреры вная ли ни я пункри рная ли ни я (:) ш три х-пункти рная ли ни я разры вная ли ни я
Д ля построени я граф и ков такж е мож ет бы ть и спользован и нтеракти вны й граф и чески й калькуля тор — funtool. Д ля этого в команд ной строкеMATLAB нуж но набратьф ункци ю funtool и запусти тьнавы полнени е(Enter). 1.4.2. 3-D граф и ка
Д ля построени я трехмерны х граф и ков и спользуется ф ункци я plot3, которая в некотором смы сле я вля ется аналогом ф ункци и plot. С помощ ью plot3 ф орми руется построени ели ни и в трехмерном пространстве по зад анны м трем векторам. Н апри мер, д ля построени я пространственной спи рали вы полни те след ующ ее: » t=0:0.05:9*pi; x=2*sin(t);y=cos(t);% t, x, y — вектора одинакового размера » plot3(x,y,t,'r*'),grid, » xlabel('ось X'),ylabel('ось Y'),zlabel('ось Z-t') » title('Пространственная спираль')
Зам е чани е . Поя снени я кграф и ку спомощ ью ф ункци й gtext д ля 3D-граф и ки непри меня ются . Д ля ф орми ровани я пря моугольной сетки на плоскости пред назначена команд а meshgrid. » [x,y]=meshgrid(-5:0.5:5,-5:0.5:5); » plot(x,y),xlabel('X'),ylabel('Y') % Р езу л ьт ат ом д ейст в ия фу н к ции meshgrid яв л яет ся фор м ир ов ан ие "осн ов ан ия" в пл оск ост и XOY % д л я пост р оен ия н ад эт им осн ов ан ием пр ост р ан ст в ен н ой фигу р ы.
Д ля построени я граф и ков пространственны х сетчаты х ф и гур и спользуется команд аmesh. Под робно команд ы работы сграф и кой опи саны в [1,5]. При мер2. Построени еграф и каф ункци и д вух переменны х. Построи м граф и кф ункци и z(x,y) = x exp( - x^2 - y^2): >> [x,y] = meshdom(-2:.2:2, -2:.2:2); >> z = x .* exp(-x.^2 - y.^2); >> mesh(z)
Первая команд а созд ает матри цу, чьи элементы я вля ются точками реш етки с ш агом 0.2 по верти кали и гори зонтали в квад рате -2<=x<=2, -2<=y<=2. В торая команд а зад ает матри цу, элементы которой пред ставля ют собой значени я ф ункци и z(x,y) в узлах реш етки . Послед ня я команд а и спользует эту и нф ормаци ю д ля построени я граф и ка. Результатпред ставлен наРи с.2.
10
Ри с.2. Задани я. 1. В ы полни тьря д матри чны х операци й. 2. Просумми роватьэлементы 3 строки зад анной матри цы , 2 столбца. 3. Сф орми роватьхарактери сти чески й польном зад анной матри цы . 4. Реш и тьси стему ли нейны х уравнени й. 5. О пред ели тьразмерностьзад анной матри цы , столбца. 6. Сф орми роватьпрои звед ени я элементов столбцов матри цы . 7. Построи тьграф и кзад анной ф ункци и назад анном и нтервалев поля рной и д екартовой си стеме коорд и нат с и спользовани ем разли чны х ти пов поя снени й. 8. Построи ть с помощ ью fplot граф и ки след ующ и х ф ункци й и и х комби наци й с соответствующ и ми областя ми опред елени я : lg ( x ), log 2 ( x ), tn( x ), ctg ( x ), arcsin( x ), arccos( x ),
x2 − x x3 + 2 x 2 + x
9. В ы полни тьпостроени я граф и ков с помощ ью fplot разны ми цветами и си мволами . 10. Самостоя тельно прод елать возмож ны е построени я и вы чи слени я с и спользовани ем funtool: граф и ки станд артны х ф ункци й, д и ф ф еренци ровани е и и нтегри ровани е ф ункци ональны х вы раж ени й, обращ ени еф ункци й, слож ени ед вух ф ункци й и т.д . 11. Сравни тьрезультаты при менени я plot3(x,y,Z),grid и mesh(Z). 12. Построи тьграф и кф ункци и д вух переменны х.
11 13. Построи ть пространственную спи раль, д обави ть поя снени е (legend), смени тьцвет и си мволы граф и ка, установи тьновы й д и апазон и зменени я t, поменя тьместами x, y и t в plot3. 14. В ли тературе найти способ построени я сплош ны х пространственны х ф и гур и вы полни тьпостроени е. 15. Построи тьсф еру разли чны ми способами .
2. M-ф айлы По опред елени ю ф айлы , которы е сод ерж ат в себе я зы ковы е код ы си стемы MATLAB, назы ваются М -ф айлами . 2.1. С оздани е М -ф айлов в в и де М -сце нари е в М -сценари и пред ставля ют собой послед овательность д ействи й и ли запи сь вы чи сли тельны х алгори тмов, которы е затем оф ормля ются си стемой MATLAB в ви д еm-ф айлов (срасш и рени ем m) [5]. Т екстМ -сценари я мож етбы тьнапи сан в любом текстовом ред акторе (текстовы й д окумент) и затем перенесен в си стему MATLAB, гд ед олж ен бы тьсохранен в окнеред акторакакm-ф айл. При мер3. 1. Созд атьв команд ном окне MATLAB матри цу: а = [1 2 3;4 5 6] и ли а = [1,2,3;4,5,6]; '
2. Т ранспони роватьматри цу а: а1 = а ; 3. Созд атьматри цу b = [10 20 30;40 50 60]; 4. Перемнож и тьматри цы а1 и b: с = а1*b; 5. Н а экране созд ать над пи сь 'Перемнож ени е матри ц а1 и b:' с помощ ью disp('Перемнож ени ематри ц а1 и b: '); 6. В ы вести результатперемнож ени я , набрав в команд ной строкеобозначени ес и наж ав клави ш у Enter; 7. Ч тобы не бы ло вы вод а промеж уточны х результатов, то в конце каж д ой строки (команд ы ) след уетстави тьточку сзапя той ; . 8. Прод елатьпред ы д ущ и епункты команд сточкой сзапя той и без. 9. Пункты 1-6 запи сатьв М -ф айле. Д ля этого в команд ной строке набрать
edit. К ак только откроется окно текстового ред актора, повтори ть набор команд пп. 1-6 и сохрани тьпод каки м-ли бо и менем (напри мер, Lab1). Т ем самы м созд али М - сценари й. 10. В ы йти и з ред акторав команд ноеокно MATLAB. 11. Запусти тьна вы полнени е созд анны й М - сценари й. Д ля этого в акти вной команд ной строкенабратьи мя М - сценари я и наж атьклави ш у Enter; 12. Д ля возвращ ени я в ред актор с целью ред акти ровани я созд анного М - ф айла в команд ной строке набрать edit и через пробел и мя ж елаемого ф айла (напри мер, Lab1).
12 13. В М - ф айле мож но запи сы ватькомментари и . О ни созд аются с помощ ью знака %. Т .е. после знака % мож но пи сать как на русском, так и на англи йском и т.д . В се, что наход и тся за знаком %, я вля ется невы полня емы ми д ействи я ми , д аж е если там буд ут запи саны станд артны е команд ы MATLAB. Задани е : Созд атьМ - сценари и д ля вы полнени я зад ани й пред ы д ущ ей части 2.2. С оздани е М -ф айлов в в и де М -ф ункци й М -ф айлы могут бы тьф ункци ональны ми (М -ф ункци я ми ), если они сод ерж ат аргументы (вход ны е переменны е) и созд ают вы ход ны е д анны е. М -ф айлы обеспечи вают расш и ря емостьсред ы MATLAB, позволя ют д обавля тьновы е встроенны е ф ункци и к уж е сущ ествующ и м ф ункци я м MATLAB. М - ф айлы ти па М -ф ункци й пред ставля ют собой, каки М -сценари и , обы чны е текстовы е ф айлы , созд аваемы е с помощ ью ред актора ф айлов. Н апи сани е М -ф ункци и начи нается сключевого словаfunction. 2.2.1. Ф орматзаголовкаМ - ф ункци и : function [список выходных переменных] = <имя функции>(<список входных переменных>); % список выходных переменных может быть условным, т.е просто символ. % Сохранение М-файла как М-функции должно быть с именем, которое указывается в поле заголовка М-функции.
При мер 4. Созд ани еМ -ф ункци и . Созд атьМ -ф айл д ля вы чи слени я вы раж ени я : c = a 2 + b 2 , гд е a , b — чи слаи ли матри цы од и наковой размерности . В текстовом ред акторе MATLAB созд аем след ующ и й М -ф айл в ви д е М ф ункци и : function c = fun1(a, b) c = sqrt(a.^2 + b.^2); % Применение точки означает массивное возведение в квадрат. % Созданную М-функцию сохраним под именем fun1? которому редактор MATLAB добавит расширение ".m". % Обращение к функции fun1 может быть выполнено или в командном окне или в М-сценарии.
Д ля этого при мера сначалав команд ном окневы полни м след ующ и ед ействи я : >> fun1(3,4) % в качестве аргументов выбраны значения a=3, b=4 >> ans= 5 % результат выполнения М-функции fun1 с входными аргументами 3 и 4 >> % другой способ использования созданной функции fun1: >> a=3; b=4; >>fun1(a,b) ans= 5 >> % с присвоением результата, например, через z1 >>z1=fun1(a,b) z1= 5
2.2.2. О пи сани еф орматаМ -ф ункци и .
— ли ни я и ли строкаопред елени я ф ункци и , напри мер: function s1=sum1(n,k); (зад ает ключевое слово function , вы ход ны е аргумены s1 , и мя ф ункци и sum1 , вход ны еаргументы ссоответствующ и м поря д ком след овани я . — строкаи ли строки комментари ев (послезнака%)
13 — т е лоф ункци и , котороесод ерж и твсевы чи слени я В се ф ункци и си стемы MATLAB и меют строку опред елени я ф ункци и и собственно тело ф ункци и . И мя ф ункци и мож ет сод ерж атьсвы ш е 30 знаков, при чем первы й знакд олж ен бы тьбуквой. Задани е . Созд атьM-ф ункци ю д ля вы полнени я зад ани й части 1.
3.
При м е не ни е MATLAB для анали за си ст е м ав т ом ат и че ского управ ле ни я
3.1. Пре образов ани е Лапласа в MATLAB — ф ункци я laplace >> syms x y t; % задание символьных переменных >> f1 = t; % зададим функцию-оригинал; >> L1 = laplace(f1) % определение изображения по Лапласу от линейной функции; >> f2 = sym('10'); % функцию f2 = 10 выражаем в символьном виде; >> L2 = laplace(f2) % определение изображения от постоянной; >> f3 = sym('3')*t + sym('7'); % оригинал линейной функции; >> L3 = laplace(f3) % изображение линейной функции; >> f4 = exp(-t); % оригинал экспоненциальной функции (со знаком минус); >> L4 = laplace(f4) % изображение экспоненциальной функции ; >> f5 = exp(t); % оригинал экспоненциальной функции (со знаком плюс); >> L5 = laplace(f5) % изображение экспоненциальной функции ; >> L6 = laplace(exp(t)) >> f6 = sin(x); >> L6 = laplace(f6) % изображение тригонометрической функции sin(x); >> L7 = laplace(cos(x)) % изображение тригонометрической функции cos(x);
3.2. С оздани е пе ре дат очны х ф ункци й— tf % См. help tf;
При мер5. Сф орми руем след ующ ую перед аточную ф ункци ю W1: 12 . W1 = s 3 + 2 s 2 + 3s + 1
Д ля этого в команд ной строкеMATLAB наби раем (и ли созд аем М -сценари й): >> W1=tf(12,[1 2 3 1]) % Результат возвращается в виде: Transfer function: 12 --------------------s^3 + 2 s^2 + 3 s + 1
Ф орми ровани еперед аточны х ф ункци й сразлож ени ем намнож и тели чи сли теля и знаменателя с зад анны м коэф ф и ци ентом перед ачи осущ ествля ется с помощ ью команд ы zpk (zero-pole-gain), си мвол k отображ ает gain. (нули перед аточной ф ункци и — это корни чи сли теля , полюса — корни знаменателя ) При мер 6. Сф орми руем перед аточную ф ункци ю со стати чески м коэф ф и ци ентом, равны м 7.7, и с полюсами s1 = −3.3 , s2 = −0.25 , s3 = −12.7 . Н азовем ееперед аточной ф ункци ей свы д еленны ми нуля ми и полюсами . В команд ной строкеMATLAB наби раем: >> W3=zpk([],[-3.3,-0.25,-12.7],7.7) % Результат возвращается в виде: Zero/pole/gain: 7.7 ------------------------(s+3.3) (s+12.7) (s+0.25) % Символ [] означает, что в числителе передаточной функции характеристический полином %нулевой
14 При мер 7. Сф орми руем перед аточную ф ункци ю со стати чески м коэф ф и ци ентом, равны м 7.7, с полюсами s1 = −3.3 , s2 = −0.25 , s3 = −12.7 и с нуля ми S1 = −5 , S2 = +4 . В команд ной строкеMATLAB наби раем: >> W4=zpk([4,-5],[-3.3,-0.25,-12.7],7.7) % Результат возвращается в виде: Zero/pole/gain: 7.7 (s-4) (s+5) ------------------------(s+3.3) (s+12.7) (s+0.25)
3.3. Взаи м ное пре образов ани е ф орм пе редат о чны х ф ункци й Преобразуем полученную перед аточную ф ункци ю W4 в раци ональную ф орму: % В командной строке MATLAB набираем: » w44=tf(W4) % Результат возвращается в виде: Transfer function: 7.7 s^2 + 7.7 s - 154 --------------------------------s^3 + 16.25 s^2 + 45.91 s + 10.48
Преобразуем раци ональную перед аточную ф ункци ю в ф орму с вы д еленны ми нуля ми и полюсами : % В командной строке MATLAB сформируем простую передаточную функцию вида:
W5 =
10 2
s + 3s + 2 . W5=tf(10,[1,3,2]) % Результат возвращается в виде: Transfer function: 10 ------------s^2 + 3 s + 2 % Полученная передаточная функция соответствует описанию объекта, состоящего из двух последовательно соединенных инерционных звеньев с результирующим коэффициентом
T = 1 , T2 = 2 . передачи, равным 10, и постоянными времени 1 % Передаточная функция с выделенными нулями и полюсами w55: w55=zpk(W5) % Формат преобразования % Результат преобразования Zero/pole/gain: 10 --------(s+2)(s+1)
% Преобразуем раци ональную перед аточную ф ункци ю W2 в ф орму с вы д еленны ми нуля ми и полюсами : w22=zpk(W2) % Формат преобразования % Результат преобразования Zero/pole/gain: 3 (s^2 + 1.667s + 1.333) -------------------------------(s+0.4302) (s^2 + 1.57s + 2.325)
3.4. О це нка ди нам и ки объе кт а управ ле ни я по заданной пе ре дат о чно й ф ункци и Д и нами ка объекта управлени я опред еля ется знаменателем перед аточной ф ункци и , точнее корня ми характери сти ческого уравнени я , составленного и з знаменателя . Е сли корни характери сти ческого уравнени я "левы е", то
15 соответствующ и й переход ны й процесс буд ет установи вш и мся , если ж е корни "правы е", то переход ны й процесс буд ет неустанови вш и мся , т.е. стреми ться к бесконечности (по вы ход ной коорд и нате объекта и ли по всем возмож ны м коорд и натам). Д ля расчета корней характери сти ческого уравнени я мож но и спользовать ф ункци ю eig. При мер 8. О пред ели м корни характери сти ческого уравнени я д ля объекта с перед аточной ф ункци ей W5 и w55. » eig(W5) % W5 — рациональная передаточная функция ans = -2 -1 » eig(w55) % w55 — передаточная функция с выделенными нулями и полюсами ans = -2 -1 % Результат получен один и тот же. Форма w55 позволяет сразу определить корни, если % они простые
3.5. Д и нам и че ски е и част отны е х аракт е ри ст и ки С А У [6] Переход ны ехарактери сти ки — step. О пред елени е. Переход ной характери сти кой (ф ункци ей) объекта (си стемы ) управлени я назы вается его реакци я во времени при возд ействи и на него ед и ни чной ф ункци и (ед и ни чного скачка) при нулевы х начальны х услови я х. %Форматы записи step рассмотрим на примерах с передаточными функциями. W1=tf(12,[1 2 3 1]); % Рациональная передаточная функция » step(W1),grid % С автоматическим установлением временного интервала » step(W1,25),grid % С задаваемым установлением временного интервала от 0 до 25 » Z=zpk([],[-1 -2],4); % Функция с выделенными нулями и полюсами » step(Z),grid % С автоматическим установлением временного интервала » step(Z,13),grid % С задаваемым временным интервалом от 0 до 13 » step(Z,13,'r*'),grid,hold on,step(W1,'g*')% Совмещение двух графиков— 1сп. » step(Z,13,'r*',W1,'g*'),grid % Совмещение двух графиков — 2-й способ
И мпульсны ехарактери сти ки — impulse. Опр ед ел ен ие. И мпульсной характери сти кой (ф ункци ей) си стемы назы вается реакци я си стемы во времени при возд ействи и на нее ф ункци и δ(t) Д и рака (с бесконечно больш ой ампли туд ой и бесконечной малой д ли тельности ). %Форматы записи impulse рассмотрим на примерах с передаточными функциями. W1=tf(12,[1 2 3 1]); % Рациональная передаточная функция » impulse(W1),grid % С автоматическим установлением временного интервала » impulse(W1,25),grid % С задаваемым установлением временного интервала от 0 до 25 » Z=zpk([],[-1 -2],4); % Функция с выделенными нулями и полюсами » impulse(Z),grid % С автоматическим установлением временного интервала » impulse(Z,13),grid % С задаваемым временным интервалом от 0 до 13 » impulse(Z,13,'r*'),grid,hold on,step(W1,'g*')% Совмещение графиков— 1сп. » impulse(Z,13,'r*',W1,'g*'),grid % Совмещение графиков — 2-й способ
При мер8. Пустьзад анаперед аточная ф ункци я СА У .
Н айд ем ее д и нами чески е и частотны е характери сти ки (в команд ном окне MATLAB. 1. Созд ад и м LTI-объектси менем w, д ля этого вы полни м:
16
2. Н айд ем полюсаи нули перед аточной ф ункци и си спользовани ем команд pole, zero.
3. Построи м переход ную ф ункци ю команд ой step(w). 4. Построи м и мпульсную переход ную ф ункци ю команд ой impulse(w). 5. Д и аграмму Бод еполучи м, и спользуя команд у bode(w). 6. О пред ели м частотны й год ограф Н айкви ста, вы полни в команд у nyquist(w).
А налоги чны е результаты мож но получи ть, и спользуя команд у ltiview(w), с соответствующ и ми настройками в меню “Plot Configuration”. К аж д ая и з построенны х характери сти к полностью и од нозначно опред еля ет рассматри ваемую си стему управлени я . Задани е - вы полни тьперечи сленны ед ействи я сод ни м и з вари антов: №
1.
2.
В и д перед аточной ф ункци и
№
К о эф ф иц ие нты п о лино м о в b0
b1
a0
a1
a2
a3
а4
1.
0
3
1
2
3
0
1
2.
2
6
4
0
1
5
1
3.
0
-3
5
2
0
2
1
4.
4
2
3
4
5
3
1
5.
0
1
-2
-2
-3
-2
0
b0
b1
b2
a0
a1
a2
а3
1.
0
-3
2
4
2
3
9
2.
8
0
-3
-4
-6
-4
-1
3.
-4
6
-2
5
5
0
1
4.
6
-8
-7
0
-6
-3
-1
5.
2
-1
-3
-1
0
-7
-2
b0
b1
b2
a0
a1
a3
a4
17 3.
4.
5.
1.
0
2
8
-3
7
-7
1
2.
-5
0
3
-8
-2
-1
-6
3.
-7
1
2
0
5
2
9
4.
-6
4
-4
1
0
6
3
5.
2
-2
-1
5
3
0
9
1.
0
-5
4
3
7
9
1
2.
7
-6
0
5
8
2
2
3.
-2
-8
2
0
4
3
3
4.
-7
-1
6
9
0
4
2
5.
-3
7
-4
4
5
0
1
b2
b3
a0
a1
a2
a3
a4
1.
0
-5
4
3
7
9
1
2.
7
-6
0
5
8
2
2
3.
-2
-8
2
0
4
3
3
4.
-7
-1
6
9
0
4
2
5.
-3
7
-4
4
5
0
1
3.6. А нали з и си нт е з С А У м е т о до м корне в огогодограф а При менени е метод а корневого год ограф а (К Г) обусловлено ф унд аментальной зави си мостью повед ени я ли нейной СА У от полюсов и нулей ее перед аточной ф ункци и . Полож ени е полюсов перед аточной ф ункци и на комплексной плоскости опред еля ет устойчи вость СА У , а в совокупности с нуля ми ви д и мпульсной переход ной ф ункци и w(t) и переход ной ф ункци и h(t). М етод корневого год ограф а позволя ет наход и тьполюса и нули перед аточной ф ункци и замкнутой си стемы , располагая полюсами и нуля ми разомкнутой си стемы при и зменени и коэф ф и ци ента уси лени я разомкнутой си стемы k. М етод корневого год ограф а я вля ется такж е метод ом проекти ровани я пропорци онального устойчи вого регуля тора. При мер 9. Н еобход и мо и сслед оватьСА У сперед аточной ф ункци я разомкнутой си стемы : . 1. Созд ад и м ZPK-объект, найд ем полюсаи нули разомкнутой си стемы :
18
2. Запусти м SISO-Design Tool с помощ ью команд ы sisotool и ли вы бором соответствующ его пункта в окне “Launch Pad”. Затем необход и мо вы братьв меню View пункт Root Locus (корневой год ограф ), д ля отображ ени я ред актора Root Locus Editor. В правом верхнем углу SISO-Design Tool мож но меня тьти п обратной свя зи (кнопка “+/–” ) и структурную схему СА У . В лабораторной работе пред полагается нали чи е отри цательной обратной свя зи . Затем осущ естви м настройку параметров и и мпорти руем ZPK-объект и з рабочего пространства MATLAB (Ри с. 3.). Д ля загрузки д анны х и з рабочего пространства необход и мо и спользовать меню “File/Import”, в результате которой поя вля ется д и алог Import System Data. Н еобход и мо, чтобы в результате и мпорти ровани я д анны х получи ласьрассматри ваемая схема СА У . И спользуя Root Locus Editor (в этом окне буд ет построен корневой год ограф ) и значени е коэф ф и ци ента уси лени я (зд есьC – Current Compensator), след ует вы полни ть послед ующ и е пункты д анной работы . И зменени е д и нами чески х и частотны х характери сти к замкнутой си стемы при и зменени и K мож но прослед и ть , и спользуя меню “Tools/Loop Responses”. 3. Захвати в “мы ш ью”, перед ви гатькрасны й курсор по корневому год ограф у д о пересечени я ветвей с мни мой осью, опред ели тьзначени е Kкр. Перед ви ж ени е курсора прои сход и т такж е при ввод е значени я коэф ф и ци ента уси лени я C в соответствующ ееполеввод ав верхней части GUI-и нтерф ейса.
19
Ри с. 3. Д ля рассматри ваемого случая K ≈3. Значени е ωкр соответствует мни мой коорд и нате пересечени я К Г мни мой оси . Просмотретьэто значени е мож но в ни ж ней части и нтерф ейсаи ли вы брав меню пункт“View/Closed-Loop Poles”. 4. Зад ад и м значени я 0.5Kкр и 0.25Kкр и опред ели м значени я полюсов. 5. Н апри мер, д ля значени я 0.5Kкр построи м ви д переход ной ф ункци и замкнутой си стемы . Д ля этого необход и мо вы брать в меню пункт “Tools/Loop Responses/Closed-Loop Step”. По результатам построени я переход ной ф ункци и мож но сд елатьвы вод о том, что си стема устойчи ва. М еня я значени я C, мож но уви д еть в соответствующ ее и зменени е переход ной ф ункци и и ли д руги х характери сти к си стемы в д и нами ке. При и зменени и С прои сход и т автомати ческоеобновлени евы бранны х характери сти кзамкнутой си стемы . Задани е : и ссле дов ат ь о дну и з си ст е м с заданны м и парам ет рам и кр
№
В и д перед аточной ф ункци и
№
Значени я Ti [c]
Wp(s) 1.
2.
В арианты п арам е тро в
1.
T1 = 0.5, T2 = 0.1
2.
T1 = 0.1, T2 = 0.01
3.
T1 = 0.1, T2 = 0.9
4.
T1 = 0.01, T2 = 0.1
5.
T1 = 0.15, T2 = 0.2
1.
T = 0.1, ζ = 1
2.
T = 0.05, ζ = 0.707
20
3.
4.
5.
3.
T = 0.03, ζ = 0.1
4.
T = 0.08, ζ = 0.5
5.
T = 0.01, ζ = 0.15
1.
T1 = 0.03, T2 = 0.5, T3 = 0.1, T4 = 0.05
2.
T1 = 0.05, T2 = 0.4, T3 = 0.08, T4 = 0.033
3.
T1 = 0.2, T2 = 0.45, T3 = 0.1, T4 = 0.05
4.
T1 = 0.5, T2 = 0.25, T3 = 0.1, T4 = 0.02
5.
T1 = 0.1, T2 = 0.25, T3 = 0.1, T4 = 0.05
1.
T1 = 0.2, T2 = 0.1, T3 = 0.05, T4 = 0.07, ζ = 0.5
2.
T1 = 0.07, T2 = 0.1, T3 = 0.05, T4 = 0.07, ζ = 0.5
3.
T1 = 0.3, T2 = 0.1, T3 = 0.05, T4 = 0.07, ζ = 0.5
4.
T1 = 0.01, T2 = 0.1, T3 = 0.1, T4 = 0.07, ζ = 0.5
5.
T1 = 0, T2 = 0.1, T3 = 0.1, T4 = 0.07, ζ = 0.5
1.
T1 = 0.05, ζ 1 = 0.3, T2 = 0.1, ζ 2 = 0.3, T3 =T4 = 0.01
2.
T1 = 0.05, ζ1 = 0.3, T2 = 0.1, ζ 2 = 0.3, T3 =T4 = 0.05
3.
T1 = 0.05, ζ 1 = 0.707, T2 = 0.07, ζ 2 = 0.3, T3 =T4 = 0.1
4.
T1 = 0.05, ζ 1 = 0.707, T2 = 0.07, ζ 2 = 0.3, T3 =T4 = 0.05
5.
T1 = 0.05, ζ 1 = 0.3, T2 = 0.05, ζ 2 = 0.3, T3 =T4 = 0.1
3.7. О пи сани е си ст е м в про ст ранст в е сост ояни й[6,7] М етод пространства состоя ни й (метод переменны х состоя ни я ) основан на поня ти и "состоя ни е си стемы ". Состоя ни е д и нами ческой си стемы опи сы вается совокупностью ф и зи чески х переменны х xi(t), ..., xn(t), характери зующ и х повед ени е си стемы в буд ущ ем при услови и , если и звестно состоя ни е в и сход ны й моментвремени и при лож енны екси стемевозд ействи я .
21 В Control System Toolbox и меется ти п д анны х, опред еля ющ и х д и нами ческую си стему в пространстве состоя ни й. Си нтакси с команд ы , созд ающ и й непреры вную LTI (Linear Time Invariant)-си стему в ви д е ss-объекта c од ни м вход ом и од ни м вы ход ом SS(A, B, C, D). В эту ф ункци ю в качестве параметров перед аются матри цы уравнени й состоя ни й и вы ход ов ви д а М атри цу д и нами ки D буд ем счи татьв д анном случаенулевой. Д ля вы полнени я работы могутпри меня ться команд ы (Т абли ца3.). Т абли ца3. Си нтакси с
О пи сани е
ctrb(LTI-объект>) ctrb(A, B)
Ф орми ровани ематри цы управля емости
obsv() obsv(A, C)
Ф орми ровани ематри цы наблюд аемости
parallel(,)
Параллельноесоед и нени е
series(,)
Послед овательноесоед и нени е
feedback(,)
Соед и нени еобратной свя зью
append( , … , )
О бъед и нени еси стем
connect(<sys>,,,)
У становлени есвя зей в соед и нени и
Д ля получени я результатов вы чи слени я матри ц, результи рующ ей си стемы , по структурной схеме, воспользуемся послед ни ми д вумя команд ами . Ф ункци я append созд ает объект sys, пред ставля ющ и й собой объед и нени е всех под си стем. При этом первы й вход ной си гнал первой си стемы станови тся вход ом номер 1, второй вход ной си гнал первой си стемы – номер 2 и т.д ., д алее и д утвход ы второй си стемы и т.д .; аналоги чно опред еля ются и вы ход ы . В ф ункци и connect – параметр опред еля ет матри цу свя зей по структурной схеме. М атри ца ф орми руется по след ующ ему прави лу: каж д ая строка пред ставля ет собой од и н вход си стемы sys, первы й элемент – номер вход а (в соответстви и с поря д ком в команд е append), затем и д ут номера вы ход ов, которы е сумми руются и под аются на рассматри ваемы й вход . Параметры , – строки и з номеров вход ов и вы ход ов соед и нени я , я вля ющ и еся внеш ни ми . Н апри мер, д ля послед овательного соед и нени я д вух си стем: sys1= ss(A1, B1, C1, D1) sys2= ss(A2, B2, C2, D2) sys=append (sys1, sys2) sysc=connect(sys, [2 1], [1], [2])
В этом случаенавход второй си стемы (общ и й вход номер 2), поступаетвы ход первой (общ и й вы ход номер 1); вход первой си стемы (номер од и н) и вы ход второй си стемы (номерд ва) я вля ются внеш ни ми .
22 При мер10. Д аны три ли нейны естаци онарны еси стемы :
1.
; 2.
;
; 3.
и и меется структурная схемасоед и нени я си стем:
1. При вед ем си стему 3 кд ругому ви д у, д ля чего введ ем переменны е ;
и , под ставля я и х в и сход ны еуравнени я , получи м –
;
;
.
2. Созд ад и м матри цы первой си стемы –
Созд авая аналоги чно матри цы д вух д руги х си стем, созд ад и м ss-объекты :
23
24
3. И сслед уем наблюд аемостьи управля емостькаж д ой си стемы , д ля чего построи м соответствующ и ематри цы и посчи таем и х ранги –
В и д но, что во всех случая х ранги матри ц управля емости и наблюд аемости совпад аютсразмерностя ми пространствасостоя ни й. 4. Получи м си стему, опред еля емую соед и нени ем.
25 Д ля корректного и спользовани я ф ункци и connect введ ем д ополни тельную си стему, перед аточная ф ункци я которой равна 1. Э кви валентная схема при вед енанаРи с. 4.
Ри с. 4. >> s4 = tf(1) Transfer function: 1 >> sys=append(s1,s2,s3,s4); >> Q=[2 -4 5; 3 1 0; 4 2 0; 5 2 0]; >> in=[1 5]; >> out=[3 4]; >> s_com=connect(sys,Q, in,out);
О бращ ая ськд анны м объекта, мож но получи тьматри цы А , В , С: >> A=s_com.A; >> B=s_com.B; >> C=s_com.C;
4. В ы чи сли м ранги матри ц наблюд аемости и управля емости и тоговой си стемы : >> rank(ctrb(A,B)) ans = 6 >> rank(obsv(A,C)) ans = 6
Результаты показы вают, что д анная си стемауправля емаи наблюд аема. Задани е : и спользоватьод и н и з след ующ и х вари антов № №
У равнени я си стем
Схема
1
1
1.
2.
3.
2
2
1.
2.
3.
3
3
1.
2.
3.
26
4
4
1.
2.
3.
5
2
1.
2.
3.
6
3
2.
1.
3.
7
1
1.
2.
3.
8
2
1.
2.
3.
9
5
1.
2.
3.
27 10
6
1.
2.
3.
11
5
1.
2.
3.
12
7 1.
2.
3.
13
6
1.
2.
3.
14
8 1.
2.
3.
15
8 1.
2.
3.
16
9
1.
2.
3.
28 17
10 1.
2.
18
8 1.
3.
Структурны есхемы квари антам
1.
2.
3.
4.
3.
2.
29
5.
6.
7.
8.
9.
10.
3.8. Уст о йчи в ост ь ли не йны х си ст е м Рассмотри м ли нейную стаци онарную си стему . Д опусти м, что уд алось найти ф ункци ю Л я пунова: V(x)=xTQx, гд е Q – си мметри чная и полож и тельная опред еленная матри ца. Т огд а
О бозначи м = – С (*), тогд а, поскольку С полож и тельно опред елена, си стемааси мптоти чески устойчи вав целом. Болеетого, т.к.
30 ,
матри ца
С
си мметри чна. Н а практи ке целесообразно реш атьобратную зад ачу. В ы би рают какую-ли бо полож и тельно опред еленную полож и тельную матри цу, напри мер C = I. Т огд а мож но получи тьQ. Е сли квад рати чная ф орма Q оказы вается неопред еленной (знакопеременной), то по теореме Л я пунова о неустойчи вости начало коорд и нат неустойчи во. Е сли Q полож и тельно опред елена, то поскольку си стемали нейнаи стаци онарна, начало коорд и натаси мптоти чески устойчи во в целом. О боснованность такого анали за зави си т от того, опред еля ет ли уравнени е (*) од нозначно матри цу Q, если зад ана си мметри чная и полож и тельная С . Справед ли вы след ующ и еутверж д ени я : Е сли n собственны х значени й λ1, … , λn матри цы A таковы , что λi+λj <0 ( ), то и з уравнени я (*) при зад анной матри цеС матри цаQ опред еля ется од нозначно. (Д остаточноеуслови еустойчи вости матри цы А ). Е сли матри ца А устойчи ва и матри ца С полож и тельно опред елена, то матри ца Q такж е полож и тельно опред елена. (Н еобход и мое услови е устойчи вости матри цы А ). Си стемааси мптоти чески устойчи вав том и только том случае, если реш ени еГ, я вля ющ ееся (n×n)-матри цей, уравнени я Л я пунова я вля ется полож и тельно-опред еленной матри цей. Зд есь H – прои звольная полож и тельно-опред еленная си мметри чная матри ца. Д ля опред еленности матри цу H мож но полож и тьед и ни чной. Д ля установлени я полож и тельной опред еленности си мметри чной матри цы Г мож но воспользоваться кри тери ем Си львестра: ∆i > 0 д ля , гд е ∆i – ми норы i-го поря д ка матри цы Г. Д ля опред елени я аси мптоти ческой устойчи вости ли нейны х си стем мож но воспользоваться кри тери ем РауссаГурви ца. Согласно этому кри тери ю, си стема я вля ется устойчи вой, если все ми норы матри цы Гурви цабы ли полож и тельны . А си мптоти ческая устойчи вость опред еля ется аналоги чно, только вместо матри цы A берется матри цаA+BL. При мер11. Пусть зад ана си стема управлени я , опи сы ваемая конечно-разностны ми уравнени я ми в пространствесостоя ни й x(k+1) = A(k) x(k) + B(k) u(k), ( матри ца
, опред еля ющ ая закон управлени я u = Kx,.
1. Зад ад и м матри цы , опред еля ющ и еси стему: >> A=[1 2; -3 4] A= 1 2 -3 4 >> B= [1 2]' B=
),
и и звестна
31 1 2 >> L=[2 1] L= 2 1 2. Определим решение уравнения Ляпунова >> G=dlyap(A, eye(2)) G= -0.2211 -0.1215 -0.1215 -0.1285 3. Произведем расчет главных миноров >> det(G(1:1, 1:1)) ans = -0.2211 >> det(G) ans = 0.0136
По кри тери ю Си львестра реш ени е не я вля ется полож и тельно-опред еленной матри цей, след овательно, си стеманея вля ется аси мптоти чески устойчи вой. 4. А налоги чно мож но опред ели тьсвойство аси мптоти ческой устойчи вости в управля емой си стеме. >> G=dlyap(A+B*L, eye(2)) G= -0.2563 0.0833 0.0833 -0.0498 >> det(G) ans = 0.0058 >> det(G(1:1, 1:1)) ans = -0.2563
По кри тери ю Си львестра реш ени е д и скретного уравнени я Л я пунова не я вля ется полож и тельно-опред еленной матри цей, след овательно, си стема не я вля ется аси мптоти чески устойчи вой. 5. При вед ем текст script-ф айла д ля опред елени я устойчи вости матри цы X на основеи спользовани я метод аРаусса-Гурви ца. %получение коэффициентов характеристического полинома lm= poly(X); %определение размерности [L, N] =size(lm); %создание матрицы с нулевыми значениями g=zeros(N, N); %заполнение нечетных строк матрицы Гурвица s=0; for i=1:2:N j=1; j=j+s; r=0; for r=2:2:N g(i, j)=lm(r); j=j+1; end s=s+1; end %заполнение четных строк матрицы Гурвица s=0; for i=2:2:N j=1;
32 j=j+s; r=0; for r=1:2:N g(i, j)=lm(r); j=j+1; end s=s+1; end g=g(1:N-1, 1:N-1); %вычисление главных миноров minor=1; for i=1:N-1 dd = det(g(1:i, 1:i)); if dd<0 minor=0; end end %вывод результатов if minor==0 disp('СИСТЕМА НЕ УСТОЙЧИВА'); else disp('СИСТЕМА УСТОЙЧИВА'); end
Результат вы чи слени я показы вает, что си стема управлени я не я вля ется аси мптоти чески устойчи вой. Полученны е граф и ки д и нами ки си стемы и ллюстри руют полученны й анали ти чески й результат о неустойчи вости си стемы . Задани е : в ы полни т ь де йст в и я, при в е де нны е в при м е ре для о дной и з си ст е м № №
У равнени я си стем
1
2
3 . 4
5 . 6 . 7
L
33 8
9 . 10 . 11
12
13
14
15
16
17
18 . 19
20
3.9. С и нт е з опт и м альногоуправ ле ни я с полнойобрат нойсв язью Пусть повед ени е мод ели объекта управлени я опи сы вается обы кновенны м д и ф ф еренци альны м уравнени ем x(t)=f (t, x(t), u(t)), гд е х - вектор состоя ни я си стемы , х∈Rn, Rn - n-мерноеевкли д ово пространство; u - вектор управлени я , и u∈U⊂Rn, U - некоторое зад анное множ ество д опусти мы х значени й управлени я , t∈T=[t0, t1] – и нтервал времени ф ункци они ровани я си стемы , моменты начала процессаt0 и окончани я процессаt1 зад аны , f (t, x, u): Т × Rn × U → Rn.
34 Зад ан ф ункци онал качествауправлени я
гд е f 0(t, x, u), F(x) - зад анны е непреры вно д и ф ф еренци руемы е ф ункци и . Пред полагается , что при управлени и и спользуется и нф ормаци я о текущ ем времени и векторесостоя ни я х. При меня емоев каж д ы й моментвремени t∈Т управлени еи меетви д управлени я c полной свя зью по всем переменны м векторасостоя ни я (Ри с. 5.).
Ри с.5. Т ребуется найти такую ф ункци ю u*(t, x) ∈ Un, что . Ф ункци я u*(t, x) ∈ Un назы вается опти мальны м управлени ем сполной обратной cвя зью. Д ля любого начального состоя ни я x0 и з множ ества Rn она порож д ает соответствующ ую опти мальную пару, т.е. опти мальную траектори ю х*(.) и опти мальноепрограммноеуправлени еu*(.). Д остаточны м услови ем ми ни мума ф ункци онала я вля ется уравнени е Беллмана д ля непреры вны х д етерми ни рованны х си стем. Е сли сущ ествуют ф ункци я φ(t, x) ∈ C1,1, уд овлетворя ющ ая уравнени ю Беллманасграни чны м услови ем:
и управлени еu*(t, x) ∈ Un, уд овлетворя ющ ееуслови ю
то u*(t, x) я вля ется опти мальны м управлени ем с полной обратной свя зью. При этом ми ни мальноезначени еф ункци онала . Д ля си нтеза опти мального регуля торов ли нейны х стаци онарны х си стем в Control System Toolbox и меются ф ункци и реш ени й уравнени й Беллмана (Т абли ца4.). Т абли ца4. Ф ункци и Control System Toolbox
35 Си нтакси с
О пи сани е
[K P e] = lqr(A, B, Q, S)
Си нтез непреры вного регуля тора
[K P e] = lqr(A, B, Q, S, N)
Си нтез непреры вного регуля тора
[K P e] = dlqr(A, B, Q, R)
Си нтез д и скретного регуля тора
[K P e] = dlqr(A, B, Q, R, N)
Си нтез д и скретного регуля тора
[K P e] = lqrd(A, B, Q, R, Ts)
Си нтез д и скретного регуля тора
[K P e] = lqrd(A, B, Q, R, N, Ts)
Си нтез д и скретного регуля тора
Ф ункци я lqr вы чи сля ет матри цу коэф ф и ци ентов регули ровани я сред неквад рати чны м ф ункци оналом качествабез терми нального члена:
K cо
, при этом вы чи сля ются матри ца P, я вля ющ ая ся реш ени ем уравнени я Ри ккати и собственны езначени я e матри цы (A – BK). Ф ункци я dlqr вы чи сля ет матри цу коэф ф и ци ентов регули ровани я по всем переменны м состоя ни я K д ля д и скретной си стемы cо сред неквад рати чны м ф ункци оналом качествабез терми нального члена: , при этом вы чи сля ются матри ца P, я вля ющ ая ся реш ени ем уравнени я Ри ккати и собственны езначени я e матри цы (A – BK). Ф ункци я lqrd пред назначенад ля си нтезаопти мального д и скретного регуля тора непреры вной си стемы cо сред неквад рати чны м ф ункци оналом качества: . В качестве параметра в ф ункци ю перед ается ш аг д и скрети заци и Ts, возвращ аются значени я матри цы K д и скретного управлени я , матри ца P, я вля ющ ая ся реш ени ем уравнени я Ри ккати и собственны е значени я e матри цы си стемы управлени я , полученны й в результатед и скрети заци и . При и спользовани и всех команд си нтеза опти мального ли нейного регуля тора по всем переменны м состоя ни я на и сход ны е д анны е наклад ы ваются след ующ и еограни чени я : - си стема, опред еля емая матри цами (A, B), д олж набы тьстаби ли зи руема; - д олж ны вы полня ться неравенстваS> 0, Q – NR–1NT>0, - параматри ц (Q – NR–1NT, A – BR–1BT) нед олж наи метьнаблюд аемы емод ы ссобственны ми значени я ми над ействи тельной оси . При мер 12. М од ели ровани е си стемы управлени я и си нтез опти мального регуля тора. Н и ж епри вод и тся текстscript-ф айла: % Параметры си стемы A=[1 0; -2 1]; B=[1 0; 1 0]';
36 % Параметров кри тери я качествауправлени я Q=[1/2 0;0 1/2]; R=[1/2 0; 0 1/2]; % В ремя регули ровани я T=10; % В ели чи наш ага SS=0.5; % К оли чество ш агов N=T/SS % В ы чи слени епараметров регуля тора [k p e]= dlqr(A, B, Q, R) x = zeros(2, N); u= zeros(2, N-1); % Н ачальны еуслови я x(1,1)=2; x(2,1)=1; % Построени еграф и ков д и нами ки си стемы for i=1:N-1, u(:, i)= - k*x(:, i);, x(:, i+1)=A*x(:, i)+B*u(:, i); end x1= x(1,:); x2= x(2,:); t = 0:SS:T-SS; subplot(4, 1, 1); plot(t, x1, 'b'); subplot(4, 1, 2); plot(t, x2, 'g'); subplot(4, 1, 3); plot(SS:SS:T-SS, u(1, :), 'y'); subplot(4, 1, 4); plot(SS:SS:T-SS, u(2, :), 'r');
Результаты вы чи слени я регуля тора– k= 0.8229 0.8229 p= 3.7343 -1.4114 e= 0.1771 0.1771
след ующ и е: значени я
-0.1771 -0.1771 -1.4114 1.1614 + 0.1771i - 0.1771i
граф и ки д и нами ки си стемы – Ри с. 6.
параметров опти мального
37
Ри с. 6. Задани е : осущ е ст в и т ь м оде ли ров ани е заданной си ст е м ы уче т о м в ы бранногоф ункци онала. М од ельси стемы
управ ле ни я с
Ф ункци онал качествауправлени я
1. 1. 2. 3.
2. 1.
2.
38
3.
1. 3. 2.
3.
1. 4. 2.
3.
4. SIMULINK Программа Simulink я вля ется при лож ени ем кпакету MATLAB, реали зующ и м при нци п ви зуального программи ровани я . При этом пользователю не нуж но д осконально и зучатья зы кпрограмми ровани я и чи сленны еметод ы математи ки , д остаточно общ и х знани й, требующ и хся при работе на компьютере и , естественно, знани й той пред метной области , в которой он работает. Д ля работы с Simulink не требуется знатьсам MATLAB и остальны е его при лож ени я , од нако д оступ кф ункци я м MATLAB и его и нструментам остается откры ты м, что позволя ет и спользовать и х при мод ели ровани и в Simulink. Пользователь мож ет созд авать свои собственны е би бли отечны е блоки , и зменя тьсущ ествующ и е, а такж е составля тьновы е би бли отеки блоков. В процессе мод ели ровани я мож но след и ть за прои сход я щ и ми в си стеме процессами с помощ ью специ альны х блоков, а затем пред ставля тьрезультаты мод ели ровани я в ви д еграф и ков и ли табли ц. 4.1. Началоработы Д ля того чтобы начатьработатьс Simulink, мож но воспользоваться од ни м и з трех способов: - в команд ном окнеMATLAB вы полни тькоманд у Simulink; - воспользоваться кнопкой бы строго д оступа (Simulink) на панели и нструментов;
39 - вы братьопци ю Open… в меню File и откры тьф айл мод ели (mdl ф айл) в том случае, если мод ель уж е бы ла ранее созд ана и отлаж ена. В результате эти х д ействи й на экране буд ет отображ ено О кно обозревателя разд елов би бли отеки Simulink. Под робно состав окна обозревателя опи сан в [2,3]. 4.2. С оздани е м оде ли Созд атьновы й ф айл мод ели мож но спомощ ью кнопки бы строго д оступа и ли опци и File/New/Model главного меню. О кно мод ели показано наРи с. 7.
Ри с7. Т еперьмож но при ступатькмод ели ровани ю. Д ля этого след ует располож и ть нуж ны е блоки в окне мод ели : откры тьсоответствующ и й разд ел би бли отеки , затем, указав курсором на требуемы й блоки наж ав на левую кнопку “мы ш и ”, “перетащ и ть” блокв созд анное окно, уд ерж и вая кнопку наж атой, после этого след ует соед и ни тьблоки . Размеры блоков и и х размещ ени ев окнеи зменя ются станд артны м д ля ви зуальны х сред способом. Параметры блоков, установленны е “по умолчани ю”, меня ются в окне ред акти ровани я параметров, д ля чего след ует указатькурсором на и зображ ени е блока и д важ д ы щ елкнуть левой клави ш ей “мы ш и ”. При зад ани и чи сленны х параметров след ует и метьв ви д у, что в качестве д еся ти чного разд ели теля д олж на и спользоваться точка, а незапя тая . Послевнесени я и зменени й нуж но закры тьокно кнопкой OK. После установки на схеме всех требуемы х блоков элементы схемы соед и ня ются . Д ля этого указатькурсором на “вы ход ” блока, а затем наж атьи , не отпуская левую клави ш у “мы ш и ”, провести ли ни ю квход у д ругого блока и отпусти тьклави ш у. В случае прави льного соед и нени я и зображ ени е стрелки на вход еблокаи зменя етцвет. Д ля созд ани я точки разветвлени я в соед и ни тельной ли ни и нуж но под вести курсор к пред полагаемому узлу и , наж ав правую клави ш у “мы ш и ”, протя нутьли ни ю. Д ля уд алени я ли ни и требуется вы брать ли ни ю (каки блок), азатем наж атьклави ш у Delete. После составлени я схемы она сохраня ется в ви д е ф айла на д и ске с помощ ью опци и File/Save As... в главном меню мод ели . В д альнейш ем загрузка мод ели
40 осущ ествля ется с помощ ью опци и File/Open... в окне обозревателя би бли отеки и ли и з основного окнаMATLAB. 4.3. Т е кст ов ы е надпи си Д ля повы ш ени я нагля д ности мод ели уд обно и спользоватьтекстовы е над пи си . Д ля созд ани я над пи си нуж но указать мы ш ью место над пи си и д важ д ы щ елкнутьлевой клави ш ей мы ш и . А налоги чно мож но и змени тьи под пи си к блокам мод ели . След ует и метьв ви д у, что возмож ны труд ности при попы тке и спользовани я ки ри лли чески х ш ри ф тов (отображ ени е над пи сей в нечи таемом ви д е, обрезани е над пи сей, сообщ ени я об ош и бках, а такж е невозмож ность откры тьмод ельпослееесохранени я ). 4.4. И зм е не ни е парам е т ров расче т а Перед вы полнени ем расчетов требуется зад ать параметры расчета, что осущ ествля ется спомощ ью пунктаменю Simulation/Parameters. О кно настройки параметров расчетаи меет4 вклад ки : • Solver (Расчет) — установкапараметров расчетамод ели . • Workspace I/O (В вод /вы вод д анны х в рабочую область) — установка параметров обменад анны ми срабочей областью MATLAB. • Diagnostics (Д и агности ка) — вы бор параметров д и агности ческого реж и ма. • Advanced (Д ополни тельно) — установкад ополни тельны х параметров. У становка параметров расчета мод ели вы полня ется с помощ ью элементов управлени я , размещ енны х на вклад ке Solver. Более под робная и нф ормаци я о вклад ках при вед енав [2]. 4.5. Вы полне ни е расче т а Запускрасчетавы полня ется спомощ ью вы борапунктаменю Simulation/Start. и ли и нструмента напанели и нструментов. Процессрасчетамож но заверш и ть д осрочно, вы брав пунктменю Simulation/Stop и ли и нструмент . Расчеттакж е мож но останови ть(Simulation/Pause) и затем прод олж и ть(Simulation/Continue). 4.6. Зав е рш е ни е рабо ты Д ля заверш ени я работы необход и мо сохрани тьмод ельв ф айле, закры тьокно мод ели , окно обозревателя би бли отек, атакж еосновноеокно пакетаMATLAB. Задани е : и спользовать Simulink д ля мод ели ровани я од ной и з при вед енны х вы ш еси стем.
Ли т е рат ура 1.Потемки н В .Г. Справочни кпо MATLAB: справ. пособи е / В .Г.Потемки н.М .:Д И А Л О Г-М И Ф И , 1998. -318с.
41 2.Ч ерны х И . В . SIMULINK: сред а созд ани я и нж енерны х при лож ени й / И .В . Ч ерны х; под общ . ред . В .Г. Потемки на.— М .: Д И А Л О Г-М И Ф И , 2004 . 3.Д окументаци я по MATLAB.(http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html). 4.Matlab Tutorial Matlab Basics Tutorial.(http://www.engin.umich.edu/group/ctm/basic/basic.html). 5. Потемки н В . Г. В вед ени е в MATLAB / В . Г. Потемки н.— М .: Д и алогМ И Ф И , 2000 6. Н и кульчев Е .В . Практи кум по теори и управлени я в сред е MATLAB: У чебноепособи е/ Е .В . Н и кульчев. - М .: М ГА ПИ , 2002 7. Бойко О .Г. М етод и чески е указани я клабораторному практи куму по курсу О сновы автомати ческого управлени я .(http://ebook.webservis.ru/help/sam/boyko/b01/b11.htm).
42 Состави тельК ры ж ановская Ю ли анаА лександ ровна Ред актор Т и хоми роваО .А .