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 "Vertikale Linien"
8. Gruppe "Wertetabelle"
9. Gruppe "Ergebnisanzeige"
10. Gruppe "Optionen"
11. Gruppe "Ausführen"
V. Mathematische Syntax
1. Automatische Fehlerkorrektur
2. 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 der Klasse oder 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 vielen 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 größtenteils 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 Koordinatensystems 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 zu geringer Abstand 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 "Vertikale Linien"

Hier kann die Anzeige vertikaler Linien gesteuert werden. Diese können zum Beispiel hilfreich sein, wenn bestimmte Schwellenwerte auf der Abszisse graphisch im Koordinatensystem verdeutlicht werden sollen. Da vertikale Linien nicht über Funktionen darstellbar sind, können sie hier separat festgelegt werden.

Zur Anzeige von einer oder mehrerer vertikaler Linien muss das Kontrollkästchen aktiviert und die gewünschten X-Werte im Feld daneben eingegeben werden. Bei Eingabe mehrerer Werte sind diese durch Strichpunkt zu trennen. Jede Linie wird in der graphischen Ausgabe mit dem dazugehörigen Wert beschriftet.   zum index

8. 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

9. 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:10- oder 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

10. 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

11. 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. Automatische Fehlerkorrektur

Um insbesondere Neulingen und gelegentlichen Benutzern die komplizierte Eingabe von bis ins Detail korrekten Funktionstermen 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 Funtkionsterm erkennt und, falls möglich, entsprechend gängigen mathematischen Standards korrigiert. So wird zum Beispiel bei Eingabe des Funktionsterms 3sinx+2 automatisch 3*sin(x)+2 angenommen. 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

2. 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 die Programmiersprache, hier PHP, bedingt. 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 Tausendertrennzeichen (z.B. Punkten oder Apostrophen) unbedingt verzichtet werden, da diese nach der Konvertierung gegebenenfalls 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)AufrundungsfunktionRundet x zur nächsthöheren ganzen Zahl auf.7
floor(x)Abrundungsfunktion
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

Mit dem MAFA Funktionsplotter wurden bereits mehrere Millionen Graphen gezeichnet. Dank jener Benutzer, die über die Jahre hinweg die gefunden Fehler meldeten, konnte er stetig weiterentwickelt und verbessert werden, sodass ein hohes Maß an mathematischer Korrektheit gewährleistet werden kann. es werden Algorithmen verwendet, die alle üblichen Anfragen möglichst ausgewogen behandeln können und dabei die mathematische Korrektheit als oberste Priorität haben. Jedoch gibt es natürlich unendlich viele Parameter- und Funktionstermkombinationen, die nicht alle getestet werden können. Allein die Elemente eines Funktionsterms können oft auf Dutzende verschiedene Weisen gleichwertig kombiniert werden. Außerdem kann der Benutzer beim MAFA Funktionsplotter eine ganze Reihe Parameter seinem individuellen Wunsch nach ändern, wodurch sich die möglichen Testfälle potenzieren.

Die folgenden Punkte sollen nun einige bekannte Probleme ansprechen, die bereits bekannt sind, deren Beseitigung jedoch schwierig oder unter den gegebenen Rahmenbedingungen sogar unmöglich ist.

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

Laufzeitüberschreitungen

In einigen Fällen kommt es bei der Laufzeit des Programms 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 nur am Nicht-erscheinen der graphischen Darstellung zu erkennen ist.

Es kann helfen, nur einen Funktionsgraphen statt mehreren zeichen zu lassen oder die Anzahl der Kurven einer Funktionsschar zu reduzieren. Auch ist es oft sinnvoll, den Koordinaten- und den Ausgabebereich dahingehend zu verändern, dass die Funktionsgraphen weniger steil sind.   zum index

Vertikaler Graph wird nicht angezeigt

Teile eins Graphen, die vom oberen bis unteren Bildrand (oder andersherum) zumindest in der Graphikausgabe, nicht mathematisch, komplett vertikal verlaufen, werden manchmal nicht oder nur teilweise angezeigt. Häufig ergibt sich so eine Situation, wenn für den Koordinatenbereich, relativ zum Verlauf des Graphen gesehen, ein extrem großes X-Intervall gewählt wurde, sodass die Anzeige des Graphen sich auf eine senkrechte Linie beschränken würde. Gleiches gilt für Funktionen, die an manchen Stellen per se steil sind (z.B. tan(x) oder 1/x, jeweils weit entfernt von der Abszisse) und genau dieser Bereich angezeigt werden soll. 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. Seit der Fertigstellung im Februar 2004 wurden in unregelmäßigen Abständen weitere Funktionen und Verbesserungen in die Anwendung implementiert. Wünsche und Vorschläge für neue Funktionalitäten nimmt der Autor gerne entgegen.   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.8 - 10. Oktober 2014
Portugiesische Sprache hinzugefügt.

v2.7 - 26. Februar 2014
Spanische Sprache hinzugefügt.

v2.6 - 06. Juli 2013
Vertikale Linien können nun eingezeichnet werden. Bei Ausgabe eines großen und dichten Gitternetzes werden nun einzelne Gitternetzlinien hervorgehoben. Die Dokumentation etwas aufgräumt und entrümpelt.

v2.5 - 01. Juni 2013
Bugfixes (bei den Funktionen log, mod und rt).

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

v2.5 - 11. Januar 2012
Bugfixes (bei der 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 breitere und größere Bildschirme: 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ötigter 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 der serverseitigen Skripte ist 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. Sofern einzelne Skripte auf Anwenderseite (d.h. insbesondere Javascript) von Dritten lizenzkonform übernommen wurden, ist dies aus dem Quellcode ersichtlich.   zum index