Shopy 101
← Analyse numérique en Python Sign in to download
Fonctions en Python Fonctions en Python
Python et géométrie Python et géométrie

Fonction

Dans ce chapitre, on va effectuer des calculs sur la fonction ; on va appeler cette fonction f. Pour se faciliter la suite, on va créer cette fonction :

def f(x):
    return x**2-5

Résolution numérique d'une équation

Pour résoudre l'équation f(x)=0, on cherche un intervalle sur lequel on est certain que f s'annule. C'est le cas pour [1;3] parce que f(1) est négatif et f(3) est positif. La méthode de dichotomie vise à resserrer un tel intervalle. On constate ci-dessous que la fonction f est traitée comme une entrée de l'algorithme au même titre que les bornes a et b de l'intervalle :

0:\n print('pas de solution entre '+str(a)+' et '+str(b)+'!')\n return 0\n while(abs(a-b)>1e-14):\n m=(a+b)/2.\n if f(m)*f(a)>0:\n a=m\n else:\n b=m\n print('la solution de f(x)=0 est '+str(m))\n return m\n\n\n\nprint(zero(f,1,3))\n"}}'>
def zero(f,a,b):
    if f(a)*f(b)>0:
        print('pas de solution entre '+str(a)+' et '+str(b)+'!')
        return 0
    while(abs(a-b)>1e-14):
        m=(a+b)/2.
        if f(m)*f(a)>0:
            a=m
        else:
            b=m
    print('la solution de f(x)=0 est '+str(m))
    return m



print(zero(f,1,3))

La résolution de l'équation n'est pas terminée, puisque le script ci-dessus n'a donné qu'une seule des deux solutions de cette équation. Par ailleurs, la solution trouvée n'est affichée qu'à près.

Calcul numérique de nombre dérivé

Pour calculer le nombre dérivé de f en 5, on va utiliser l'approximation  :

def NDer(f,a):
    h=1e-10
    return (f(a+h)-f(a-h))/(2*h)



print(NDer(f,5))

Calcul numérique d'une intégrale

La méthode des rectangles dit que où et N est suffisamment grand pour que h soit petit (ci-dessous N=1 000 000) :

def Int(f,a,b):
    h=(b-a)/1000000.0
    somme=0
    for n in range(1000000):
        somme+=h*f(a+n*h)
    return(somme)



print(Int(f,0,2))