Dokumentation

I. Vorwort
II. Einführung
1. Was ist der MAFA Funktionsplotter?
2. Technische Voraussetzungen
3. Grundlagen zur Funktionsweise
III. Verwendung
1. Allgemeine Verwendungsweise
2. Fehleingaben
3. Speichern von Ergebnissen
IV. Funktionsreferenz
1. Gruppe "Funktionsgraphen"
2. Gruppe "Kurvenschar"
3. Gruppe "Koordinatenbereich"
4. Gruppe "Ausgabegröße"
5. Gruppe "Achsen"
6. Gruppe "Gitternetzlinien"
7. Gruppe "Wertetabelle"
8. Gruppe "Ergebnisanzeige"
9. Gruppe "Optionen"
10. Gruppe "Ausführen"
V. Mathematische Syntax
1. Grundlegendes zur Funktionstermauswertung
2. Automatische Fehlerkorrektur
3. Unterstützte mathematische Elemente
VI. Anhang
1. Leistungsgrenzen und bekannte Probleme
2. Weiterentwicklung
3. Autor & Spenden
4. Versionshistorie
5. Danksagung
6. Urheberrecht

I. Vorwort

Der MAFA Funktionsplotter ist eine webbasierte Anwendung, welche zur Darstellung der Graphen mathematischer Funktionen sowie zur Erstellung von Wertetabellen dient. Er wurde im Rahmen einer Facharbeit im Leistungskurs Mathematik am Feodor-Lynen-Gymnasium Planegg von Daniel Schmidt-Loebe erstellt. Daher auch die Abkürzung "MAFA" für "Mathematik-Facharbeit". Ziel der Anwendung ist es, bei mathematischen Problemstellungen schnell und einfach einen Funktionsplotter zur Verfügung zu stellen. Insbesondere Schüler sollen ohne großen Installationsaufwand lediglich per Webbrowser und Internetanbindung eine Hilfe für den Umgang mit Funktionsgraphen bereitgestellt bekommen. Die Anwendung im Unterricht in schuleigenen EDV-Räumen ist ebenfalls möglich und stellt in einigen Fällen gegebenenfalls eine Alternative zur Nutzung bekannter kommerzieller Programme dar.   zum index

II. Einführung

1. Was ist der MAFA Funktionsplotter?

Der MAFA Funktionsplotter dient in erster Linie der graphischen Darstellung mathematischer Funktionen. Ein Beispiel einer solchen Funktion ist f(x)=3×sin(x)+2. Die einzelnen Funktionswerte für verschiedene Werte von x aus einem bestimmten Intervall ergeben unterschiedliche Punkte im zweidimensionalen kartesischen Koordinatensystem, an dem auf der Rechtswertachse (Abszisse) die Werte für X und an der Hochwertachse (Ordinate) die Funktionswerte (auch Y-Werte genannt) angetragen werden. Die Summe der einzelnen Punkte heißt Graph und ergibt meist eine zusammenhängende Kurve. Der MAFA Funktionsplotter rechnet für bestimmte X-Werte aus einem angegebenen Intervall die Funktionswerte aus und zeichnet die berechneten Punkte in einem Koordinatensystem mit frei konfigurierbaren Eigenschaften ein.

Die bereits erwähnte Funktion f(x)=3×sin(x)+2 wird beispielsweise durch folgenden Graphen dargestellt:

Außerdem kann für alle Funktionen eine gemeinsame Wertetabelle generiert werden, welche die eindeutige Zuordnung einzelner Funktionswerte zu einer Anzahl diskreter X-Werte erlaubt.   zum index

2. Technische Voraussetzungen

Der prägnanteste Unterschied zu den meisten kommerziellen und nicht kommerziellen Anwendungen dieser Art ist wohl, dass der MAFA Funktionsplotter webbasiert ist und keinerlei Installation bedarf. Dies vereinfacht die Handhabung vor allem bei nur gelegentlicher Nutzung um ein Vielfaches und macht die gesamte Anwendung zudem technisch vollkommen platformunabhängig. Spezielle Voraussetzungen entfallen hierdurch, denn es werden lediglich eine Internetverbindung und ein Webbrowser benötigt. Die Benutzeroberfläche wurde für standardkonforme Webbrowser der neueren Generation optimiert. Bei älteren Versionen sollten jedoch, abgesehen von einem womöglich schlechteren Layout der Oberfläche, keine funktionellen Einschränkungen auftreten.   zum index

3. Grundlagen zur Funktionsweise

Der MAFA Funktionsplotter basiert auf der serverseitig ausgeführten Skriptsprache PHP. Die Ausführung aller Operationen erfolgt daher nicht beim Anwender, denn dieser sendet lediglich Anfragen an den Web-Server und bekommt von diesem das Ergebnis in Form einer Internet-Seite geliefert. Parameter, Einstellungen oder die Darstellung der Funktionsgraphen können folglich nicht in Echtzeit geändert werden, sondern müssen erst durch das Absenden einer Anfrage an den Web-Server übermittelt werden. Dies geschieht in Form eines einfachen Klicks auf den entsprechenden Button.
Für alle Berechnungen wird deshalb die Rechenkapazität des Web-Servers verwendet, wodurch die Leistung in keinster Weise von der Kapazität des Anwenders und nur in geringem Maße von der Geschwindigkeit der Internetverbindung abhängt.   zum index

III. Verwendung

1. Allgemeine Verwendungsweise

Die Bedienung des MAFA Funktionsplotters ist intuitiv gestaltet und sollte im Normalfall keine größeren Probleme bereiten.

Zuerst werden die gewünschten Werte und Paramter eingegeben bzw. verändert und danach auf den Button Ausführen am unteren Ende des Eingabeformulars geklickt. Daraufhin wird wieder die Eingabeseite angezeigt; dort befindet sich unterhalb des Formulars das Ergebnis des Ausführvorgangs. Die zuvor getätigten Formulareingaben werden auch in das Formular auf der Ergebnisseite integriert, wodurch eine schnelle und unkomplizierte Änderung einzelner Werte ermöglicht ist. Auch hier muss im Anschluss natürlich wieder der Button Ausführen angeklickt werden, um ein neues Ergebnis zu erhalten.

Beim ersten Aufruf sind in alle Parameterfelder bereits Standardwerte eingetragen, sodass nur noch mindestens ein Funktionsterm angegeben werden muss. Wird das Browserfenster nach Eingabe von eigenen Werten geschlossen, so sind diese bei den meisten Browsern unwiderruflich verloren und müssen nach neuem Aufruf der Seite wieder manuell eingetragen werden.   zum index

2. Fehleingaben

Da die Anwendung, wie bereits beschrieben, keine Eingaben in Echtzeit entgegen nehmen kann, können auch Fehleingaben erst nach Absenden der Anfrage als solche erkannt werden. Im Falle einer oder mehrer Fehleingaben werden die fehlerbehafteten Werte durch Standardwerte ersetzt, die von einer internen Funktion anhand der restlichen Eingaben berechnet wurden. Zudem wird hierauf in Form von Textmeldungen auf der Ergebnisseite hingewiesen.

Fehleingaben liegen im Normalfall immer dann vor, wenn die eingegebenen Werte der Logik des sie beschreibenden Hintergrundes widersprechen bzw. sinneswidrige Eigenschaften darstellen. Dies ist beispielsweise der Fall, wenn untere Grenzen über oberen Grenzen liegen oder die Breite der Ausgabegröße mit Null Pixeln angegeben wird.
Zusätzlich gibt es jedoch noch einige Beschränkungen seitens der Anwendung selbst. So muss zum Beispiel bei Funktionsscharen die Intervallbreite und die Schrittweite so gewählt werden, dass eine gewisse Anzahl an Einzelkurven für die Funktionsschar nicht überschritten wird. Näheres hierzu findet sich weiter unten in der Funktionsreferenz.   zum index

3. Speichern von Ergebnissen

Das Speichern von Funktionen, Parametern und Ergebnissen auf individueller Benutzerebene ist in der derzeitigen Version noch nicht möglich. Jedoch kann die graphische Ausgabe der Funktionen wie eine normale in Web-Seiten eingebundene Grafik gehandhabt werden. Sollen also die Graphen der berechneten Funktionen mitsamt Koordinatensystem wie angezeigt auf der Festplatte des Anwenders gespeichert werden, so genügt bei den meisten Browsern ein Rechtsklick darauf und die Auswahl des Menüpunktes "Bild speichern unter..." (bzw. sinngemäßes Äquivalent) im daraufhin erscheinenden Kontextmenü.   zum index

IV. Funktionsreferenz

In diesem Kapitel werden die einzelnen Funktionen der Anwendung näher beschrieben und deren Auswirkungen erklärt. Die Gliederung richtet sich hierbei nach der Anordnung der Eingabeblöcke auf der Eingabemaske (blau umrahmte Rechtecke).   zum index

1. Gruppe "Funktionsgraphen"

Hier werden die Eigenschaften für die Funktionsgraphen festgelegt, wobei vier Zeilen für maximal vier unterschiedliche Graphen zur Verfügung stehen. Die Checkbox am Anfang jeder Zeile legt fest, ob die jeweilige Funktion aktiviert ist oder nicht. Nicht aktivierte Funktionen werden von der Anwendung ignoriert, wodurch ein schnelles Wechseln zwischen verschiedenen Graphen möglich ist. Im großen mittleren Texteingabefeld wird für jede Funktion der Funktionsterm eingegeben. Die hierfür zu beachtenden Syntaxregeln sind weiter unten beschrieben. Ist für eine Funktion kein Term angegeben, so wird die entsprechende Checkbox automatisch deaktiviert. Schließlich ist noch die Angabe einer Farbe für die Darstellung des Funktionsgraphen notwendig. Im Normalfall können bei genügend mathematischen Vorkenntnissen die Graphen anhand ihres Verlaufs unterschieden werden, doch ist insbesondere bei sehr ähnlichen Verläufen oder für nicht versierte Anwender eine farbliche Unterscheidung von Vorteil.   zum index

2. Gruppe "Kurvenschar"

Mit Hilfe dieser Felder kann die Funktion f(x) als eine Funktionsschar f(x;a) berechnet werden. Ist die Checkbox für die Kurvenschar aktiviert, so nimmt der Paramter a im Funktionsterm der Funktion f verschiedene Werte an. Diese Werte werden durch den Startpunkt des Intervalls, den Endpunkt, und die Schrittweite, um die der Wert x jeweils bis zum Erreichen des Intervallendes erhöht wird, definiert. Die Werte sollten hierbei so gewählt werden, dass nicht mehr als 10 Einzelkurven berechnet werden müssen, ansonsten werden die Einstellungen aus Stabilitäts- und Performancegründen automatisch korrigiert.   zum index

3. Gruppe "Koordinatenbereich"

In diesen Feldern wird der Ausgabebereich bezüglich des Koordinatensystems festgelegt. Das linke und das rechte Feld legen die untere und die obere Grenze für die Abszisse fest. Das untere und das obere Feld tun dasselbe entsprechend für die Ordinate. Es gibt weder eine obere noch eine untere Grenze für die Intervallgröße, jedoch sollte das Intervall relativ zum Funktionsverlauf nicht zu klein gewählt werden, da das Verhalten der Anwendung bei bei kleinen Intervallgrößen des Ausgabebereichs (kleiner 0,5) noch nicht ausreichend geprüft und dokumentiert ist.   zum index

4. Gruppe "Ausgabegröße"

Hier kann die Ausgabegröße des Koordinatensystems in Pixeln angegeben werden. Die Ausgabegröße wird vom linken zum rechten bzw. vom unteren zum oberen schwarzen Rahmen um den Koordinatenbereich berechnet. Zusammen mit den Werten der Gruppe "Koordinatenbereich" stellen diese Werte praktisch den "Maßstab" des Korrdinatensystems dar (Anzahl realer Pixel pro virtueller Längeneinheit im Koordinatensystem). Es ist zu beachten, dass die Werte der Gruppe "Ausgabegröße" folglich nicht die Gesamtgröße der zum Anwender übertragenen Grafik angeben, da diese bedingt durch Koordinatenbeschriftungen und Ähnliches immer etwas größer ausfällt.   zum index

5. Gruppe "Achsen"

Durch das Deaktivieren dieser Optionen kann verhindert werden, dass eine oder auch beide Koordinatenachsen gesondert hervorgehoben werden. Die Koordinatenachsen befinden sich stets bei den Null-Werten der jeweils anderen Achse. Dementsprechend hat diese Option keine Auswirkungen, wenn der Koordinatenbereich so gewählt ist, dass die Achsen nicht in ihm liegen. Die Gitternetzlinien und deren Beschriftung sind von dieser Einstellung nicht abhängig.   zum index

6. Gruppe "Gitternetzlinien"

Hier kann festgelegt werden, ob Gitternetzlinien gezeichnet werden sollen, und wenn ja, in welchem Abstand. Dabei ist zu beachten, dass die Gitternetzlinien des X-Intervalls vertikal und die des Y-Intervalls horizontal verlaufen. Das Intervall kann für die beiden Achsen unterschiedlich gewählt werden und ist in Längeneinheiten des Koordinatensystems anzugeben. Dabei ist zu beachten, dass eine interne Funktion die entsprechenden Gitternetzlinien automatisch deaktiviert, wenn sich bei den gewählten Werten von Ausgabegröße, Koordinatenbereich und Gitternetzlinienintervall ein Abstand von unter 10 Pixeln ergibt.

Ferner ist die Beschriftung des Koordinatensystems von den Gitternetzlinien abhängig. Werden für X oder Y keine Gitternetzlinien angezeigt, so gibt es für die entsprechende Achse auch keine Wertbeschriftung. Die Anzahl der Dezimalstellen der Beschriftung richtet sich nach der Anzahl der (von Null verschiedenen) Dezimalstellen des Gitternetzlinienintervalls der entsprechenden Achse.   zum index

7. Gruppe "Wertetabelle"

Über die vier Parameter dieser Gruppe wird die Generierung der Wertetabelle gesteuert. "x Minimum" stellt die untere Grenze des X-Werte-Bereichs dar, "x Maximum" respektive die obere. Von der unteren Grenze wird in Intervallen von "Schrittweite" bis zur oberen Grenze durchgezählt und jeweils ein Wertepaar in die Tabelle eingefügt. Das Feld "Dezimalstellen" legt eine feste Anzahl an Nachkommastellen für die Darstellung der Funktionswerte in der Tabelle fest, wobei Werte größer 14 nicht akzeptiert werden.

Die Wertetabelle wird für alle aktivierten Funktionen kombiniert, d.h. dass neben der allgemeinen Spalte der X-Werte für jede aktivierte Funktion lediglich eine weitere Spalte in die Tabelle integriert wird. Eine Ausnahme stellen jedoch Funktionsscharen dar, denn hier wird für jeden einzelnen Wert von A nochmals eine eigene Spalte angelegt.

Um die Wertetabelle generieren und anzeigen zu lassen, muss im Übrigen die entsprechende Option in der Gruppe "Ausführen" aktiviert werden!   zum index

8. Gruppe "Ergebnisanzeige"

In dieser Auswahlgruppe kann festgelegt werden, an welcher Stelle das Resultat der Operationen sowie auch die Fehlermeldungen anzeigt werden sollen.

Die Option "Unterhalb" bewirkt, dass Fehlermeldungen, Funktionsgraph sowie Wertetabelle - sofern aktiviert! - unterhalb des Eingabeformulares angezeigt werden. Durch Hoch- und Runterscrollen kann also zwischen Formular und Resultat hin und her gewechselt werden.

Analog gibt die Option "Rechts" an, dass alle zum Resultat gehörenden Inhalte rechts vom Eingabeformular angezeigt werden sollen und nicht vertikal, sondern horizontal gescrollt werden muss. Diese Option eignet sich besonders für so genannte "Widescreens", also Monitore, die in etwa dem 16:9-Format entsprechen.

Mit der Option "Popupfenster" wird hingegen festgelegt, dass nach Bestätigen der Eingaben ein Popupfenster mit dem Resultat geöffnet wird. Dieses kann danach beliebig in Position und Größe verändert werden. Wird das Fenster vor einer erneuten Eingabe nicht wieder geschlossen, wird ein neues Resultat im bereits bestehenden Fenster angezeigt. Es sollte bedacht werden, dass so genannte Popup-Blocker und andere Software zum Entfernen von Werbung diese Funktionalität möglicherweise einschränken.   zum index

9. Gruppe "Optionen"

Durch Aktivieren der Option "Auch auf automatisch korrigierbare Syntaxfehler in einer Info-Box hinweisen" wird, auch wenn keine Fehler höherer Fehlerklasse aufgetreten sind, auf nicht schwerwiegende Fehler der Fehlerklasse 1 hingewiesen. Dies ist sonst nicht der Fall.

Die Option "Schnelleren Algorithmus verwenden" bewirkt, dass ein neuer Algorithmus zum Berechnen aller Graphenpunkte und der Wertetabelle eingesetzt wird. Da dieser noch nicht vollständig getestet wurde, könnte es sein, dass bei exotischen Funktionen (und hier insbesondere an den Definitionslücken) noch Fehler auftreten. Der Autor ist dankbar über jeden Hinweis! Für eine "sichere" Berechnung wird empfohlen, diese Option nicht zu aktivieren.   zum index

10. Gruppe "Ausführen"

In dieser letzten Gruppe muss festgelegt werden, welche Aktionen durchgeführt werden sollen. Soll ein Koordinatensystem mit den Funktionsgraphen generiert und angezeigt werden, so muss die entsprechende Option aktiviert sein. Entsprechendes gilt für die Wertetabelle.

Sind sowohl Grafik als auch Wertetabelle ausgewählt, so werden diese in der genannten Reihenfolge auf der Ergebnisseite platziert. Im Normalfall muss dann zum Betrachten der Tabelle entsprechend runtergescrollt werden. Ist nur eine der beiden Optionen aktiv, erübrigt sich die Anordnungsfrage.

Durch einen Klick auf den Button "Ausführen" werden die gewählten Aktionen durchgeführt und die Ergebnisseite präsentiert. Ein Klick auf "Zurücksetzen" setzt hingegen alle Parameter auf den ursprünglichen Wert (also nicht die Standardwerte, sondern die jeweils zuletzt benutzten) zurück.   zum index

V. Mathematische Syntax

Unter der mathematischen Syntax versteht man die Regeln, nach denen einzelne mathematische Elemente zusammengefasst oder kombiniert werden können. Für den Menschen stellen einzelne Ungereimtheiten in der Anordnung der Elemente oft kein Problem dar, da aufgrund des inhaltlichen Hintergrundes oder so genannter "Quasi-Standards" der eigentliche Sinn richtig erfasst wird. Einer Maschine sind diese weitergehenden Überlegungen jedoch verwehrt, da sie nur nach zuvor programmierten Schemata handeln kann. Eine korrekte Syntax bei der Funktionstermeingabe ist daher von extrem hoher Bedeutung für die Benutzung des MAFA Funktionsplotters.   zum index

1. Grundlegendes zur Funktionstermauswertung

Der MAFA Funktionsplotter analysiert den Funktionsterm grundsätzlich Zeichen für Zeichen von links nach rechts. Ohne technische Details zu beschreiben, soll hier kurz der verwendete Algorithmus erläutert werden:

Der erweiterte Algorithmus scannt den Funktionsterm Zeichen für Zeichen, registriert das gefundene Zeichen jedoch nicht sofort, sondern führt vorher weitere Operationen aus. So wird jedes Zeichen mit einer Liste aller der Anwendung bekannten Elemente verglichen und bei Bedarf zusammen mit den nebenstehenden Zeichen entsprechend als Zeichenkette behandelt. Weiterhin wird geprüft, ob das so gefundene Element von an dieser Stelle erwartetem Typ ist, oder ob es sich eigentlich um einen anderen Typ handeln sollte. Ist letzteres der Fall, werden je nach Möglichkeit entweder die fehlenden Elemente automatisch eingefügt oder der Funktionsterm als fehlerhaft eingestuft. Handelt es sich hingegen um eine Zeichenkette, die keine Übereinstimmung in der Elementliste hat, wird sie schlichtweg ignoriert.   zum index

2. Automatische Fehlerkorrektur

Um insbesondere Neulingen die komplizierte Eingabe von bis ins Detail korrekten Funktionstermenen zu ersparen, wurde bei der Entwicklung des MAFA Funktionsplotters auf eine fehlertolerante Funktionstermanalyse sehr viel Wert gelegt. Hierfür wurde ein Algorithmus erstellt, der fehlende, überflüssige sowie falsche Elemente im Funktionsterm erkennt und, falls möglich, entsprechend gängigen mathematischen Standards korrigiert. So wird bei Eingabe des Funktionsterms 3sinx+2 automatisch 3*sin(x)+2 angenommen, sofern die automatische Fehlerkorrektur aktiviert ist. Werden hingegen schwerwiegende Fehler festgestellt, die aufgrund der oft großen Anzahl möglicher Korrekturvarianten nicht automatisch korrigiert werden (und auch nicht sollten), wird hierauf mit einer Fehlermeldung hingewiesen und der Term nicht weiter ausgewertet.   zum index

3. Unterstützte mathematische Elemente

Im Folgenden werden alle mathematischen Elemente, wie zum Beispiel Funktionen und Konstanten, beschrieben, mit denen der MAFA Funktionsplotter umgehen kann. Bei allen Zeichenfolgen wird nicht zwischen Groß- und Kleinschreibung unterschieden.   zum index

Dezimaltrennzeichen

Intern arbeitet die Anwendung mit einem Punkt als Dezimaltrennzeichen. Dies ist durch PHP bedingt und kann bei Änderung der Einstellung auf ein Komma zu einzelnen Fehlfunktionen führen. Um die Eingabe trotzdem anwenderfreundlich zu gestalten, werden alle Kommata nach der Eingabe in Punkte konvertiert. Es dürften bezüglich des Dezimaltrennzeichens also keine Probleme auftreten. Natürlich muss aber auf die Eingabe von Tausendertrennzeichens unbedingt verzichtet werden, da diese nach der Konvertierung nicht mehr von Dezimaltrennzeichen unterscheidbar wären.   zum index

Funktionen

Der MAFA Funktionsplotter unterstützt alle gängigen mathematischen Funktionen. Die entsprechende Syntax sowie eine Kurzbeschreibung finden sich in nachfolgender Tabelle. Die Priorität gibt an, in welcher Reihenfolge die Operationen ausgeführt werden und wie stark nebenstehende Elemente als Argumente "gebunden" werden. Je höher die Priorität, desto eher wird die Operation ausgeführt und desto stärker werden die direkt nebenstehenden Argumente gebunden. Am Ende der Tabelle finden sich Hinweise zu Besonderheiten einzelner Funktionen.

SyntaxFunktionsnameBeschreibungPriorität
x + yAdditionAddiert die Summanden x und y.1
x - ySubtraktionSubtrahiert den Subtrahend y vom Minuend x.2
x * yMultiplikationMultipliziert die Faktoren x und y miteinander.3
x / yDivisionDividiert den Dividend x durch den Divisor y.4
x ^ yExponent1Potenziert die Basis x mit dem Exponenten y.6
x²Quadrat1Quadriert die Basis x.8
x³Kubik1Potenziert die Basis x mit dem Exponenten 3.8
sqr(x)QuadratwurzelLiefert die Quadratwurzel aus x.7
sqrt(x)
rt(x;y)WurzelLiefert die x-te Wurzel aus y.7
sin(x)SinusLiefert den Sinus des Bogenmaßwertes x.7
cos(x)CosinusLiefert den Cosinus des Bogenmaßwertes x.7
tan(x)TangensLiefert den Tangens des Bogenmaßwertes x.7
asin(x)ArcussinusLiefert den Arcussinus von x.7
acos(x)ArcuscosinusLiefert den Arcuscosinus von x.7
atan(x)ArcustangensLiefert den Arcustangens von x.7
sinh(x)Sinus HyperbolicusLiefert den Sinus Hyperbolicus von x.7
cosh(x)Cosinus HyperbolicusLiefert den Cosinus Hyperbolicus von x.7
tanh(x)Tangens HyperbolicusLiefert den Tangens Hyperbolicus von x.7
exp(x)ExponentialfunktionPotenziert die Basis e mit dem Exponenten x.7
log(x;y)LogarithmusLiefert den Logarithmus von y zur Basis x.7
ln(x)Natürlicher LogarithmusLiefert den Logarithmus von x zur Basis e.7
ld(x)Dual-LogarithmusLiefert den Logarithmus von x zur Basis 2.7
lg(x)Zehner-LogarithmusLiefert den Logarithmus von x zur Basis 10.7
mod(x;y)ModulusLiefert den Modulus der Division von x durch y.7
sgn(x)SignumLiefert den Signumwert von x.7
-xNegationNegiert x.5
neg(x)7
|x|BetragLiefert den absoluten Betrag von x.7
abs(x)
x!FakultätLiefert x Fakultät, also x!, für natürliche Zahlen.8
fac(x)7
ceil(x)AufrundungRundet x zur nächsthöheren ganzen Zahl auf.7
floor(x)Abrundung
Gaußklammer
Rundet x zur nächstniedrigeren ganzen Zahl ab.7

Hinweise:

1 x^y hat eine niedrigere Priorität und bindet deshalb weniger stark als und . Dies ist nur im Zusammenhang mit benannten Funktionen wie sin oder cos relevant, deren Priorität dazwischen liegt. sinx^2 entspricht somit (sin x)^2. Wohingegen sinx² als sin(x^2) interpretiert wird. Im Zweifelsfall sollten Klammern verwendet werden.

   zum index

Variablen

SyntaxBeschreibung
x 
aDiese Variable wird nur interpretiert, wenn Funktionsscharen aktiviert sind.

   zum index

Konstanten

SyntaxNameBeschreibung
EEulersche Zahl2.7182818284590452354...
PIKreiszahl PI3.14159265358979323846...

   zum index

Weitere Zeichen

SyntaxNameBeschreibung
( .. )KlammernDurch Klammern können Teile des Funktionsterms zu
Subblöcken bzw. Abschnitten, die sich nach außen wie ein
einziges Element verhalten, zusammengefasst werden.
[ .. ]
{ .. }

Achtung: Intern werden alle Klammern wie runde Klammern verarbeitet. Dies hat insbesondere Auswirkung auf den Text der Fehlermeldungen der Syntaxanalyse, nicht jedoch auf die inhaltliche Prüfung.   zum index

VI. Anhang

1. Leistungsgrenzen und bekannte Probleme

Der MAFA Funktionsplotter wurde in relativ kurzer Zeit entwickelt und konnte daher leider noch nicht so eingehend wie nötig getestet werden. Da bei den Eingaben allein die Kombination der Elemente im Funktionsterm auf mehrere hundert verschiedene Weisen bewerkstelligt werden kann, war es unmöglich, alle Szenarien durchzuspielen. Die folgenden Punkte sollen nun einige bekannte Probleme ansprechen, die zwar mit einem größeren Aufwand gelöst werden könnten, in der aktuellen Version der Anwendung aber noch bestehen.

Sollte der Anwender bei der Benutzung der Anwendung auf weitere Probleme stoßen, so ist der Autor für jeden Hinweis an daniel@schmidt-loebe.de sehr dankbar.   zum index

Timeout während der Laufzeit

Für die Realisierung des MAFA Funktionsplotters wurden verschiedene Algorithmen erstellt und getestet, um das gewünschte Ergebnis bei der nötigen Stabilität zu erzielen. Obwohl natürlich der beste von den vorhandenen Algorithmen ausgewählt wurde, kommt es in einigen Fällen bei der Laufzeit des Programms noch zu Problemen hinsichtlich Rechenkapazität und Laufzeitbeschränkung. Leider kann es speziell bei exotischen Funktionen mit einer größeren Anzahl Sprungstellen, Asymptoten oder durchgehend steilen Funktionsgraphen sowie bei Funktionsscharen zu einem Timeout kommen, der nicht von einer Fehlermeldung begleitet wird und zum Beispiel am Nicht-erscheinen der graphischen Darstellung zu erkennen ist. An diesem Problem wird weiter gearbeitet.   zum index

Vertikaler Graph wird nicht angezeigt

Teile eins Graphen, die vom oberen bis unteren Bildrand (oder andersherum) zumindest optisch, nicht mathematisch, komplett vertikal verlaufen, werden manchmal nicht angezeigt. Häufig ergibt sich so eine Situation, wenn für den Ausgabebereich, relativ zum Verlauf des Graphen gesehen, extrem kleine Intervalle gewählt werden, sodass die Anzeige des Graphen sich auf eine senkrechte Linie beschränken würde. Die angegebene Funktion wird in diesem Teil des Graphen bei der Darstellung quasi ignoriert und es erfolgt keine Fehlermeldung.   zum index

Betragstriche

Wird ein syntaktisch korrekter Term eingegeben, sollten keine Probleme auftreten. Jedoch bereiten Betragstriche möglicherweise der automatischen Fehlerkorrektur und insbesondere deren Fehlermeldungen Probleme, wenn ein fehlerhafter Term mit Betragstrichen eingegeben wird. Im Falle von Unklarheiten sollte die Funktion abs(x) anstatt von |x| verwendet werden.   zum index

2. Weiterentwicklung

Wie bereits im Vorwort beschrieben, wurde der MAFA Funktionsplotter im Rahmen einer Facharbeit erstellt. Die Enwicklung soll mit Vollendung der Facharbeit jedoch nicht gestoppt werden, sondern es ist geplant, weitere Funktionen und Verbesserungen in die Anwendung zu implementieren. Sollte eine größere Nachfrage bestehen, wird auch der gewählte Server/Provider in Bezug auf seine Leistung nochmals überprüft werden.   zum index

3. Autor & Spenden

Siehe Impressum.

4. Danksagung

Der Autor möchte folgenden Personen für Ihre Unterstützung danken:

Und zu guter letzt sei noch allen gedankt, die ich hier vergessen habe. ;-)   zum index

5. Versionshistorie

v2.5 - 20. Januar 2012
Ukrainische Sprache hinzugefügt.

v2.5 - 11. Januar 2012
Bugfixes (Wertetabelle für Funktionsscharen).

v2.5 - 27. Februar 2011
Eigenständige Funktionen für Quadrat (x²) und Kubik (x³) sowie x! als neue Schreibweise für Fakultät hinzugefügt.

v2.4 - 24. Februar 2011
Berechnungsalgorithmus leicht verbessert. Grafikausgabe nachgebessert. Vorbereitungen für neue Funktionen getroffen.

v2.4 - 9. Dezember 2010
Bugfixes. Bei Benutzung des schnellen Berechnungsalgorithmus wurden Definitionslücken nicht erkannt. Grafikausgabe leicht verändert, so ist das Gitternetz nun gepunktet und die Achsen nur noch ein Pixel breit.

v2.4 - 10. Februar 2010
Anpassung des Eingabeformulars an Widescreens: breiter, dafür weniger hoch. Das Ergebnis kann jetzt außerdem nicht mehr nur unterhalb, sondern auch rechts und in einem neuen Fenster angezeigt werden.

v2.3 - 8. Februar 2010
Der neue Berechnungsalgorithmus ist nun standardmäßig eingeschaltet, kann aber weiterhin ausgeschaltet werden.

v2.3 - 4. Februar 2008
Neuen Berechnungsalgorithmus in der Testphase eingeführt, der, je nach Term, bis zu vierfach schneller ist.

v2.2 - 4. November 2007
Fehler in der Dokumentation korrigiert.

v2.2 - 12. Februar 2007
Italienische Sprache hinzugefügt.

v2.2 - 30. Januar 2007
Rumänische Sprache hinzugefügt.

v2.2 - 26. Januar 2007
Französische Sprache hinzugefügt. sqr()- und exp()-Aliase sowie sinh(), cosh() und tanh() implementiert.

v2.1 - 22. März 2006
Bugfixes.

v2.1 - 16. Januar 2006
Bugfixes.

v2.1 - 29. Dezember 2005
Bugfixes.

v2.1 - 1. Dezember 2005
Implementierung eines neuen Verfahrens zur Funktionswertberechnung mit etwa einem Drittel benötiger Rechenzeit weniger. Der Algorithmus zur Syntaxüberprüfung kann nun nicht mehr manuell ausgeschaltet werden.

v2.0 - 24. November 2005
Englische Sprache hinzugefügt. Kleinere Bugfixes.

v2.0 - 6. Oktober 2005
URL-Struktur etwas aufgeräumt und logischer gestaltet.

v2.0 - 26. Juli 2005
Wertetabelle hinzugefügt. Mehrere Bugfixes bei der Funktionswertberechnung. Durchschnittlich halbierte Rechenzeit durch allgemeine Optimierung aller Algorithmen sowie der Hauptanwendung.

v1.2 - 15. Juli 2005
Einige Passagen des HTML-Codes etwas standardkonformer gestaltet.

v1.1 - 20. Februar 2005
Bugfixes bei der Berechnung von Potenzen.

v1.0 - 2. Februar 2004
Die erste voll funktionsfähige Version geht online.

   zum index

6. Urheberrecht

Der Autor behält sich jegliche Veröffentlichungsrechte vor.

Der Quellcode des Programms ist grundsätzlich nicht öffentlich und wird nicht mehr auf Nachfrage herausgegeben. Das Einbetten in Framesets ist nicht gewünscht, kann aber gestattet werden, sofern das Frameset einer nicht-kommerziellen und legalen Seite angehört und ausdrücklich auf den Originalort der Anwendung (http://www.mathe-fa.de) hingewiesen wird. Auch das Aufrufen der Grafikausgabe mittels fremder Formulare ist ohne vorherige Genehmigung ausdrücklich nicht erwünscht.   zum index