Python vidím prvně v životě, no zkusil jsem to takto (snad tam nejsou blbosti):
import matplotlib.pyplot as plt
import numpy as np
from numpy import *
import math
import pylab
#
t = np.linspace(0, 4, 1024)
# f = frekvence 1 Hz
f = 1
w = 2 * math.pi * f
k = 2 * 230 / math.pi
n = 20 # Pocet harmonickych od 1 az po n
s = 0
for order in range(1, n):
s = s + sin( w * t * order) / order
u = k * s
plt.plot(t, u)
plt.title('Triangle')
plt.grid(True)
plt.xlabel('t [s]')
plt.ylabel('u [V]')
plt.show()