Hallo zusammen,
ich habe ein ganz nettes Problem.
Ich habe ein Programm geschrieben, welches in der Lage sein soll Nullstellen beliebiger Funktionen zu berechnen, vektorielle Mathematik darzustellen und auch Schnittpunkte zwischen Gleichungen zu berechnen und grafisch im 2D-Raum und 3D-Raum darzustellen.
So weit funktioniert alles ganz gut und auch Parameterformen von 2D und 3D Gleichungen lassen sich eingeben und verarbeiten.
Nun stehe ich allerdings vor einem Problem:
Ich habe ein JTextField zur Eingabe regulärer Gleichungen:
und eine Klasse MathFunktions in denen die Gleichungen für das Koordinatensystem exakt so behandelt werden.
BSP
Das ganze ist nun so gehalten das die Funktion Math.sin in ein Koordinatensystem gezeichnet wird.
Doch wie mache ich es , dass ich in ein JTextField z.B. folgendes Schreibe:
f(x)= x^2-2x-1
und daraus wird in der Methode:
Ich finde leider dazu keine vernünftige Antwort.
P.S.: Viele weisen auf externe Parser hin, aber das hilft mir nicht sonderlich weiter, da ich das ganze Prinzip gerne anhand einiger kleiner selbstgeschriebener Beispiele verstehen würde bzw. das ganze selbst schreiben, es geht mir also um eine relativ "exakte" Vorgehensweise.
Gruß
Henrik
ich habe ein ganz nettes Problem.
Ich habe ein Programm geschrieben, welches in der Lage sein soll Nullstellen beliebiger Funktionen zu berechnen, vektorielle Mathematik darzustellen und auch Schnittpunkte zwischen Gleichungen zu berechnen und grafisch im 2D-Raum und 3D-Raum darzustellen.
So weit funktioniert alles ganz gut und auch Parameterformen von 2D und 3D Gleichungen lassen sich eingeben und verarbeiten.
Nun stehe ich allerdings vor einem Problem:
Ich habe ein JTextField zur Eingabe regulärer Gleichungen:
und eine Klasse MathFunktions in denen die Gleichungen für das Koordinatensystem exakt so behandelt werden.
BSP
Code:
public double fx(double x){
return Math.sin(x);
}
Doch wie mache ich es , dass ich in ein JTextField z.B. folgendes Schreibe:
f(x)= x^2-2x-1
und daraus wird in der Methode:
Code:
public double fx(double x){
return x*x-2*x-1;
}
Ich finde leider dazu keine vernünftige Antwort.
P.S.: Viele weisen auf externe Parser hin, aber das hilft mir nicht sonderlich weiter, da ich das ganze Prinzip gerne anhand einiger kleiner selbstgeschriebener Beispiele verstehen würde bzw. das ganze selbst schreiben, es geht mir also um eine relativ "exakte" Vorgehensweise.
Gruß
Henrik