PRACTICAL MATLAB® FOR ENGINEERS PRACTICAL MATLAB

(sharon) #1

38 Practical MATLAB® Applications for Engineers


plot(t,f3)
axis([-6 6 -0.5 4.5])
ylabel(‘ Amplitude [f3(t)]’);xlabel(‘ t (time)’)
title(‘3*Rectpuls(t,6) vs. t’)
subplot(2,2,4)
plot(t,f4)
axis([-6 6 -0.5 5.5])
title(‘4*Rectpuls(t,9) vs. t’)
ylabel(‘ Amplitude [f4(t)] ‘); xlabel(‘ t (time) ‘)

The script fi le rect_pulses is executed and the results are shown in Figure 1.34.


R.1.115 The MATLAB function y = pulstran(t, d, ’f’) returns a symmetric train of continu-
ous or discrete functions ‘f ’ with d periods over the range defi ned by t.


R.1.116 A more general MATLAB function is [f, t] = gensig(‘type’, T, range, Ts) that returns
the periodic function f defi ned by type (sin, square, or pulse), over the range t, with a
sampling rate Ts.


R.1.117 For example, use the gensig command to create three cycles of a square periodic
wave, with period T = 3 and a sampling rate Ts = 0.1 (Figure 1.35).


MATLAB Solution
>> [squar,t] = gensig(‘square’,3,9,0.1);
>> plot(t,squar)
>> axis([0 9 0 1.2])
>> ylabel(‘Amplitude’);xlabel(‘time’)
>> title(‘Plot using [squar,t] = gensig(square,3,9,0.1)’)

Rectpuls(t,1) versus t 2*Rectpuls(t,3) versus t

3*Rectpuls(t,6) versus t 4*Rectpuls(t,9) versus t

Amplitude [f2(t)]

Amplitude [f4(t)]

1.5

1

0.5

0

−0.5
− 5 0 5

t (time)

t (time)

Amplitude [f1(t)]

2.5
2
1.5
1
0.5

−0.5

5 4 3 2 1 0

0
t (time)

− (^505)
− 5 0 5 − 5 0 5
t (time)
4
3
2
1
0
Amplitude [f3(t)]
FIGURE 1.34
Plots of the function rectpuls of R.1.114.

Free download pdf