Problème de programmation

Résolu
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

  1. donc on ne peut pas tester ton programme, il manque t et np ...

    sinon, tu as compris pour les balises ?
    1. 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 ...
      1. J'ecrirais la formule de y1 + celle de y2
    2. Contributeur
      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?
      1. <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é
      2. Contributeur
        quel est la partie de code donnée par le prof?
      3. Contributeur
        @Lebourdais2003et cela marche?
        ce serait plus simple avec une seule boucle
        for i in range(len(t)):
            c1= ...
            c2= ...
            y1.append(...)
            y2.append(...)
            y3.append(...)
      4. @yg_beMais comment on additionne.du signaux ??
    3. Ah ?

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

      C'est toi qui l'as écrit ?
      1. oui c moi qui l'a écrit notre prof nous avait donnée la formule pour y1
      2. @Lebourdais2003c moi qui est marquer pour y2 et y3 mais je ne suis pas sûre pour y3
    4. Sans parler de coder ça dans un langage de programmation,

      comment fait-on la somme de 2 signaux sinusoïdaux ?
      1. je ne sais pas
    5. 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 ?
      1. je n'ai compris