Page 1 sur 2

Déribée

Posté : lun. 14 déc. 2020 13:37
par Catherine
Bonjour à tous

en gros je suis en première et sur le chapitre sur la dérivée mon prof a dit qu'en plus de la formule classique de la dérivée, on pouvait approcher la dérivée de la manière suivante : \(f'(x)=\frac{f(x+h)-f(x-h)}{2h}\)

Comment puis-je programmer une fonction Python qui calcule la dérivée première d’une fonction f à partir de la formule donnée au dessus ?

merci de m'aider et bonne journée !

Re: Déribée

Posté : lun. 14 déc. 2020 18:43
par SoS-Math(34)
Bonjour Catherine,

Voici une possibilité en pièce jointe.
J'ai utilisé la fonction carrée mais il suffit de changer la formule dans y = ... pour l'adapter à une autre fonction f.

Bonne recherche,
sosmaths

Re: Déribée

Posté : mar. 15 déc. 2020 11:21
par Invité
Merci de votre réponse Monsieur ou Madame.

Dans mon exercice il y a deux autres questions, qui sont sur l'image :
informatique.png
informatique.png (9.96 Kio) Vu 4910 fois
Comment peut-on utiliser la fonction précédente pour répondre à la question sur la fonction g ?

Re: Déribée

Posté : mar. 15 déc. 2020 15:12
par sos-math(21)
Bonjour,
je ne comprends pas trop bien la question : il faut utiliser la fonction derivative du module scipy ou continuer d'utiliser des taux d'accroissement ? Ou les deux ?
Merci de préciser le rôle de ce qui est souligné (Donnée)
Bonne continuation

Re: Déribée

Posté : mar. 15 déc. 2020 18:48
par Invité
C'est avec les deux méthodes... Deux programmes différents je crois.

Re: Déribée

Posté : mar. 15 déc. 2020 19:55
par sos-math(21)
Bonjour,
une façon de répondre au problème est de créer une fonction taux comme l'a proposé sos-math(34).
Puis de créer une liste pour les valeurs de \(h\) et la liste des images.
Cela pourrait être :

Code : Tout sélectionner

import math
def taux(f,x,h):
    t = (f(x+h)-f(x-h))/(2*h)
    return t
liste = [10**(-i) for i in range(21)]
image = [taux(lambda x:math.exp(x),0,elt) for elt in liste]
ce qui donne :

Code : Tout sélectionner

>>>image
[1.1752011936438014,
 1.001667500198441,
 1.0000166667499921,
 1.0000001666666813,
 1.0000000016668897,
 1.0000000000121023,
 0.9999999999732445,
 0.9999999994736442,
 0.9999999994736442,
 1.0000000272292198,
 1.000000082740371,
 1.000000082740371,
 1.0000333894311098,
 0.9997558336749535,
 0.9992007221626409,
 1.0547118733938987,
 0.5551115123125783,
 0.0,
 0.0,
 0.0,
 0.0]
Bonne continuation

Re: Déribée

Posté : mer. 16 déc. 2020 21:43
par Invité
Merci beaucoup

mais alors là on n'utilise pas scipy ?

quand faut-il l'utiliser alors ?

Re: Déribée

Posté : mer. 16 déc. 2020 21:48
par sos-math(21)
Bonjour,
je répondais à la première demande, il reste effectivement la deuxième fonction avec scipy : ce n'est pas le plus dur.

Code : Tout sélectionner

import math
from scipy.misc import derivative
def taux(f,x,h):
    t = (f(x+h)-f(x-h))/(2*h)
    return t
liste = [10**(-i) for i in range(21)]
image = [taux(lambda x:math.exp(x),0,elt) for elt in liste]

def taux_scipy(f,x,h):
    return derivative(f, x, dx = h)
image_bis = [taux_scipy(lambda x:math.exp(x),0,elt) for elt in liste]
quand on demande image_bis, on a :

Code : Tout sélectionner

>>>image_bis
[1.1752011936438014,
 1.001667500198441,
 1.0000166667499921,
 1.0000001666666813,
 1.0000000016668897,
 1.0000000000121023,
 0.9999999999732445,
 0.9999999994736442,
 0.9999999994736442,
 1.0000000272292198,
 1.000000082740371,
 1.000000082740371,
 1.0000333894311098,
 0.9997558336749535,
 0.9992007221626409,
 1.0547118733938987,
 0.5551115123125783,
 0.0,
 0.0,
 0.0,
 0.0]
Bonne suite d'étude

Re: Déribée

Posté : sam. 19 déc. 2020 15:00
par Invité
D'accord c'est compris !

Et que doit-on remarquer de particulier ?

Re: Déribée

Posté : sam. 19 déc. 2020 20:31
par sos-math(21)
Bonjour,
je pense qu'il faut remarquer la très grande proximité des valeurs d'images par la fonction taux d'accroissement et par la fonction dérivée, ce qui illustre la dérivée d'une fonction comme la limite du taux d'accroissement.
Bonne continuation

Re: Déribée

Posté : sam. 19 déc. 2020 22:54
par Invité
d'accord, oui c'est vrai ça !

et quand mon prof écrit "proposez une explication", que puis-je proposer ?

Re: Déribée

Posté : dim. 20 déc. 2020 00:30
par SoS-Math(25)
Comme l'a dit sos-math(21), l'explication vient du lien entre taux d'accroissement et fonction dérivée.

A bientôt

Re: Déribée

Posté : mar. 5 janv. 2021 03:40
par Invité
Bonjour !

J'ai complètement oublié ce travail et je dois le rendre très bientôt !! Mince !!!

Je me rends compte qu'il y manque quelque chose : "Tracez les valeurs obtenues en fonction de h (en utilisant une échelle log pour l’axe des abscisses)".

Comment je peux faire ça en programmation PYTHON ?

Et meilleurs vœux pour cette année 2021 qui commence !!!!

Re: Déribée

Posté : mar. 5 janv. 2021 20:21
par sos-math(21)
Bonjour,
il faudrait que tu précises ta demande car je ne vois pas de quelle question tu parles.
Pour les problèmes d'échelle, il faut que tu ailles voir les fonctionnalités de matplotlib.
Bonne continuation

Re: Déribée

Posté : mar. 5 janv. 2021 20:42
par Invité
Invité a écrit :
mar. 15 déc. 2020 11:21
Merci de votre réponse Monsieur ou Madame.

Dans mon exercice il y a deux autres questions, qui sont sur l'image :
informatique.png

Comment peut-on utiliser la fonction précédente pour répondre à la question sur la fonction g ?
Dans ce message il y a la question "tracez......." : voyez-vous maintenant ?

car je bloque dessus