# -*- coding: utf-8 -*- """ Created on Thu Sep 11 13:26:14 2014 @author: Gerard M. MAMOU http://docs.scipy.org/doc/ librairies installees: Imported NumPy 1.7.1, SciPy 0.12.0, Matplotlib 1.2.1 Type "scientific" for more details. plot de fonctions simples resolutions d'equations differentielles, scipy, ode, odeint """ import numpy as np import scipy as sp import scipy.integrate as integrate import matplotlib.pyplot as plt #Dessin Simple de lignes brisées from pylab import * x = array([0, 1, 2, 0]) y = array([0, 1, 0, 0]) plot(x, y) show() # affiche la figure a l'ecran clf() #Dessin Simple de cosinus x = linspace(0, 2*pi, 30) y = cos(x) plot(x, y) title("Fonction cosinus") show() clf() #Dessin d'une fonction x=np.linspace(-5,5,100) plt.plot(x,np.sin(x)) # on utilise la fonction sinus de Numpy plt.ylabel('fonction sinus') plt.xlabel("l'axe des abcisses") plt.show() plt.clf() #Superposition de deux fonctions x=np.linspace(-5,5,100) p1=plt.plot(x,np.sin(x),marker='o') p2=plt.plot(x,np.cos(x),marker='v') plt.title("Fonctions trigonometriques") plt.show() plt.clf() #odeint de scipy, exemple simple #------------------------------- def equa_diff(y, t): return -y #end def t=np.linspace(0, 1, 10) solution=integrate.odeint(equa_diff, 1, t) plt.plot(t,solution) plt.ylabel("Solution de l'equation differentielle") plt.xlabel('Temps en s') plt.show() plt.clf() #odeint de scipy, circuit electrique #----------------------------------- def equa_diff(Uc, t): E0=2 omega=2*3.14 R=1 C=1 return (E0*cos(omega*t)/(R*C))-Uc; #end def t=np.linspace(0, 20, 10000) solution=integrate.odeint(equa_diff, 0, t) plt.plot(t,solution) plt.ylabel("Solution de l'equation differentielle") plt.xlabel('Temps en s') plt.show() plt.clf() #odeint de scipy, circuit electrique, passage de parametres #---------------------------------------------------------- def equa_diff(Uc, t, E0, omega, R, C): return (E0*cos(omega*t)/(R*C))-Uc; #end def t=np.linspace(0, 20, 10000) solution=integrate.odeint(equa_diff, 0, t, (2, 2*3.14, 1, 1)) plt.plot(t,solution) plt.ylabel("Solution de l'equation differentielle") plt.xlabel('Temps en s') plt.show() plt.clf() #odeint de scipy, exemple simple equation differentielle second ordre #-------------------------------------------------------------------- def equa_diff(vecteur, t): y=vecteur[0] yprime=vecteur[1] derivee_de_y=yprime derivee_de_yprime=-y derivee_de_vecteur=[derivee_de_y, derivee_de_yprime] return derivee_de_vecteur #end def t=np.linspace(0, 10*2*3.14, 1000) solution=integrate.odeint(equa_diff, [1, 0], t) plt.plot(t,solution[:, 0]) plt.ylabel("Solution de l'equation differentielle") plt.xlabel('Temps en s') plt.show() plt.clf() #odeint de scipy, exemple simple portrait de phase #------------------------------------------------- plt.plot(solution[:, 0], solution[:, 1]) plt.ylabel("yprime") plt.xlabel('y') plt.show()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question