Line 1: Line 1:
 +
<pre>
 
The following  MATLAB code doesn't work properly since the step value, Ts, is too big.
 
The following  MATLAB code doesn't work properly since the step value, Ts, is too big.
  
Line 20: Line 21:
 
x = real(exp(j*(2*pi*F0*t-pi/2)));
 
x = real(exp(j*(2*pi*F0*t-pi/2)));
 
plot(t,x)
 
plot(t,x)
 +
</pre>

Revision as of 16:43, 10 September 2008

The following  MATLAB code doesn't work properly since the step value, Ts, is too big.

'''Code Containing the "Bug"'''

F0 =13; 
T0 =1/F0; 
Ts = 0.07;
t  = 0:Ts:13*T0; 
x = real(exp(j*(2*pi*F0*t-pi/2)));
plot(t,x)

However, by reducing the step size the matlab commands will print all 13 cycles of the 13Hz sinusoid.  I chose to reduce the value by multiplying it by <math>10^-2</math>, which leaves us with Ts = 0.0007.  The proper working code is shown below:

'''Code After Reducing Ts Step Value'''

F0 =13; 
T0 =1/F0; 
Ts = 0.0007;
t  = 0:Ts:13*T0; 
x = real(exp(j*(2*pi*F0*t-pi/2)));
plot(t,x)

Alumni Liaison

Basic linear algebra uncovers and clarifies very important geometry and algebra.

Dr. Paul Garrett