import sympy as sp

# Symbolická proměnná t
t = sp.symbols('t')


# Definujte funkci f(t) podle vašich potřeb
def f(t):
    return t if 0 < t < 1 else 0

# Zde nastavte hodnotu n pro konkrétní číslo harmonické složky
n = 1

# Perioda a úhlová frekvence
T = 2  # Perioda funkce
omega = 2 * sp.pi / T  # Úhlová frekvence

# Výpočet Fourierových koeficientů
a_0 = (2 / T) * sp.integrate(f(t), (t, 0, T))
a_n = (2 / T) * sp.integrate(f(t) * sp.cos(n * omega * t), (t, 0, T))
b_n = (2 / T) * sp.integrate(f(t) * sp.sin(n * omega * t), (t, 0, T))


# Výpočet konkrétního koeficientu c_n na základě a_n a b_n
c_n = a_n + b_n

# Tisk koeficientů
print(f'a_0: {a_0}')
print(f'a_{n}: {a_n.subs(n, 1)}')
print(f'b_{n}: {b_n.subs(n, 1)}')
print(f'c_{n}: {c_n.subs(n, 1)}')