P. 1
Matlab Functions

Matlab Functions

|Views: 547|Likes:
Published by Sudeep Balan

More info:

Published by: Sudeep Balan on Aug 23, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/29/2013

pdf

text

original

 


MATLAB commands for Modeling and analysis of LTI Systems 
Creation of LTI models 
1 tf Cieate a tiansfei function mouel.
2 ss Cieate a state‐space mouel.
S zpk Cieate a zeio¡pole¡gain mouel
Conversions 
4 tf Conveision to tiansfei function.
S ss Conveision to state space.
6 zpk Conveision to zeio¡pole¡gain.
7 c2u. Continuous to uisciete conveision
8 u2c Bisciete to continuous conveision.
Time response 
9 step Step iesponse.
1u Impulse Impulse iesponse.
11 lsim Response to aibitiaiy inputs.
12 Initial Response of state‐space system with given
initial state.
Frequency response 
1S boue Boue plot of the fiequency iesponse.
14 nyquist Nyquist plot.
1S nichols Nichols chait.
16 maigin uain anu phase maigins
System interconnections 
17 paiallel ueneializeu paiallel connection.
 
 

18 seiies ueneializeu seiies connection.
19 feeuback Feeuback connection of two systems.
Control Design
2u ilocus Root locus plot.
21 ilocfinu Inteiactive ioot locus gain ueteimination
22 zgiiu ueneiate z‐plane giiu lines foi a ioot locus oi
pole‐zeio map.
2S ackei SIS0 (single‐input‐single‐output) pole
placement.
24 place NIN0 (multiple‐input‐multiple‐output) pole
placement.
 
 
 
 
   
 

1) Step Function in MATLAB 
Step iesponse of LTI mouels. Step calculates the unit step iesponse of a lineai system. Zeio
initial state is assumeu in the state‐space case. When invokeu without left‐hanu aiguments,
this function plots the step iesponse on the scieen.
Step (sys) plots the step iesponse of an aibitiaiy LTI mouel sys. This mouel can be
continuous oi uisciete, anu SIS0 oi NIN0. The step iesponse of multi‐input systems is the
collection of step iesponses foi each input channel. The uuiation of simulation is
ueteimineu automatically baseu on the system poles anu zeios.
Syntax:
step(sys)
step(sys,t)

To plot the step iesponses of seveial LTI mouels sys1,..., sysN on a single figuie, use

step (sys1,sys2,...,sysN)
step (sys1,sys2,...,sysN,t)

Example 1:
To plot the step iesponse of a tiansfei function
X(S)
F(S)
=
1
S
2
+10S+20
  
>>m =1
>>b=1u
>>k=2u
>>num = |1]:
>>uen= |m b k]
>>t_function=tf (num, uen)
>>step (t_function)

Example 2:
 
|
x
1
x
2
|=|
-û. 5572 -û. 7814
û. 781 û
| |
x
1
x
2
|+|
1 -1
û 2
| |
u
1
u
2

 
y = |
1. 9ó91 ó. 4493
] |
x
1
x
2

>>a= |‐u.SS72 ‐u.7814: u.781 u]:
>>b=|1 ‐1:u 2]:
 

>>c= |1.9691 6.449S]:
>>sys=ss (a, b, c, u):Cieates state‐space mouel oi conveits mouel to state space.
>>step (sys)
 
 
 
 
 
 
 
 
 
 
 
2) Bode Function in MATLAB 
Boue fiequency iesponse of LTI mouels. Boue plot of fiequency iesponse, magnituue anu
phase. boue(sys,w) explicitly specifies the fiequency iange oi fiequency points to be useu
foi the plot. To focus on a paiticulai fiequency inteival |wmin, wmax],set w = {wmin,
wmax}. To use paiticulai fiequency points, set w to the vectoi of uesiieu fiequencies.
Syntax :
boue(sys)
boue(sys,w)

>>boue (t_function)
 
 
 
 
 

>>boue (t_function, {u.1, 1u})
 
 
 
 
 
 
 
3) Nyquist  Function in Matlab 
Nyquist calculates the Nyquist fiequency iesponse of LTI systems. When invokeu without
lefthanu aiguments, nyquist piouuces a Nyquist plot on the scieen. Nyquist plots aie useu
to analyze system piopeities incluuing gain maigin, phase maigin, anu stability.
Syntax:
nyquist(sys)
nyquist(sys,w)

C(S) =
h(s + 2)
(s +1)(s - 3)
 
>>num = |1 2]:
>>uen = |1 ‐2 ‐S]:
>>h = tf (num, uen)
>>nyquist (h)
 
 
 
 
 
 
 
 
 

4) Impulse  Function in Matlab 
Impulse iesponse of LTI system. Impulse calculates the unit impulse iesponse of a lineai
system. The impulse iesponse is the iesponse to a Biiac input foi continuous‐time
systems anu to a unit pulse at foi uisciete‐time systems. Zeio initial state is assumeu
in the state‐space case.
Syntax:
impulse(sys)
impulse(sys,t)

>>impulse (h)





5) rlocus  Function in Matlab (Root Locus) 
Computes anu Plots the ioot locus of the single‐input, single‐output LTI mouel system. The
ioot locus plot is useu to analyze the negative feeuback loop. Root loci aie useu to stuuy
the effects of vaiying feeuback gains on closeu‐loop pole locations. In tuin, these locations
pioviue inuiiect infoimation on the time anu fiequency iesponses.
Syntax :
ilocus(sys)
ilocus(sys, k)

|i, k] = ilocus(sys)
i = ilocus(sys, k)

b(s) =
2S
2
+ Ss + 1
S
2
+2s + S


>>h=tf (|2 S 1],|1 2 S]):
>>ilocus (h)
 

 


6) rlocfind Function in Matlab 
Select feeuback gain fiom ioot locus plot.
Syntax:
|k, poles] = ilocfinu (sys)
|k, poles] = ilocfinu (sys, p)

Rlocfinu ietuins the feeuback gain associateu with a paiticulai set of poles on the ioot
locus. Rlocfinu woiks with both continuous‐ anu uisciete‐time SIS0 systems.

b(s) =
2S
2
+ Ss + 1
S
2
+2s + S


>>h = tf (|2 S 1],|1 2 S]):
>>ilocus(h)
>>k = ilocfinu (h)


7) lsim  Function in Matlab (Linear Simulation) 
Simulate time iesponse of LTI mouels to aibitiaiy inputs. Lsim simulates the (time)
iesponse of continuous oi uisciete lineai systems to aibitiaiy inputs. When invokeu
without lefthanu aiguments, lsim plots the iesponse on the scieen.
Syntax:
lsim(sys,u,t)
lsim(sys,u,t,xu)

Simulate anu plot the iesponse of the system
E(s) = |
2S
2
+5S+1
S
2
+2S+2
S-1
S
2
+S+5
| to a squaie wave with peiiou of foui seconus. Sample eveiy u.1
seconu uuiing 1u seconus:
>> |u ,t] = gensig('squaie',4,1u,u.1)
>> B = |tf(|2 S 1],|1 2 S]) : tf(|1 ‐1],|1 1 S])]
>> lsim(B,u,t)
 






 






8) Polyval  Function in Matlab (Polynomial Evaulation) 
y = polyval(p,x) ietuins the value of a polynomial of uegiee n evaluateu at x. The input
aigument p is a vectoi of length n+1 whose elements aie the coefficients in uescenuing
poweis of the polynomial to be evaluateu.
y = P
1
x
n
+ P
2
x
n-1
+…………+P
n
x + P
n+1

x can be a matiix oi a vectoi. In eithei case, polyval evaluates p at each element of x.
Syntax: 
y = polyval (p,x)
The Polynomial p(x) = Sx
2
+ 2x +1 is evaluateu at x=S, 7 anu 9
>>p = |S 2 1]:
>>polyval (p,|S 7 9])
ans = 86 162 262



 

9)Logspace Function in Matlab (Logarithmically spaced vector)
The logspace function geneiates logaiithmically spaceu vectois. Especially useful foi
cieating fiequency vectois, it is a logaiithmic equivalent oflinspace anu the ":" oi colon
opeiatoi.
Syntax: 
y = logspace(a,b)
y = logspace(a,b,n)
y = logspace(a,pi)

y = logspace(a,b) geneiates a iow vectoi y of Su logaiithmically spaceu points between
uecaues 1u
u
anu 1u
b
.
y = logspace(a,b,n) geneiates n points between uecaues 1u
u
anu 1u
b
.
y = logspace(a,pi) geneiates the points between 1u
u
anu pi, which is useful foi uigital signal
piocessing wheie fiequencies ovei this inteival go aiounu the unit ciicle.

>>x=logspace (1, 4, 4)
x = 1u 1uu 1uuu 1uuuu
>> x = logspace(2,pi)
x = Columns 1 thiough 1S
1uu.uuuu 9S.181S 86.8279 8u.9u7S 7S.S9u8 7u.2SuS 6S.46u2 6u.9968 S6.8S77
S2.9622 49.SS1u 4S.986u 42.8Su4 S9.9287 S7.2u61
Columns 16 thiough Su
S4.6692 S2.SuSS Su.1u2S 28.uSuu 26.1S74 24.SSS2 22.694S 21.1471 19.7uS2
18.S616 17.1u96 1S.94Su 14.8SS9 1S.8429 12.8991
Columns S1 thiough 4S
12.u19S 11.2uuu 1u.4S6S 9.7247 9.u616 8.44S8 7.868u 7.SS1S 6.8S16
6.S6S8 S.9S18 S.S27S S.1Su4 4.7992 4.472u
Columns 46 thiough Su
4.1671 S.8829 S.6182 S.S71S S.1416
 
 
 
10 
10) Semilogx Function in Matlab (Semilogarithmic plot) 
Semilogx anu semilogy plot uata as logaiithmic scales foi the x‐ anu y‐axis, iespectively.
Logaiithmic semilogx(Y) cieates a plot using a base 1u logaiithmic scale foi the x‐axis anu a
lineai scale foi the y‐axis. It plots the columns of Y veisus theii inuex if Y contains ieal numbeis.
semilogx(Y) is equivalent to semilogx(ieal(Y), imag(Y)) if Y contains complex numbeis.
Semilogx ignoies the imaginaiy component in all othei uses of this function.
Syntax: 
semilogx(Y)
semilogx(X1,Y1,...)
semilogx(X1,Y1,LineSpec,...)
semilogx(...,'PropertyName',Piopeityvalue,...)
h = semilogx(...)
Cieate a simple semilogy plot.
>>x = u:.1:1u:
>>semilogy(x, 1u.^x)









11) Series  Function in Matlab (Series connection of two LTI models) 
 
Seiies connects two LTI mouels in seiies. This function accepts any type of LTI mouel. The
two systems must be eithei both continuous oi both uisciete with iuentical sample time.
Static gains aie neutial anu can be specifieu as iegulai matiices. 
Syntax: 
sys = seiies(sys1,sys2)
sys = seiies(sys1,sys2,outputs1,inputs2)
 
11 

sys = seiies(sys1,sys2)
foims the basic seiies connection shown below

sys = seiies(sys1,sys2,outputs1,inputs2)


12) Feedback  Function in Matlab  

Feeuback connection of two LTI mouels. sys = feeuback(sys1,sys2)ietuins an LTI mouel sys
foi the negative feeuback inteiconnection.
Syntax: 
sys = feeuback(sys1,sys2)

Examples:

 
12 

0(s) =
2S
2
+ Ss + 1
S
2
+ 2s +S


E(s) =
S(s + 2)
S + 1u


>>u = tf(|2 S 1],|1 2 S])
>>B = zpk (‐2,‐1u,S)
>>Cloop = feeuback(u,B)

Zeio¡pole¡gain:
u.18182 (s+1u) (s+2.281) (s+u.2192)
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
(s+S.419) (s^2 + 1.76Ss + 1.u64)


13) Cloop  Function in Matlab (Closed loop Connection) 
 
 
0(s) =
S + 2
S
2
+ 2s + S


 
 
 
>> num1= | 1 2]:uen1=|1 2 S ]:
 
>> |num ,uen]=cloop (num1,uen1,‐1)
 
>> u=tf(num ,uen)









 
R(s) 
Y(s) 
 
13 
14) Meshz  Function in Matlab  

mesh, meshc, anu meshz cieate wiiefiame paiametiic suifaces specifieu by X, Y, anu Z,
with coloi specifieu by C. ueneiate a "wateifall" plot foi the peaks function using meshz.
Syntax: 
mesh(X,Y,Z)
mesh(Z)
mesh(...,C)

>>|X,Y] = meshgiiu(‐S:.12S:S):
>>Z = peaks(X,Y):
>>meshz(X,Y,Z)



15) Meshgrid  Function in Matlab  

ueneiate X anu Y aiiays foi S‐B plots. |X,Y] = meshgiiu(x,y) tiansfoims the uomain
specifieu by vectois x anu y into aiiays X anu Y, which can be useu to evaluate functions of
two vaiiables anu thiee‐uimensional mesh¡suiface plots. The iows of the output
aiiay X aie copies of the vectoi x: columns of the output aiiay Y aie copies of the vectoi y.

Syntax 
|X,Y]=meshgiiu(x,y)
|X,Y]=meshgiiu(x)
|X,Y,Z] = meshgiiu(x,y,z)
|X,Y] = meshgiiu(1:S,1u:14)
X =
1 2 S
1 2 S
1 2 S
1 2 S
1 2 S

Y =
1u 1u 1u
11 11 11
 
14 
12 12 12
1S 1S 1S
14 14 14
|X,Y] = meshgiiu(‐2:.2:2, ‐2:.2:2):
Z = X .* exp(‐X.^2 ‐ Y.^2):
suif(X,Y,Z)

16) Printsys  Function in Matlab  

PRINTSYS Piint system in pietty foimat. PRINTSYS is useu to piint state space systems
with labels to the iight anu above the system matiices oi to piint tiansfei functions as a
iatio of two polynomials. PRINTSYS (A,B,C,B) piints the system with numeiical labels.
PRINTSYS(N0N,BEN,'s') oi PRINTSYS(N0N,BEN,'z') piints the tiansfei function as a
iatio of two polynomials in the tiansfoim vaiiable 's' oi 'z'.


>> piintsys(num,uen)
num¡uen =

s + 2
‐‐‐‐‐‐‐‐‐‐‐‐‐
s^2 + S s + S


17) Nichols  Function in Matlab  
Nichols fiequency iesponse of LTI mouels. nichols cieates a Nichols chait of the fiequency
iesponse of a uynamic system, uisplays the magnituue (in uB) plotteu against the phase (in
uegiees) of the system iesponse. Nichols chaits aie useful to analyze open‐ anu closeu‐loop
piopeities of SIS0 systems, but offei little insight into NIN0 contiol loops. 0se ngiiuchait.

Syntax: 
nichols
nichols(sys)
nichols(sys,w)
nichols(sys1,sys2,...,sysN,w)
 
Nichols Chart of Dynamic System

E(s) =
-4S
4
+ 48S
3
- 18S
2
+ 2SuS + 6uu
S
4
+SuS
2
+ 282S
2
+ S2Ss + 6u


>>num = |‐4 48 ‐18 2Su 6uu]:
>> uen = |1 Su 282 S2S 6u]:
 
15 
>>B = tf(num,uen)

Tiansfei function:
‐4 s^4 + 48 s^S ‐ 18 s^2 + 2Su s + 6uu
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
s^4 + Su s^S + 282 s^2 + S2S s + 6u

>> nichols(B): ngiiu

18) Ss2tf  Function in Matlab (State Space to Transfer Function) 
 
Conveit state‐space filtei paiameteis to tiansfei function foim. ss2tf conveits a state‐
space iepiesentation of a given system to an equivalent tiansfei function
iepiesentation. 

Syntax: 
|b,a]=ss2tf(A,B,C,B,iu)
>>num= |1 u 1]:
>> uen=|2 1 u]:
>> |A,B,C,B]=tf2ss(num,uen)

A =
‐u.Suuu u
1.uuuu u

B =
1
u

C =
‐u.2Suu u.Suuu

B =
u.Suuu

>> |n,u]=ss2tf(A,B,C,B)

n =
u.Suuu ‐u.uuuu u.Suuu

u =
1.uuuu u.Suuu u



 
16 
19) acker  Function in Matlab  

Pole placement uesign foi single‐input systems. Compute the K matiix to place the poles of
A‐BK

Syntax: 
k = ackei(A,b,p)
uiven the single‐input system
x = Ax +Bu
anu a vectoi p of uesiieu closeu‐loop pole locations, ackei (A,b,p) uses Ackeimann's
foimula to calculate a gain vectoi k such that the state feeuback u = −kx places the closeu‐
loop poles at the locations p.

>> A=|u 1 u: 196u u ‐1S.66: u 2u.87 ‐16.66]:
>> B=|u:u:1.6667]:
>> C=|1 u u]:
>> B=u:
>>K = ackei(A,B,|‐2u ‐2u ‐2u])

uesiieu closeu‐loop eigenvalues : λ1 = λ2 = λS = − 2u

K =
1.ue+uuS *
‐4.81S2 ‐u.1u86 u.u26u

The iesults can be veiifieu by computing the closeu‐loop eigenvalues.

>> eig(A‐B*K)

‐2u.uuu2 + u.uuuSi
‐2u.uuu2 ‐ u.uuuSi
‐19.9997

20) ode45  Function in Matlab (Ordinary Differential Equations) 
 
NATLAB's stanuaiu solvei foi oiuinaiy uiffeiential equations (0BEs) is the function oue4S.
Solve initial value pioblems foi oiuinaiy uiffeiential equations.
Syntax: 
|T,Y] = solver(ouefun,tspan,yu)
|T,Y] = solver(ouefun,tspan,yu,options)
|T,Y,TE,YE,IE] = solver(ouefun,tspan,yu,options)
sol = solver(ouefun,|tu tf],yu...)
 
17 
Example : 0se ode23 anu ode45 to solve the initial value pioblem foi a fiist oiuei
uiffeiential equation:
y
1
=
-ty
.2 - y
2
, y(u) = 1, t e |u,S]
Fiist cieate a NatLab function anu name it fun1.m.
function f=fun1(t,y)
f=‐t*y¡sqit(2‐y^2):
Now use functions ode23 anu ode45 to solve the initial value pioblem numeiically
>> |tv1 f1]=oue2S('fun1',|u S],1):
>> |tv2 f2]=oue4S('fun1',|u S],1):
>> plot(tv1,f1,'‐.',tv2,f2,'‐‐')
>> title('y''=‐ty¡sqit(2‐y^2), y(u)=1, t in |u, S]')
>> giiu
>> axis(|u S u 1])

The numeiical solutions f1 anu f2 iespectively geneiateu by ode23 anu ode45 aie almost
the same foi this example.


  SISO  (single‐input‐single‐output)  placement.   pole    MIMO (multiple‐input‐multiple‐output) pole  placement.  2    .  Feedback connection of two systems.18  series    19  feedback  Control Design  20  rlocus  21  rlocfind  22   zgrid   23  acker  24  place              Generalized series connection.  Interactive root locus gain determination  Generate z‐plane grid lines for a root locus or  pole‐zero map.  Root locus plot.

7814.  Step  (sys) plots  the  step  response  of  an  arbitrary  LTI  model sys. Step calculates the unit step response of a linear system. .sysN... = .. den)  >>step (t_function)    Example 2:    . The step response of multi‐input systems is the  collection  of  step  responses  for  each  input  channel.  3    . and SISO or MIMO. sysN on a single figure.  >>b=[1 ‐1..   .  The  duration  of  simulation  is  determined automatically based on the system poles and zeros..t)     Example 1:  To plot the step response of a transfer function  X S F S S S    >>m =1  >>b=10  >>k=20  >>num = [1]..  Syntax:  step(sys)  step(sys..  this function plots the step response on the screen..  This  model  can  be  continuous or discrete.   +   >>a= [‐0. Zero  initial state is assumed in the state‐space case.sys2..sysN)   step (sys1. When invoked without left‐hand arguments.1) Step Function in MATLAB  Step response of LTI models.t)    To plot the step responses of several LTI models sys1..sys2..781 0].  0.0 2].  >>den= [m b k]  >>t_function=tf (num.. . use    step (sys1.5572  ‐0.

 0). c. wmax].  >>sys=ss (a.w)    >>bode (t_function)          4    .9691 6.  >>step (sys)                        2) Bode Function in MATLAB  Bode frequency response of LTI models.Creates state‐space model or converts model to state space.w) explicitly specifies the frequency range or frequency points to be used  for the plot. To use particular frequency points. To focus on a particular frequency interval [wmin.  wmax}.  Syntax :  bode(sys)  bode(sys. magnitude and  phase.set w = {wmin. Bode plot of frequency response. b. bode(sys.4493].>>c= [1. set w to the vector of desired frequencies.

 10})                3) Nyquist  Function in Matlab  Nyquist calculates the Nyquist frequency response of LTI systems. and stability.  Syntax:  nyquist(sys)  nyquist(sys. When invoked without  lefthand arguments. {0. nyquist produces a Nyquist plot on the screen. phase margin.>>bode (t_function.1. Nyquist plots are used  to analyze system properties including gain margin.  >>den = [1 ‐2  ‐3]. den)  >>nyquist (h)                    5  .  >>h = tf (num.w)      >>num = [1 2].

 The  root locus plot is used to analyze the negative feedback loop.4) Impulse  Function in Matlab  Impulse  response  of  LTI  system.  The  impulse  response  is  the  response  to  a  Dirac  input    for  continuous‐time  systems and to a unit pulse at  for discrete‐time systems.  Syntax :   rlocus(sys)  rlocus(sys.  Root loci are used to study  the effects of varying feedback gains on closed‐loop pole locations. single‐output LTI model system. k)    [r. k)    2 5 1   2 3   >>h=tf ([2 5 1]. these locations  provide indirect information on the time and frequency responses. In turn.t)    >>impulse (h)             5) rlocus  Function in Matlab (Root Locus)  Computes and Plots the root locus of the single‐input.  Syntax:  impulse(sys)  impulse(sys. k] = rlocus(sys)  r = rlocus(sys.[1 2 3]). Zero initial state is assumed  in the state‐space case.  >>rlocus (h)      6    .  Impulse  calculates  the  unit  impulse  response of  a  linear  system.

1)  >> H = [tf([2 5 1]. poles] = rlocfind (sys.  Lsim  simulates  the  (time)  response  of  continuous  or  discrete  linear  systems  to  arbitrary  inputs.t] = gensig('square'.t)  lsim(sys.4. Rlocfind works with both continuous‐ and discrete‐time SISO systems.t)  7    .0.1  second during 10 seconds:  >> [u .  6) rlocfind Function in Matlab  Select feedback gain from root locus plot.u. p)    Rlocfind returns the feedback gain associated with a particular set of poles on the root  locus.  Syntax:  [k.  Syntax:  lsim(sys.x0)    Simulate and plot the response of the system    to a square wave with period of four seconds.u.[1 2 3]).  When  invoked  without lefthand arguments.[1 1 5])]  >> lsim(H. tf([1 ‐1]. Sample every 0.t.10.  >>rlocus(h)  >>k = rlocfind (h)        7) lsim  Function in Matlab (Linear Simulation)  Simulate  time  response  of  LTI  models  to  arbitrary  inputs. poles] = rlocfind (sys)  [k.[1 2 3]) . lsim plots the response on the screen.u.    5 1 2   2 3   >>h = tf ([2 5 1].

 7 and 9  8    .  Syntax:  y = polyval (p.  >>polyval (p. The input  argument p is a vector of length n+1 whose elements are the coefficients in descending  powers of the polynomial to be evaluated.x)  The Polynomial      >>p = [3 2 1]. polyval evaluates p at each element of x.x) returns the value of a polynomial of degree n evaluated at x.                        8) Polyval  Function in Matlab (Polynomial Evaulation)  y = polyval(p.[5 7 9])  ans =    86   162   262        3 2 1 is evaluated at x=5.    +…………+   x can be a matrix or a vector. In either case.

8429   12.  Syntax:  y = logspace(a.2503   65.0195   11.pi) generates the points between 10  and pi.  y = logspace(a.8316     6.4720    Columns 46 through 50      4.0616    8.1096   15. which is useful for digital signal  processing where frequencies over this interval go around the unit circle.b)  generates  a  row  vector  y  of  50  logarithmically  spaced  points  between  decades 10  and 10 .2061    Columns 16 through 30     34.7247    9.3315    6.6692   32.9968   56.b.2000   10. 4)  x =    10         100        1000       10000  >> x = logspace(2.8829    3.0000   93.3552   22.n)  y = logspace(a.1471   19.8991    Columns 31 through 45     12.8559   13.3053   30.9318    5.9860   42.8504   39.8377    52.4438    7.1671    3.3658    5.8680    7.3715    3.9622   49.9075   75.1025   28.1815   86.5273    5.6182    3.    >>x=logspace (1.4602   60.3616   17.b.  Especially  useful  for  creating  frequency  vectors.7992    4.1374   24.n) generates n points between decades 10  and 10 .8279   80.b)  y = logspace(a.1416      9    .9430   14.4363    9.9)Logspace Function in Matlab (Logarithmically spaced vector)  The  logspace  function  generates  logarithmically  spaced  vectors.  it  is  a  logarithmic  equivalent  oflinspace  and  the  ":"  or  colon  operator.1504    4.pi)    y  =  logspace(a.3908   70.  y = logspace(a.0500   26.6945   21. 4.7052    18.pi)  x =  Columns 1 through 15    100.3510   45.9287   37.

.outputs1.sys2.inputs2)  10    .Y1.LineSpec. The  two  systems  must  be  either  both  continuous  or  both  discrete  with  identical  sample  time.)  h = semilogx(...  Static gains are neutral and can be specified as regular matrices. This function accepts any type of LTI model..  imag(Y))  if  Y  contains  complex  numbers.PropertyValue.10) Semilogx Function in Matlab (Semilogarithmic plot)  Semilogx  and  semilogy  plot  data  as  logarithmic  scales  for  the  x‐ and  y‐axis.Y1.  >>x = 0:.)  semilogx(. 10..  Semilogx ignores the imaginary component in all other uses of this function.  Logarithmic  semilogx(Y)  creates  a  plot  using  a  base  10  logarithmic  scale  for  the  x‐axis  and  a  linear scale for the y‐axis.  Syntax:  sys = series(sys1..)  semilogx(X1.1:10.sys2)  sys = series(sys1.)  Create a simple semilogy plot...^x)                    11) Series  Function in Matlab (Series connection of two LTI models)    Series connects two LTI models in series...  >>semilogy(x..  Syntax:  semilogx(Y)  semilogx(X1..'PropertyName'.. It plots the columns of  Y  versus their index if  Y  contains real numbers.  semilogx(Y)  is  equivalent  to  semilogx(real(Y).  respectively..

  sys = series(sys1.sys2)   forms the basic series connection shown below    sys = series(sys1.sys2)    Examples:    11    .  Syntax:  sys = feedback(sys1.outputs1. sys = feedback(sys1.inputs2)      12) Feedback  Function in Matlab     Feedback connection of two LTI models.sys2)returns an LTI model sys  for the negative feedback interconnection.sys2.

    >> [num .den)                      12    .763s + 1.den1.den1=[1 2 3 ].5)  >>Cloop = feedback(G.281) (s+0.‐1)    >> G=tf(num .18182 (s+10) (s+2.064)      13) Cloop  Function in Matlab (Closed loop Connection)      R(s)  2   2   3 Y(s)        >> num1= [ 1 2].2192)  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐   (s+3.[1 2 3])  >>H = zpk (‐2.419) (s^2 + 1.‐10.den]=cloop (num1.H)    Zero/pole/gain:  0.2   5 5 2 2   10 1   3     >>G = tf([2 5 1].

..Y.Z)   mesh(Z)   mesh(. columns of the output array Y are copies of the vector y. which can be used to evaluate functions of  two  variables  and  three‐dimensional  mesh/surface  plots.    Syntax  [X. and meshz create wireframe parametric surfaces specified by X.Y]=meshgrid(x)  [X.10:14)  X =       1     2     3       1     2     3       1     2     3       1     2     3       1     2     3    Y =      10    10    10      11    11    11  13    .C)     >>[X.  [X.14) Meshz  Function in Matlab     mesh. Y.Z)         15) Meshgrid  Function in Matlab     Generate  X  and  Y  arrays  for  3‐D  plots.y)  [X.Y] = meshgrid(‐3:.  with color specified by C.  The  rows  of  the  output  array X are copies of the vector x. and Z.y. Generate a "waterfall" plot for the peaks function using meshz.y) transforms  the  domain  specified by vectors x and y into arrays X and Y.Y.  Syntax:  mesh(X.Y]  =  meshgrid(x.Y] = meshgrid(1:3.  >>Z = peaks(X.  >>meshz(X.z)  [X.Z] = meshgrid(x..Y.Y).125:3).Y]=meshgrid(x. meshc.

den)  num/den =             s + 2     ‐‐‐‐‐‐‐‐‐‐‐‐‐     s^2 + 3 s + 5      17) Nichols  Function in Matlab    Nichols frequency response of LTI models..B.2:2.sys2.  PRINTSYS(NUM.DEN.                                          surf(X.D)  prints  the  system  with  numerical  labels.C.sysN.^2).    12    12    12      13    13    13      14    14    14  [X. ‐2:.^2 ‐ Y.    Syntax:  nichols  nichols(sys)   nichols(sys.'z')  prints  the  transfer          function  as  a  ratio of two polynomials in the transform variable   's' or 'z'..w)   nichols(sys1.Z)    16) Printsys  Function in Matlab     PRINTSYS  Print  system  in  pretty  format.w)    Nichols Chart of Dynamic System    4     >>num = [‐4 48 ‐18 250 600].  48 30 18 282 250 525 600   60 14    . nichols creates a Nichols chart of the frequency  response of a dynamic system.DEN.  PRINTSYS  (A.                                  Z = X .Y] = meshgrid(‐2:.2:2). Use ngridchart.  >> den = [1 30 282 525 60]. Nichols charts are useful to analyze open‐ and closed‐loop  properties of SISO systems.'s')  or  PRINTSYS(NUM.  PRINTSYS  is  used  to  print  state  space  systems  with  labels to  the  right  and  above  the  system  matrices  or  to  print transfer functions  as  a  ratio  of  two  polynomials.* exp(‐X.. but offer little insight into MIMO control loops..Y. displays the magnitude (in dB) plotted against the phase (in  degrees) of the system response.      >> printsys(num.

0000    0.>>H = tf(num.5000    D =      0.2500    0.C.  >> [A.a]=ss2tf(A.d]=ss2tf(A.B.iu)  >>num= [1 0 1].0000         0    B =       1       0    C =     ‐0. ngrid    18) Ss2tf  Function in Matlab (State Space to Transfer Function)    Convert state‐space filter parameters to transfer function form.5000         0      1.C.    Syntax:  [b.D.B.5000    d =      1.den)     Transfer function:  ‐4 s^4 + 48 s^3 ‐ 18 s^2 + 250 s + 600  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐   s^4 + 30 s^3 + 282 s^2 + 525 s + 60     >> nichols(H).den)    A =     ‐0.D]=tf2ss(num.  >> den=[2 1 0]. ss2tf converts a state‐ space representation of a given system to an equivalent transfer function  representation.C.5000    >> [n.D)    n =      0.0000    0.5000         0        15    .B.5000   ‐0.

 Compute the K matrix to place the poles of  A‐BK    Syntax:  k = acker(A.      >> eig(A‐B*K)    ‐20.  >>K = acker(A.0e+003 *      ‐4.[‐20 ‐20 ‐20])    desired closed‐loop eigenvalues :  λ1 = λ2 = λ3 = −  20    K =     1.  Syntax:  [T.   >> C=[1 0 0].Y] = solver(odefun.1086    0.Y.66].   >> D=0.1.87 ‐16.9997    20) ode45  Function in Matlab (Ordinary Differential Equations)    MATLAB's standard solver for ordinary differential equations (ODEs) is the function ode45.y0.0002 ‐ 0.y0.p)  uses  Ackermann's  formula to calculate a gain vector k such that the state feedback u = −kx places the closed‐ loop poles at the locations p.0003i   ‐20.b.Y] = solver(odefun.tspan.6667].0002 + 0..YE.)  16    .  acker  (A.   >> B=[0.0.     >> A=[0 1 0.tspan.p)  Given the single‐input system    and  a  vector  p  of  desired  closed‐loop  pole  locations.  Solve initial value problems for ordinary differential equations.19) acker  Function in Matlab     Pole placement design for single‐input systems.0260    The results can be verified by computing the closed‐loop eigenvalues.b. 1960 0 ‐15.y0.B.y0)  [T.0003i   ‐19.options)  sol = solver(odefun. 0 20.IE] = solver(odefun.options)  [T.66.8152   ‐0.tspan..TE.[t0 tf].

tv2.f2.'‐‐')   >> title('y''=‐ty/sqrt(2‐y^2).f1.   >> [tv2 f2]=ode45('fun1'.'‐. t in [0. 5]')   >> grid  >> axis([0 5 0 1])       The numerical solutions f1 and f2 respectively generated by ode23 and ode45 are almost  the same for this example. 0 1.      function f=fun1(t.  Now  use functions ode23 and ode45 to solve the initial value problem numerically    >> [tv1 f1]=ode23('fun1'.[0 5].'.Example : Use ode23 and ode45 to solve the initial value problem for a first order  differential equation:   .[0 5]. y(0)=1.y)     f=‐t*y/sqrt(2‐y^2).   >> plot(tv1.1).         17    .m.5   2 First  create a MatLab function and name it fun1.1). 0.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->