teaching:progappchim:polynomes-10

Ceci est une ancienne révision du document !


Polynômes : fonctionnalités supplémentaires

Voici quelques fonctions utiles pour manipuler les polynômes :

Proposé et testé par RL, étudiant ba2 2012-2013. <sxh python; title : derivation.py> # -*- coding: utf-8 -*- def polyderiv(a):

  """dérivation d'un polynôme
  """
  b=a[:]  #copie de la liste des coefficients du polynôme de départ
  n=len(b)-1  #ordre du polynôme
  for i in range (n+1):
      b[i]=b[i]*i  #on redéfinit chaque coefficient i de la liste par ce même coefficient*le degré
  b.pop(b[0])  #on supprime le premier élément de la liste (terme indépendant)
  return b

</sxh>

Proposition de AP, étudiant ba2 2012-2013 : <sxh python; title : polyx.py> # -*- coding: utf-8 -*- def polyx(a):

  """polyx est un fonction qui multiplie un polynôme par x.
  Cela revient à rajouter un 0 à gauche de la liste passée en argument de la fonction (a).
  """
  b=[0]               #Nouvelle liste dont le premier terme vaut 0.
  for coef in range(len(a)):           #Pour tout les coefficients de la liste a de degré n, on ajoute la liste b.
      b.append(a[coef])
  return b

</sxh> Les listes pouvant être concaténées, on peut écrire cela plus simplement encore : <sxh python; title : polyshift.py> # -*- coding: utf-8 -*- def polyshift (a):

  """Multiplication du polynome par la variable x"""
  b=[0]+a   # cela revient à "shifter" la liste des coefficients en insérant un 0 "à gauche"
  return b

</sxh>

Sur base de la proposition de RL, étudiant ba2 2012-2013 : <sxh python; title : polyintegr.py> def polyintegr(a):

  """intégration d'un polynôme
  """
  b=[0]  #on indique un coefficient indépendant nul en début de la liste (constante d'intégration nulle)
  n=len(a)  #ordre du polynôme après intégration == ordre du polynôme avant intégration +1
  for i in range (n):  # on balaie sur toutes les puissances i successives
      b.append(a[i]/(i+1)) #le coefficient du terme correspondant après intégration est ajouté
  return b

</sxh> Suite...

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/polynomes-10.1353511306.txt.gz
  • Dernière modification : 2012/11/21 16:21
  • de villersd