Comment effectuer des opérations sur des expressions littérales avec Mathjs ? - mathalea/mathalea GitHub Wiki

Dans la console de debug de son navigateur, copier-coller ce code sur la page suivante:

expression = math.parse('2*x+3')
modification = math.parse('2*x')
resultat1 = new math.OperatorNode('+','add',[expression,modification])
resultat2 = new math.OperatorNode('-','subtract',[expression,modification])
resultat3 = new math.OperatorNode('*','multiply',[expression,modification])
resultat4 = new math.OperatorNode('/','divide',[expression,modification])
resultat5 = new math.OperatorNode('^','pow',[expression,modification])
resultat6 = new math.OperatorNode('-','unaryMinus',[expression])

console.log('expression de départ : ',expression.toString())
console.log('"modification" : ',modification.toString())

console.log('On ajoute 2x : ',resultat1.toString())
console.log('On soustrait 2x : ',resultat2.toString())
console.log('On multiplie par 2x : ',resultat3.toString())
console.log('On divise par 2x : ',resultat4.toString())
console.log('On eleve à la puissance 2x : ',resultat5.toString())
console.log('On prend l\'opposé : ',resultat6.toString())

simplification1 = math.simplify(resultat1)
simplification2 = math.simplify(resultat2)
simplification3 = math.simplify(resultat3)
simplification4 = math.simplify(resultat4)
simplification5 = math.simplify(resultat5)
simplification6 = math.simplify(resultat6)

console.log('simplification1 : ',simplification1.toString(), ' - latex -> ',simplification1.toTex())
console.log('simplification2 : ',simplification2.toString(), ' - latex -> ',simplification2.toTex())
console.log('simplification3 : ',simplification3.toString(), ' - latex -> ',simplification3.toTex())
console.log('simplification4 : ',simplification4.toString(), ' - latex -> ',simplification4.toTex())
console.log('simplification5 : ',simplification5.toString(), ' - latex -> ',simplification5.toTex())
console.log('simplification6 : ',simplification6.toString(), ' - latex -> ',simplification6.toTex())

On obtient ceci :