Problème de programmation

Résolu/Fermé
Lebourdais2003 - Modifié le 31 déc. 2020 à 10:31
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 31 déc. 2020 à 17:03
Bonjour,
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

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
Modifié le 31 déc. 2020 à 10:51
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 ?
0
Lebourdais2003
31 déc. 2020 à 10:56
je n'ai compris
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
31 déc. 2020 à 11:06
Sans parler de coder ça dans un langage de programmation,

comment fait-on la somme de 2 signaux sinusoïdaux ?
0
Lebourdais2003
31 déc. 2020 à 11:19
je ne sais pas
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
31 déc. 2020 à 11:51
Ah ?

Mais alors, il sort d'où ce code ?

C'est toi qui l'as écrit ?
0
Lebourdais2003
31 déc. 2020 à 11:57
oui c moi qui l'a écrit notre prof nous avait donnée la formule pour y1
0
Lebourdais2003 > Lebourdais2003
Modifié le 31 déc. 2020 à 11:59
c moi qui est marquer pour y2 et y3 mais je ne suis pas sûre pour y3
0
yg_be Messages postés 22711 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2024 1 474
31 déc. 2020 à 12:09
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?
0
Lebourdais2003
31 déc. 2020 à 12:14
<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é
0
yg_be Messages postés 22711 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2024 1 474 > Lebourdais2003
31 déc. 2020 à 13:41
et cela marche?
ce serait plus simple avec une seule boucle
for i in range(len(t)):
    c1= ...
    c2= ...
    y1.append(...)
    y2.append(...)
    y3.append(...)
0
Lebourdais2003 > yg_be Messages postés 22711 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2024
31 déc. 2020 à 14:38
Mais comment on additionne.du signaux ??
0
yg_be Messages postés 22711 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2024 1 474 > Lebourdais2003
31 déc. 2020 à 16:40
comment fait-on une addition en python?
0
yg_be Messages postés 22711 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 avril 2024 1 474
31 déc. 2020 à 12:40
quel est la partie de code donnée par le prof?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
31 déc. 2020 à 14:22
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 ...
0
Lebourdais2003
31 déc. 2020 à 14:39
J'ecrirais la formule de y1 + celle de y2
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
Modifié le 31 déc. 2020 à 15:31
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
0
Lebourdais2003
31 déc. 2020 à 15:39
Si au dessus je ne l'ai juste pas mis
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
31 déc. 2020 à 17:03
donc on ne peut pas tester ton programme, il manque t et np ...

sinon, tu as compris pour les balises ?
0