###Importation bibliothèques
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as sig
import matplotlib.ticker as tck

pi=np.pi
sin=np.sin
cos=np.cos



#### Calculs des grandeurs
#paramètres
Um=????? #amplitude du signal en volt
Umoy=???? #valeur moyenne du signal en volt
f1=???? #fréquence du motif / du fondamental
R=??? #valeur de la resistance en ohm

Freq=[]
Puiss=[]

print ('Rang n/Fréquence fn/ Puissance moyenne de harmonique de rang n en watt')

for n in range(1,6,2):
 Anth=?????  #expresion littérale de l'amplitude théorique de l'harmonique de rang n
 fnth=????            #expresion littérale de la fréquence théorique de l'harmonique de rang n
 Pnth=?????      # expresion littérale de la puissance moyenne théorique portée par l'harmonique de rang n

 print (n,fnth,Pnth)
 Freq=np.append(Freq,fnth)
 Puiss=np.append(Puiss,Pnth)



######Graphe

plt.figure(0)


width=60
plt.bar(Freq,Puiss,width,color='k')


plt.title('Représentation fréquentielle théorique de la puissance du signal triangulaire')
plt.xlim(0,6000)
plt.ylim(0,10)
plt.xlabel('fréquence en Hz')
plt.ylabel('puissance en W')
def fmt(x, pos):
    a, b = '{:.1e}'.format(x).split('e')
    b = int(b)
    return r'${} \times 10^{{{}}}$'.format(a, b)
ax=plt.gca()
ax.xaxis.set_major_formatter(tck.FuncFormatter(fmt))
#.ticklabel_format(style='sci', axis='x', scilimits=(0,0))
ax.yaxis.set_minor_locator(tck.MultipleLocator(base=0.5))
ax.yaxis.set_major_locator(tck.MultipleLocator(base=1))
ax.xaxis.set_minor_locator(tck.MultipleLocator(base=500))
ax.xaxis.set_major_locator(tck.MultipleLocator(base=1000))


plt.grid(b=True, which='major',axis="both", color='black', linestyle='-')
plt.grid(b=True, which='minor',axis='both', color='grey', linestyle='--')



plt.show()

