Problème de programmation
Résolu
Lebourdais2003
-
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Comment fait-on sur Python pour faire la somme de deux signaux sinusoïdaux.
Moi j'ai mis ça.
Mais lorsque je fais la simulation la fonction y2 et y3 sont superposées?
Est ce normal ?
Merci.
Comment fait-on sur Python pour faire la somme de deux signaux sinusoïdaux.
Moi j'ai mis ça.
# Définition d'une fonction sinusoïdale y1 d'après les paramètres au dessus
for i in range(len(t)):
y1.append(A1*np.cos(2*pi*f*t[i]))
# Définition d'une fonction sinusoïdale y2
for i in range(len(t)):
y2.append(A2*np.cos(2*pi*f*t[i]+phi))
# Définition d'une fonction sinusoïdale y3
for i in range(len(t)):
y3.append(y1+y2)
Mais lorsque je fais la simulation la fonction y2 et y3 sont superposées?
Est ce normal ?
Merci.
7 réponses
-
Bonjour,
"Comment fait-on sur Python pour faire la somme de deux signaux sinusoïdaux."
Mais déjà, sans parler de Python, comment fais-tu ça sur le papier ?
La méthode que tu montres est-elle correcte ? -
Sans parler de coder ça dans un langage de programmation,
comment fait-on la somme de 2 signaux sinusoïdaux ? -
Ah ?
Mais alors, il sort d'où ce code ?
C'est toi qui l'as écrit ? -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
as-tu ajouté des print() pour comprendre ce que fait ton programme?
il fait ce que tu lui demandes, pas ce que tu imagines.
pourquoi as-tu choisi de faire trois boucles?-
<code python>#Caractéristiques des signaux
A1 = 2 #Amplitude du signal 1
A2 = 2 #Amplitude du signal 2
f=50 # On fixe la fréquence f = 1/T = 50 Hz
phi= pi/2 # Phase de l'onde y2
y1,y2,y3 = [],[],[]
####################################
# Création des fonctions sinusoïdales
####################################
# Définition d'une fonction sinusoïdale y1 d'après les paramètres au dessus
for i in range(len(t)):
y1.append(A1*np.cos(2*pi*f*t[i]))
# Définition d'une fonction sinusoïdale y2
for i in range(len(t)):
y2.append(A2*np.cos(2*pi*f*t[i]+phi))
# Définition d'une fonction sinusoïdale y3
for i in range(len(t)):
y3=(y1[i]+y2[i])<code python>
J'ai modifié -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
On en revient toujours à la même question:
Comment ferais-tu si tu écrivais la formule sur un papier ?
Quelle est l'opération à effectuer pour faire la somme de 2 signaux ?
Et tu t'es trompé avec les balises de code, l'affichage n'est pas celui attendu ... -
ok, mais tu a mal mis les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
for i in range(len(t)):
t n'est pas défini ! et np non plus -
donc on ne peut pas tester ton programme, il manque t et np ...
sinon, tu as compris pour les balises ?