Bonjour, je me permets de vous demander un petit peu d'aide sur une problème qui m'use les neurones depuis quelques jours.
Je suis encore débutant et ne maîtrise pas totalement le module pylab pour les graphes en python.
J'essaie d'effectuer un éxo dans lequel on me demande de tracer la courbe suivante pour les valeurs ξ=0.2,0.6 et 0.8:
s(t)=exp(-ξ*2*pi*t)*[cos(2pi*sqrt(1-ξ^2)*t) +(ξ/sqrt(1-ξ^2))*sin(2pi*sqrt(1-ξ^2)*t)] (désolé pour cette présentation mais je ne sais pas afficher l'équation autrement...)
J'arrive à obtenir les trois courbes demandées par contre, lorsqu'on me demande ensuite de tracer en plus sur le même graphe les droites d'intersection avec les courbes
s(t)=+0.005 et s(t)=-0.005 le programme ne marche pas et le terminal me renvoie un problème de dimension("x and y must have same first dimension").
Voici mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import numpy as np import pylab as pl def s(x,t): a=np.sqrt(1-x**2) b=2*np.pi*a*t c=x/a return np.exp(-x*2*np.pi*t)*(np.cos(b)+c*np.sin(b)) t=np.arange(0,4,0.001) pl.plot(t,s(0.2,t),t,s(0.6,t),t,s(0.8,t)) pl.plot(t,0.005,t,-0.005) #c'est lorsque je rajoute cette ligne que le terminal me renvoie l'erreur# pl.xlabel('t') pl.ylabel('s(t)') pl.title('s(t) pour differentes valeures de x') pl.legend(('x=0.2','x=0.6','x=0.8'),'upper right') pl.show()
Merci d'avance pour vos aides et conseils.....
Partager