Bonjour
Je me présente brièvement : élève d'une cpge, section mpsi.
Je suis censé résoudre numériquement une équation différentielle du second ordre. Le problème est que spyder ne veut pas m'afficher la courbe... A la place il m'affiche ce message d'erreur : UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 61: ordinal not in range(128)
J'ai lu des discussions où le problème était similaire sans rien y comprendre, c'est pourquoi je vous prie de bien vouloir m'aider. Merci d'avance.
Le code :
Code:import matplotlib.pyplot as plt import numpy as np g=9.81 l=0.5 N=1000 a=0 b=5 h=(b-a)/N T=np.linspace(a,b,N+1) ang=np.zeros(N+1) vitang=np.zeros(N+1) ang[0]=5*np.pi/180 vitang[0]=0 for i in range(1,N+1): ang[i]=ang[i-1]+h*vitang[i-1] vitang[i] = vitang[i-1] - h*(g/l)*np.sin(ang[i-1]) ang[i]=ang[i-1]+h*vitang[i-1] plt.plot(T,ang,'k',linestyle='dashed',label='solution approchée') plt.plot(T,ang,'k',linestyle='dashed',label='solution approchée') ang_test = ang[0]*np.cos(np.sqrt(g/l)*T) plt.plot(T,ang,'gray',linestyle="dashed") plt.plot(T,ang_test,'black','k') plt.title("Oscillations du pendule simple") plt.xlabel("T en secondes") plt.ylabel("Theta en degrés") plt.axehline(color='k') plt.axis([0,5,-0.1,0.1]) plt.show()
-----