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:
t = np.linspace(-ny.pi, np.pi, 201) k = np.arange(1, float(sys.argv[1])) f = np.zeros_like(t)
sin
and sum
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
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:
We drew a sawtooth wave using the sin
function. The input values were assembled with linspace
and the k
values with the arange
function. A triangle wave was derived from the sawtooth wave by taking the absolute value (see sawtooth.py
):
import numpy as np from matplotlib.pyplot import plot from matplotlib.pyplot import show import sys t = np.linspace(-np.pi, np.pi, 201) k = np.arange(1, float(sys.argv[1])) f = np.zeros_like(t) for i in range(len(t)): f[i] = np.sum(np.sin(2 * np.pi * k * t[i])/k) f = (-2 / np.pi) * f plot(t, f, lw=1.0) plot(t, np.abs(f), lw=2.0) show()