Source code for numpyy.polynomes

import numpy as np
from .utils import joli_polynome, imprimer_etapes
from .config import est_pedagogique
import math

def poly_evaluer(coeffs, x):
    return np.polyval(coeffs, x)

[docs] def horner(coeffs, x, pedagogique=None): """ Evalue un polynome en utilisant la methode de Horner. Args: coeffs (array_like): Coefficients du polynome [a_n, ..., a_0]. x (float): Valeur a laquelle evaluer le polynome. pedagogique (bool, optional): Affiche les etapes de calcul si True. Returns: float: Valeur du polynome au point x. """ resultat = 0 etapes = [] for c in coeffs: old_result = resultat resultat = resultat * x + c if est_pedagogique(pedagogique): etapes.append(f"Resultat = ({old_result} * {x}) + {c} = {resultat}") if est_pedagogique(pedagogique): imprimer_etapes(f"Methode de Horner (x={x})", etapes) return resultat
def horner_etapes(coeffs, x): return horner(coeffs, x, pedagogique=True) def poly_derivee(coeffs): return np.polyder(coeffs).coeffs def poly_integrale(coeffs): return np.polyint(coeffs).coeffs
[docs] def taylor(f, a, n, h=0.01): """ Calcule les coefficients du polynome de Taylor d'ordre n au point a. Args: f (callable): Fonction a approximer. a (float): Point d'expansion. n (int): Ordre du polynome. h (float, optional): Pas utilise pour la differentiation. Returns: ndarray: Coefficients du polynome de Taylor [a_n, ..., a_0]. """ from .derivation import derivee_nieme coeffs = [] for i in range(n, -1, -1): fact = math.factorial(i) deriv = derivee_nieme(f, a, i, h) coeffs.append(deriv / fact) return np.array(coeffs)