Déribée

Retrouver tous les sujets résolus.
Catherine

Déribée

Message par Catherine » lun. 14 déc. 2020 13:37

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 !
SoS-Math(34)
Messages : 593
Enregistré le : ven. 17 nov. 2017 09:31

Re: Déribée

Message par SoS-Math(34) » lun. 14 déc. 2020 18:43

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
Fichiers joints
approximation du nombre dérivé_algorithme Python.pdf
(27.68 Kio) Téléchargé 30 fois
Invité

Re: Déribée

Message par Invité » 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
informatique.png (9.96 Kio) Vu 587 fois
Comment peut-on utiliser la fonction précédente pour répondre à la question sur la fonction g ?
sos-math(21)
Messages : 8785
Enregistré le : lun. 30 août 2010 11:15

Re: Déribée

Message par sos-math(21) » mar. 15 déc. 2020 15:12

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
Invité

Re: Déribée

Message par Invité » mar. 15 déc. 2020 18:48

C'est avec les deux méthodes... Deux programmes différents je crois.
sos-math(21)
Messages : 8785
Enregistré le : lun. 30 août 2010 11:15

Re: Déribée

Message par sos-math(21) » mar. 15 déc. 2020 19:55

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
Invité

Re: Déribée

Message par Invité » mer. 16 déc. 2020 21:43

Merci beaucoup

mais alors là on n'utilise pas scipy ?

quand faut-il l'utiliser alors ?
sos-math(21)
Messages : 8785
Enregistré le : lun. 30 août 2010 11:15

Re: Déribée

Message par sos-math(21) » mer. 16 déc. 2020 21:48

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
Invité

Re: Déribée

Message par Invité » sam. 19 déc. 2020 15:00

D'accord c'est compris !

Et que doit-on remarquer de particulier ?
sos-math(21)
Messages : 8785
Enregistré le : lun. 30 août 2010 11:15

Re: Déribée

Message par sos-math(21) » sam. 19 déc. 2020 20:31

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
Invité

Re: Déribée

Message par Invité » sam. 19 déc. 2020 22:54

d'accord, oui c'est vrai ça !

et quand mon prof écrit "proposez une explication", que puis-je proposer ?
SoS-Math(25)
Messages : 1745
Enregistré le : mer. 2 nov. 2011 09:39

Re: Déribée

Message par SoS-Math(25) » dim. 20 déc. 2020 00:30

Comme l'a dit sos-math(21), l'explication vient du lien entre taux d'accroissement et fonction dérivée.

A bientôt
Invité

Re: Déribée

Message par Invité » mar. 5 janv. 2021 03:40

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 !!!!
sos-math(21)
Messages : 8785
Enregistré le : lun. 30 août 2010 11:15

Re: Déribée

Message par sos-math(21) » mar. 5 janv. 2021 20: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
Invité

Re: Déribée

Message par Invité » mar. 5 janv. 2021 20:42

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
Répondre