Bonjour,
Pour les cas simples (polynôme, trigonométrie...) c'est assez facile, il y a des formulaires que l'on apprends à l'école qui sont suffisants.
Ce qui est compliqué c'est la combinaison de plusieurs éléments simples, là encore les formules existent, mais l'analyse de l'expression à "découper" et sa restitution est bien plus complexe, en particulier si tu introduits des littéraux (constantes a, b, c... par exemple) qui doit être calculés entre eux.
Exemple de combinaison (pas si complexe que ça) : sin(e^x)/(ax²+bx+c)
Il faudrait déjà que tu établisses une grammaire des formules mathématiques (notamment sur la priorité des opérateurs) afin de découper l'équation de départ en instruction simple.
Exemple (la formule ci-dessus) :
division(
sinus(
puissance(
constante("e"),
variable("x")
)
),
somme(
produit(
constante("a"),
puissance(
variable("x"),
numerique("2")
)
),
produit(
constante("b"),
variable("x"),
),
constante("c")
)
)
Ensuite chaque opération simple doit être dérivée en respectant les formules existantes, par récursivité chaque nouveau morceau à dériver est également substitué et on doit en voir la fin.
Exemple : (f/g)' = (gf'-f'g)/g²
dérivée(division(f,g)) =
division(
soustraction(
produit(g, dérivée(f)),
produit(f, dérivée(e))
),
produit(g, g)
)
L'étape finale étant bien sûr de repasser de cette grammaire mathématique à une expression littérale comme l'était l'équation de départ.
Je ne te cacherais pas que tout cela demande pas mal de boulot. Mais ça reste faisable (contrairement à l'opération inverse : l'intégrale, qui n'est pas toujours possible).