Question

J'ai écrit une implémentation simple en C # graphiquement, et je peux représenter graphiquement les choses en comparant chaque pixel à la position sur le graphique qu'il représente et de brancher cette position dans la fonction que je dois voir si elle est sur la courbe. C'est bien et bon.

Le problème que je vais avoir utilise un polynôme taylor généré. Par exemple, je suis en mesure de créer le n-ième polynôme taylor d'une fonction transcendante f centrée à c en faisant

sommation de ce de 0 à n de la variable de compteur étant k = ((k-ième dérivée de f (c)) * (x-c) ^ k) / k!

Je ne sais pas comment faire le balisage de mathématiques sur stackoverflow ne suis-je aussi compétent le faire sur le web, mais je l'espère, qui est compréhensible. Le côté gauche pourrait être écrit sigma _k = 0 ^ n ou quelque chose comme ça avec _ représentant la section en sigma et la ^ représentant la partie ci-dessus ...

Je finis par la génération d'un polynôme de Taylor du 6ème degré cos (x) centrée à 0 (MacLaurin, je sais) qui ressemble à quelque chose comme

"1 - x ^ 2/2 + x ^ 4/4 -! X ^ 6/6"

Cela peut être fait par une simple manipulation de chaînes en C #. Je peux juste boucle à travers et ajouter le prochain terme à la chaîne.

Je ne peux vraiment pas comprendre comment je réellement pouvoir utiliser la chaîne en fonction de comparer à des positions de graphique pour voir si cette position graphique est en fait sur ce graphique à l'autre donc. Donc, essentiellement: Comment puis-je utiliser une chaîne comme une fonction mathématique réelle en C #, ou est-il une meilleure façon de le faire

.

Vraiment désolé si elle est source de confusion ... vraiment essayer de mon mieux pour l'expliquer d'une façon que les gens peuvent aider.

Était-ce utile?

La solution

Vous avez besoin d'un analyseur de chaîne -> fonction. Voir MathParser un exemple, qui fait probablement tout ce que vous avez mentionné que vous avez besoin.

Autres conseils

Du point de vue général, chaque fois que vous voulez convertir une chaîne en quelque chose qui fonctionne, vous devez mettre en œuvre un analyseur, qui interprétera la chaîne et exécuter les actions dictées par elle. Pour les formules mathématiques, un arbre d'expression peut être utile pour maintenir l'ordre des opérations et le regroupement. Il y a probablement des bibliothèques d'expression mathématique disponible qui cela, ou vous pouvez rouler votre propre. Ce n'est pas une tâche triviale, mais il est certainement possible.

Une fois que vous avez l'arbre d'expression, pour savoir si une valeur f (x) pour un x donné est graphable, juste évaluer. Pour un f (x) graphique, vous pouvez tester d'abord sur x pour voir si elle tombe dans le domaine visible de la zone graphique. Le cas échéant, évaluer f (x) et si le point (x, f (x)) est graphable puis tracer le point.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top