Time for action – drawing sawtooth and triangle waves
We will initialize t
just like in the previous tutorial. Again, k
=
99
should be sufficient. In order to draw sawtooth and triangle waves, follow these steps:
Set initial values for the function to zero:
t = np.linspace(-ny.pi, np.pi, 201) k = np.arange(1, float(sys.argv[1])) f = np.zeros_like(t)
This computation of function values should again be a straightforward application for the
sin
andsum
functions:for i in range(len(t)): f[i] = np.sum(np.sin(2 * np.pi * k * t[i])/k) f = (-2 / np.pi) * f
It's easy to plot the sawtooth and triangle waves, since the value of the triangle wave should be equal to the absolute value of the sawtooth wave. Plot the waves as shown here:
plot(t, f, lw=1.0) plot(t, np.abs(f), lw=2.0) show()
In the following figure, the triangle wave is the one with the thicker line:
What just happened?
We drew a sawtooth wave using the sin
function. The input values were assembled with linspace
and the k
values with the arange...