You are on page 1of 4

MATLAB Commands for conversion from continuous to discrete system and vice-versa

and discrete to discrete (for different sampling time) with application (Experiment No. 3).
>> num = [0 1 2 3];
>> den = [2 3 4 5];
>> sys = tf (num, den)
Transfer function:
s^2 + 2 s + 3
----------------------2 s^3 + 3 s^2 + 4 s + 5
>> sys = c2d (sys, 0.1,'zoh')
Transfer function:
0.05126 z^2 - 0.09186 z + 0.04198
---------------------------------z^3 - 2.841 z^2 + 2.704 z - 0.8607
Sampling time (seconds): 0.1
>> sys = d2d (sys, 0.01,'zoh')
Transfer function:
0.005013 z^2 - 0.009924 z + 0.004913
-----------------------------------z^3 - 2.985 z^2 + 2.97 z - 0.9851
Sampling time (seconds): 0.01
>> A = [0 1; -25 -4];
>> B = [1 1;0 1];
>> C = [1 0; 0 1];
>> D = [0 0; 0 0];
>> ts = 1/100;
>> [F,G,H,J] = c2dm (A,B,C,D,ts,'zoh')
F=
0.9988 0.0098
-0.2450 0.9596
G=
0.0100 0.0100
-0.0012 0.0086

H=
1
0

0
1

0
0

0
0

J=

>> [F,G,H,J] = c2dm (A,B,C,D,ts,'foh')


F=
0.9988 0.0098
-0.2450 0.9596
G=
0.0100 0.0101
-0.0024 0.0072
H=
1
0

0
1

J=
0.0050 0.0050
-0.0004 0.0045
>> ts = 1/10;
>> [F,G,H,J] = c2dm (A,B,C,D,ts,'foh')
F=
0.8923 0.0790
-1.9759 0.5762
G=
0.0880

0.0956
2

-0.1887 -0.1309
H=
1
0

0
1

J=
0.0490 0.0505
-0.0374 0.0057
>> [F,G,H,J] = c2dm (A,B,C,D,ts,'zoh')
F=
0.8923 0.0790
-1.9759 0.5762
G=
0.0963 0.1006
-0.1077 -0.0286
H=
1
0

0
1

0
0

0
0

J=

>> num = [0 0 1];


>> den = [1 1 0];
>> sysc = tf (num, den)
Transfer function:
1
------s^2 + s
3

>> sysd = c2d (sysc, 1., 'zoh')


Transfer function:
0.3679 z + 0.2642
---------------------z^2 - 1.368 z + 0.3679
Sampling time (seconds): 1
>> numd = [0. .3679 .2642];
>> dend = [1 -1 .6321];
>> sysd = tf (numd, dend, .01)
Transfer function:
0.3679 z + 0.2642
----------------z^2 - z + 0.6321
>> td = 0.:.01:.25;
>> step (sysd, td)
>> hold on;
>> sysc = d2c (sysd, 'zoh');
>> tc = 0.:.0001:.25;
>> step (sysc, tc)

Step Response

1.5

Amplitude

0.5

0.05

0.1

0.15

Time (seconds)

0.2

0.25

You might also like