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

Методичка к системе MATLAB

.pdf
Скачиваний:
178
Добавлен:
02.05.2014
Размер:
488.5 Кб
Скачать

М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И

В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н Ы Й У Н И В Е РСИ Т Е Т

Основ ы 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

34

вкоманд ном окнеслед уетвы полни тьслед ующ ую команд у:

>> 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)).

 

 

ones(n,m).

 

 

¾ матри ца ед и ни ц

д анного

размера

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((3-

5)/2), abs(-2^3)

6.

Разлож ени ечи слаN напросты емнож и тели : factor(N).

6

1.2.С и ст ем ы урав нени й

Рассмотри м си стему ли нейны х уравнени й:

ax + by = p cx + dy = q

Е емож но запи сатькакAX = B, гд екоэф ф и ци енты матри цы А :

a b

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.20.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

yellow

 

Ж елты й

M

magenta

 

светло-ф и олетовы й

C

cyan

 

светло-зелёны й

R

red

 

К расны й

G

green

 

Зелёны й

B

blue

 

голубой (си ни й)

W

white

 

Белы й

K

black

 

Ч ерны й

Д ля начертани я граф и ков

разли чны ми си мволами

и

спользуются ключевы е

си мволы , при вед енны ев Т абли це2.

 

 

 

 

 

 

 

 

 

Т абли ца2.

О бозначени еси мвола

А нгли йскоеназвани е

 

Русскоеназвани е

1

2

 

3

∙ (обы чная точка)

point

 

Т очка

O

circle

 

О круж ность

X

x-mark

 

К рести к

*

star

 

Звезд очка

S

suare

 

К вад рати ки

D

diamond

 

А лмаз

V

triangle (down)

 

треугольни к(вни з)

^

triangle (up)

 

треугольни к(вверх)

<

triangle (left)

 

треугольни к(левы й)

>

triangle (right)

 

треугольни к(правы й)

P

pentagram

 

пяти конечная звезд очка

сграф и кой опи саны в [1,5].
и каф ункци и д вух переменны х. z(x,y) = x exp( - x^2 - y^2):

 

 

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.

 

Под робно команд ы работы При мер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

граф и ки

след ующ и х

ф ункци й

и

и х

 

 

комби наци й

с

соответствующ и ми

областя ми

опред елени я :

 

 

 

 

 

 

 

 

 

 

x2 x

 

 

 

 

 

 

 

l

l

2

 

 

 

),

x

arccos(

),

x

arcsin(

),

 

 

 

 

 

 

 

x3

+ 2x2

+ x

 

 

 

 

9.

В ы полни тьпостроени я граф и ков с помощ ью fplot

разны ми цветами

и

 

 

си мволами .

 

 

 

 

 

 

 

 

 

 

 

 

10.Самостоя тельно

прод елать возмож ны е построени я

и вы чи слени я

с

 

 

и спользовани ем

 

funtool:

граф и ки

 

станд артны х

ф ункци й,

 

 

д и ф ф еренци ровани е

и и нтегри ровани е

ф ункци ональны х

вы раж ени й,

 

 

обращ ени еф ункци й, слож ени ед вух ф ункци й и т.д .

 

 

mesh(Z).

 

11. Сравни тьрезультаты при менени я plot3(x,y,Z),grid и

 

12. Построи тьграф и кф ункци и д вух переменны х.