.


:




:

































 

 

 

 


()




9.3.1. CONTROL.l

MATLAB , (ToolBox) (Control System Toolbox).

T (ToolBox) , - , () .

() Control System Toolbox CONTROL TOOLBOX MatLab:

MatLab\ TOOLBOX\ CONTROL.

:

- () LTI (Linear Time-Invariant System , ) ();

- (), .. LTI, :

- TF (Transfer Function) );

- ZPK (Zero-Pole-Gain , , );

- SS (State Spae ).

:

- TF - ;

- ZPK , , ;

- SS , .

( TF ):

num

( U Y) - -;

( ) - nY nU.

den

( U Y) - -;

( ) - nY nU.

Variable () .

ZPK :

z

- -;

- nY nU.

p

- -;

- nY nU.

k

- ;

nY nU.

SS ( ):

a, b, c, d A, B, C, D , :

x = Ax + Bu,

y = Cx + Du.

e - E Descriptor (). E= eye (size(A)).

StateName ( ). nX 1 .

, LTI-:

Ts ( ).

Ts = -1 ;

Ts = 0 .

Td ( ).

InputName .

- .

nX 1 .

OutpuName .

- .

nX 1 .

Notes .

Userdata .

9.3.2.

() CONTROL :

- ;

- ;

- , .

LTI- :

ss A, B, C, D .

dss , .

tf .

zpk , .

filt , z-1.

set () LTI- ( , ..).

get .

, .

Ts , ( tf zpk), - ( ss dss).

filt , z-1.

ss, dss, tf zpk .

, , , c2d :

sysd=c2d(sys, Ts, method).

sys ;

sysd ;

Ts ;

method , . :

zoh : , ;

foh - : , .

d2c .

d2d , :

sys1=d2d(sys, Ts).

, .

.

( ), .

, , , .

MatLab :

- , ,

- .

, , :

plus (minus) ;

parallel - , ;

mtimes ( * ) ; ;

series - ;

feedback - , ;

append - ( );

connect , append;

inv , , .. , .

() , .

:

-

.

:

, K;

- , , - W3.

, ,

M ;

ω - ;

ψ ( ).

M , .

.

:

>> W1=tf(25,[100 50])

Transfer function:

---------------

100 s + 50

>> W2=tf(1, [1 0])

Transfer function:

---.

s

:

series:

>> W0=series(W1, W2)

Transfer function:

---------------------;

100 s^2 + 50 s

- :

>> W01=W1*W2

Transfer function:

----------------------.

100 s^2 + 50 s

, ψ, M, .

:

>> K=tf(2,1)

Transfer function:

- W3:

>> W3=tf([100 0], [1 10 100])

Transfer function:

100 s

-----------------------.

s^2 + 10 s + 100

:

- parallel

>> U1=parallel(K,W3)

Transfer function:

2 s^2 + 120 s + 200

-------------------

s^2 + 10 s + 100

-

>> U=K+W3

Transfer function:

2 s^2 + 120 s + 200

------------------------.

s^2 + 10 s + 100

, , feedback:

>> sys=feedback(W01,U)

Transfer function:

25 s^2 + 250 s + 2500

-------------------------------------------------------------------.

100 s^4 + 1050 s^3 + 10550 s^2 + 8000 s + 5000

, , set . , .

>> set(sys,'InputName',' ', 'OutputName',' ')

>> set(sys,'Notes',' ')

>> get(sys)

num: {[0 0 25 250 2.5e+003]}

den: {[100 1.05e+003 1.06e+004 8e+003 5e+003]}

Variable: 's'

Ts: 0

ioDelay: 0

InputDelay: 0

OutputDelay: 0

InputName: {' '}

OutputName: {' '}

InputGroup: [1x1 struct]

OutputGroup: [1x1 struct]

Notes: {' '}

UserData: []

9.3.3.

CONTROL , , , .

:

impulse .

step .

initial .

lsim , .

:

bode ( ) .

nyquist .

nichols , .. .

sigma ; .

margin .

, .

pole .

zpkdata , .

pzmap .

1. step ,

>> step(sys)

 

2. , impulse

>> impulse(sys)

, :

3. initial , -, , , -, .

>> sssys=ss(sys)

>> initial(sssys,[0 0 0 1],20)

4. lsim t , , u

>> t=0:0.01:40; u=sin(t); lsim(sssys,u,t);grid

:

 

1. >> bode(sys)

 

2. >> nyquist(sys)

3. >> nichols(sys)

4. >> sigma(sys)

5. >> margin(sys);grid

.

1. >> pole(sys)

ans =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

2. >> sysz=zpk(sys)

Zero/pole/gain from input " " to output " ":

0.25 (s^2 + 10s + 100)

------------------------------------------------

(s^2 + 0.7693s + 0.5128) (s^2 + 9.731s + 97.5)

3. >> [z,p,k]=zpkdata(sysz,'v')

z =

-5.0000 + 8.6603i

-5.0000 - 8.6603i

p =

-4.8653 + 8.5924i

-4.8653 - 8.5924i

-0.3847 + 0.6040i

-0.3847 - 0.6040i

k =

0.2500

4. >> pzmap(sys); grid





:


: 2015-11-23; !; : 759 |


:

:

,
==> ...

1541 - | 1515 -


© 2015-2024 lektsii.org - -

: 0.094 .