Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

ONDE et PYTHON

Posté par
scott57
26-09-23 à 16:24

Bonjour, je suis nouveau sur ce site et j'aurai besoin d'aide pour ce DM mélangeant ONDE et programme PYTHON.

Une onde, en physique, est représenté par une fonction de la forme y1=A.sin(2πft) avec f la fréquence de l'onde. On appelle déphasage et on le note q , le retard d'une onde par rapport à une autre. Dans ce cas la fonction représentant l'onde est de la forme y2=A.sin(2πft + q).(Dans y1, q=0)
Ci-dessous, vous trouverez le code python qui permet de tracer une fonction sinusoïdale.

1. Complétez la ligne 4 pour que la durée soit de 1s
2. Compléter la ligne 5 pour que la durée entre deux points, notée dt, soit de 10μs
3. Expliquer la ligne 6
4. Expliquer la ligne 7
5. A la ligne 10, compléter l'expression de y1 permettant d'observer une onde sinusoïdale. On prendra A=1.
6. A la ligne 15, compléter afin de tracer y1 en fonction du temps, de couleur verte, et que l'expression de y1 soit indiqué sur le graphique

7. .A la ligne 18, compléter pour que le titre du graphique soit « tracé de y1 »
8. .A la ligne 19 , compléter pour qu'il soit indiqué « temps(s) » sur l'axe des abscisses.
9. A la ligne 20 , compléter pour qu'il soit indiqué « amplitude » sur l'axe des ordonnées.On définit une variable phi qui correspond au déphasage.phi=np.pi

10. .Créer une boite de dialogue qui vous demande le déphasage (vous rentrerez 2 pour un déphasagede pi/2 ou 4 pour un déphasage de pi/4…etc.

11. Ajouter une ligne qui permet de créer l'onde y2 avec son déphasage phi
12. Ajouter une ligne qui permet de tracer y2, de couleur rouge, puis y3=y1 + y2 , de couleur bleue.

13. Modifier le titre du graphique en « y3=y1 + y2 ».
14. Faire apparaitre les expressions de y1 et y2.
15. Observer les courbes pour phi=2pi, phi=pi, phi=pi/4, phi=pi/2. Que peut-on dire de l'onde résultante y3 dans les 4 cas ?

16. Expliquer les lignes 1 et 2

Code python :

import numpy as np
import matplotlib.pyplot as plt
f=200
duree=
dt=
nb_points=int(temps_total/dt)
temps=np.linspace(0,nb_points,nb_points)*d

Y1=np.sin()

#gestion graphique
fig=plt.figure(figsize=(10,10))
#tracé des signaux
plt.plot()
#affichage
plt.legend(loc='upper right')
plt.title("")
plt.xlabel("")
plt.ylabel("")
plt.xlim(0,0.02)
plt.ylim(-2.2,2.2)
plt.show()
plt.grid(True)

Posté par
scott57
re : ONDE et PYTHON 26-09-23 à 17:51

1. durée =1
2. dt = 1 * 10^(-5)
16. ligne 1 : importation de la bibliothèque Numpy avec le surnom np
   ligne 2 : importation du module matplotlib.pyplot avec le surnom plt

Posté par
vanoise
re : ONDE et PYTHON 26-09-23 à 18:10

Bonsoir
Ce que tu as fait pour l'instant me paraît correct. Qu'est-ce qui te gêne pour la suite ?

Posté par
scott57
re : ONDE et PYTHON 29-09-23 à 18:16

Bonsoir et merci d'avoir pris le temps de regarder

je ne suis pas du tout à l'aise avec Python donc j'y vais progressivement en m'aidant de vidéos, c'est pour ça que je mets du temps à répondre

Pour 5)
Y1=np.sin(2*np.pi*f*temps)

Pour 6)
plt.plot(temps,Y1,"g-")   là j'ai un doute
par contre pour l'expression de y1 je ne vois pas

Pour 7)
plt.title("tracé de Y1")

Posté par
vanoise
re : ONDE et PYTHON 29-09-23 à 19:40

Pas de problème pour 5 et 7. Pour 6, il faut créer un "label". Cela pourrait donner ceci :
plt.plot(temps,Y1,color='green',label="Y1=sin(2.pi.f.t)")
sauf si tu as étudié comment entrer des formules en utilisant latex mais cela n'est sans doute pas de ton programme. A tout hasard :
plt.plot(temps,Y1,color='green',label=r"$Y_1=\sin(2\pi f.t)$")
PS erreur ou étourderie de copie : pour que la grille apparaisse sur le tracé, la ligne plt.grid(True) doit être placé avant la ligne plt.show() qui doit toujours être la dernière.

Posté par
scott57
re : ONDE et PYTHON 29-09-23 à 21:09

en effet latex ne me parle pas
merci pour la 6)
alors questions 8 et 9 c'est OK
Ma variable phi est : np.pi/2
et là de nouveau je bloque sur "créer une boite de dialogue"

Pour11 je fais pareil que Y1 en rajoutant "+phi"mais je peux la rajouter ou je veux ?? ..je la mettrai alors en dessous de celle de Y1

Pour 12 j'utilise plt.plot comme pour Y1 mais en mettant color='red'
je definis Y3 et pareil un plt.plot de color='blu'

Pour 13 je reprends la question 7 et je modifie le titre dans ma programmation

et si mon programme est correct je dois visualiser mes courbes

Posté par
vanoise
re : ONDE et PYTHON 29-09-23 à 22:19

La boîte de dialogue s'obtient par "input". Tu rentre entre guillemets le dialogue qui doit apparaître à l'écran. L'utilisateur répond en entrant un chiffre : 2 ou 3 ou 4... Dans mon exemple, j'ai choisi n=3.
Problème : la réponse (que je nomme N) est interprété par le programme comme une chaîne de caractère. La ligne :
n=int(N) définit le nombre entier n correspondant à la chaîne de caractère N.
Le programme permet d'obtenir dans le même repère les courbes Y1, Y2 et y3.
Voici le résultat ci-dessous. N'hésite pas à poser des questions complémentaires si tu le juges utile.
Voici le programme :

ONDE et PYTHON

pdf
PDF - 16 Ko

Posté par
scott57
re : ONDE et PYTHON 30-09-23 à 11:15

bonjour et merci pour la boite de dialogue
J'ai lancé ce matin mon programme sur python et problème!
Python me dit qu'il ne connait pas la variable temps_total...pour moi c'est la durée..je me trompe?
Car je n'ai défini aucun temps_total dans mon programme

Posté par
vanoise
re : ONDE et PYTHON 30-09-23 à 18:46

Encore une incohérence de ton programme que j'ai corrigé dans le fichier pdf : le temps total est défini plus haut sous le nom de "duree". A toi de corriger.

Posté par
scott57
re : ONDE et PYTHON 01-10-23 à 11:36

encore MERCI pour votre aide car je n'aurai jamais trouvé toutes ces erreurs dans le programme sans vous
J'ai testé toutes les courbes de la question 15 et c'est super!
Merci vraiment



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2024

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 237 fiches de physique

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !