J'ai ce code pour calculer les dérivés:Expression Simplification
(define (diff x expr)
(if (not (list? expr))
(if (equal? x expr) 1 0)
(let ((u (cadr expr)) (v (caddr expr)))
(case (car expr)
((+) (list '+ (diff x u) (diff x v)))
((-) (list '- (diff x u) (diff x v)))
((*) (list '+
(list '* u (diff x v))
(list '* v (diff x u))))
((/) (list ‘div (list '-
(list '* v (diff x u))
(list '* u (diff x v)))
(list '* u v)))
))))
Comment puis-je simplifier les expressions algébriques?
au lieu de x + x
montrent 2x
et
au lieu de x * x
montrent x^2
Pour un bon résumé comprenant de nombreuses règles concrètes, faciles à mettre en œuvre, voir l'article: "L'histoire du calcul et le développement des systèmes d'algèbre informatique". Le chapitre pertinent est: http://www.math.wpi.edu/IQP/BVCalcHist/calc5.html#_Toc407004393 – dsg