## Time for action – drawing sawtooth and triangle waves

We will initialize t just like in the previous section. Again, k = 99 should be sufficient. In order to draw sawtooth and triangle waves, follow these steps:

1. Set initial values for the function to zero:

t = np.linspace(-np.pi, np.pi, 201)
k = np.arange(1, 99)
f = np.zeros_like(t)
2. Compute the function values with the sin() and sum() functions:

for i, ti in enumerate(t):
f[i] = np.sum(np.sin(2 * np.pi * k * ti)/k)

f = (-2 / np.pi) * f
3. 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 in the following:

plt.plot(t, f, lw=1.0, label='Sawtooth')
plt.plot(t, np.abs(f), '--', lw=2.0, label='Triangle')
plt.title('Triangle and sawtooth waves')
plt.grid()
plt.legend(loc='best')
plt.show()

In the following figure, the triangle wave is the one with the dashed line:

### What just happened?

We drew a sawtooth wave using the sin() function...