J'essaie de concevoir un moyen de représenter des équations mathématiques en tant qu'objets Java. Voilà ce que je suis venu avec jusqu'à présent:Représentation d'équations mathématiques en tant qu'objets Java
- terme
- champs -Comprend tels que le coefficient (qui pourrait être négatif), exposant et variable (x, y, z, etc.). Certains champs peuvent même être considérés comme leurs propres termes, introduisant la récursivité.
-Objets qui étendent terme comprendrait des choses telles que TrigTerm pour représenter les fonctions trigonométriques.
équation
- -Ceci est une collection de terme de
- -La méthode toString() de l'équation appellerait la méthode toString() de l'ensemble de ses s Term et concaténer les résultats.
L'idée générale est que je serais en mesure de manipuler par programme les équations (par exemple, une méthode dirivative qui renvoie une équation qui est la dérivée de l'équation, il a été demandé, ou une évaluation méthode qui évaluer une équation pour une certaine variable égale à une certaine valeur).
Ce que je fonctionne très bien pour des équations simples:
Ceci est juste deux Terme s: une avec une variable « x » et un exposant « 2 » et un autre qui est juste une constante "3."
Mais pas tant pour les équations plus complexes:
Oui, ceci est un exemple terrible mais je fais juste un point. Donc, maintenant pour la question: quelle serait la meilleure façon de représenter les équations mathématiques en tant qu'objets Java? Y a-t-il des bibliothèques qui le font déjà?
Créer une arborescence d'expression. – NullUserException
Google autour de Content MathML pour une approche à votre problème. –
consultez le chapitre 5 de Foundations of Computer Science (http://infolab.stanford.edu/~ullman/focs.html) par Aho et Ullman pour une explication de la construction d'arbres d'expression simples –