Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Calcul Differentiel


Différentiation

Dérivée première

On peut différentier (dériver) toute expression, par diff(fonction, variable) :

  >>> from sympy import *
  >>> x = Symbol('x')
  >>> diff(sin(x), x)
  cos(x)

  >>> diff(sin(2*x), x)
  2*cos(2*x)

  >>> diff(tan(x), x)
  cos(x)**(-2)

On peut vérifier ces résultats en utilisant le taux d'accroissement :

  >>> limit((tan(x+y)-tan(x))/y, y, 0)
  cos(x)**(-2)

Dérivées multiples

On peut encore calculer des dérivées multiples par diff(fonc, var, n) :

  >>> diff(sin(2*x), x, 1)
  2*cos(2*x)

  >>> diff(sin(2*x), x, 2)
  -4*sin(2*x)

  >>> diff(sin(2*x), x, 3)
  -8*cos(2*x)

Primitives

Pour calculer une primitive, procéder ainsi :

  >>> from sympy import *
  >>> x, y = symbols('xy')
  >>> integrate(6*x**5, x)
  x**6

  >>> integrate(sin(x), x)
  -cos(x)

  >>> integrate(log(x), x)
  x*log(x) - x

  >>> integrate(2*x + sinh(x), x)
  x**2 + cosh(x)

  >>> integrate(exp(-x**2)*erf(x), x)
  (1/4)*pi**(1/2)*erf(x)**2

Intégrales

On peut calculer des intégrales avec sympy :

  >>> integrate(x**3, (x, -1, 1))
  0
  >>> integrate(sin(x), (x, 0, pi/2))
  1
  >>> integrate(cos(x), (x, -pi/2, pi/2))
  2

Les intégrales impropres sont aussi définies :

  >>> integrate(exp(-x), (x, 0, oo))
  1
  >>> integrate(log(x), (x, 0, 1))
  -1

Développements limités

Pour faire un développement limité, on utilise la méthode .series(var, point, ordre) :

  >>> from sympy import *
  >>> x = Symbol('x')
  >>> cos(x).series(x, 0, 10)
  1 - 1/2*x**2 + (1/24)*x**4 - 1/720*x**6 + (1/40320)*x**8 + O(x**10)

  >>> (1/cos(x)).series(x, 0, 10)
  1 + (1/2)*x**2 + (5/24)*x**4 + (61/720)*x**6 + (277/8064)*x**8 + O(x**10)

Autre exemple simple, incluant un "bel" affichage :

  >>> from sympy import Integral, Symbol, pprint
  >>> x = Symbol("x")
  >>> y = Symbol("y")

  >>> e = 1/(x + y)
  >>> s = e.series(x, 0, 5)

  >>> print(s)
  1/y + x**2*y**(-3) + x**4*y**(-5) - x*y**(-2) - x**3*y**(-4) + O(x**5)

  >>> pprint(s)
       2    4         3
  1   x    x    x    x
  ─ + ── + ── - ── - ── + O(x**5)
  y    3    5    2    4
      y    y    y    y

Equations différentielles

On peut résoudre des équations différentielles avec sympy :

  >>> from sympy import *
  >>> f=Function('f')

  >>> f(x).diff(x, x) + f(x)
  D(f(x), x, x) + f(x)

  >>> dsolve(f(x).diff(x, x) + f(x), f(x))
  C1*sin(x) + C2*cos(x)

Page Actions

Recent Changes

Group & Page

Back Links