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

Ph.D. on Applied Mathematics in Aug 2007. Involved on applications of image super-resolution to electron microscopy

Francisco Blanco-Silva