Dies ist eine alte Version des Dokuments!
Definition und Schreibweise von Funktionen
CGRAPH ist ein Werkzeug zur Erzeugung graphischer Darstellungen. In CGRAPH können daher Funktionen durch einfache Eingabe über die Tastatur definiert werden - ohne größere Mühe, die beispielsweise das Erlernen einer Programmiersprache bedeuten würde, Damit CGRAPH die eingegebenen Funktionen als solche erkennen kann, müssen einige Bedingungen eingehalten werden.
Im folgenden Abschnitt werden einige Begriffe benutzt, die zunächst tabellarisch erläutert werden sollen.
| Begriff | Erklärung |
|---|---|
| Funktionsbezeichner | Ein Wort, das eine Funktion kennzeichnet; beispielsweise sin für die Sinusfunktion. |
| reserviertes Zeichen | Ein Zeichen, das in CGRAPH eine bestimmte Bedeutung hat und daher nicht in Variablennamen verwendet werden darf. Ein solches Zeichen ist beispielsweise der Schrägstrich, der als Divisionszeichen verwendet wird. |
| Funktionsdefinition | Ein mathematischer Term, der aus Funktionen, Rechenzeichen, Variablen und Konstanten besteht, die als Schlüsselwörter und reservierte Zeichen fest vorgegeben sind sowie komplexen oder reellen Zahlen |
| Schlüsselwort | Ein Wort, das in CGRAPH eine bestimmte Bedeutung hat |
Damit CGRAPH die eingegebenen Funktionen verarbeiten kann, werden sie nach der Eingabe in ein internes Format übersetzt. In diesem Format, das die Berechnung in viele kleine Schritte unterteilt, können Ergebnisse sehr schnell ermittelt werden. Wenn ein Fehler bei der Übersetzung auftritt, zeigt CGRAPH diesen Fehler unterhalb der Eingabefelder in roter Farbe an.
Verfügbare Funktionen
CGRAPH bietet die wichtigsten mathematischen Grundfunktionen als Funktionsbezeichner an. Alle Funktionen arbeiten mit komplexen Zahlen und liefern komplexe Werte zurück, auch wenn die Grafikfunktion davon nur den Realteil benutzt. Das Argument der Funktion wird von zwei Klammern begrenzt, die CGRAPH anzeigen, daß nun eine Funktion beginnt.
| Funktionsbezeichner | Bedeutung |
|---|---|
| exp | Exponentialfunktion ex |
| log | Logarithmus zur Basis e |
| sinh | Sinus Hyperbolicus |
| cosh | Cosinus Hyperbolicus |
| tanh | Tangens Hyperbolicus |
| sin | Sinus |
| cos | Cosinus |
| tan | Tangens |
| sqr | Quadrat |
| sqrt | Quadratwurzel |
| abs | Betrag (liefert als Ergebnis eine komplexe Zahl, deren Imaginärteil immer Null ist) |
| re | Realteil (liefert als Ergebnis eine komplexe Zahl, deren Imaginärteil immer Null ist) |
| im | Imaginärteil (liefert als Ergebnis eine komplexe Zahl, deren Imaginärteil immer Null ist) |
| pol | Umrechnung einer komplexen Zahl von kartesischen in polare Koordinaten. Der Rückgabewert ist eine komplexe Zahl, deren Realteil als Betrag und deren Imaginärteil als Winkel im Bogenmaß zu interpretieren ist. |
| kart | Umrechnung einer komplexen Zahl von polaren in kartesische Koordinaten. Der Eingabewert ist eine komplexe Zahl, deren Realteil als Betrag und deren Imaginärteil als Winkel im Bogenmaß interpretiert wird. |
| arcsin | Arcussinus |
| arccos | Arcuscosinus |
| arctan | Arcustangens |
| arsinh | Areasinus Hyberbolicus |
| arcosh | Areacosinus Hyperbolicus |
| artanh | Areatangens Hyberbolicus |
| sigma | Sigmafunktion. Vom Eingabewert wird nur der Realteil bewertet, zurückgegeben wird eine komplexe Zahl, deren Imaginärteil immer Null ist. |
| delta | Deltafunktion. Vom Eingabewert wird nur der Realteil bewertet, zurückgegeben wird eine komplexe Zahl, deren Imaginärteil immer Null ist. Die Deltafunktion liefert für den Eingabewert 0 das Ergebnis 1 |
| int | Berechnung des ganzzahligen Wertes des Realteils. Zurückgegeben wird eine komplexe Zahl, deren Imaginärteil immer Null ist. |
| frac | Berechnung des nichtganzzahligen Wertes des Realteils. Zurückgegeben wird eine komplexe Zahl, deren Imaginärteil immer Null ist. |
| inv | Umkehrfunktion |
| konj | konjugiert komplexes Argument |
Darüberhinaus kennt CGRAPH Funktionen zur Summen- und zur Produktbildung.
| Funktionsbezeichner | Bedeutung |
|---|---|
| sum | Summenfunktion |
| prod | Produktfunktion |
Beiden Funktionen ist gemeinsam, dass sie immer am Anfang einer Funktionsdefinition stehen müssen und den gesamtne weiteren Funktionsterm einklammern. Als Zählvariable dient dann die Variable n. Außerhalb von sum() und prod() hat n immer den Wert 1.
Verfügbare Variablen
CGRAPH erlaubt bei der Eingabe von Funktionen nur eine begrenzte Anzahl von Variablen, um die Eingabe so einfach wie möglich zu gestalten. Die Tabelle zeigt alle möglichen Werte. Überall, wo Funktionen eingegeben werden können, weisen schwebende Fenster darauf hin, welche Variablen zulässig sind.
| Variable | Bedeutung |
|---|---|
| z | komplexe Zahl |
| z\ | konjugiert komplexe Zahl |
| x | bezeichnet die kartresische x-Koordinate oder den Realteil der Variablen z |
| y | bezeichnet die kartresische y-Koordinate oder den Imaginärteil der Variablen z |
| r | Variable für Radien |
| phi | Variable für winkel |
| t | analog zu x zu verwenden |
| s | analog zu x zu verwenden |
Die gemeinsame Verwendung von x, t und s ist an manchen Stellen möglich, sollte aber aus Übersichtsgründen vermieden werden.
Parameter
CGRPAH kennt das Schlüsselwort param, das wie eine Variable benutzt werden kann. Erkennt CGRAPH in einer Funktion dieses SChlüsselwort, zeigt es eine Eingabemöglichkeit dafür an, mit der ein Anfangswert für den Parameter vorgegeben werden kann. Der Parameter kann dann gwöhnlich später innerhalb der Darstellung der Grafik verändert werden.
In manchen Grafikfunktionen ist ein Parameter zwingend erforderlich. Ein schwebendes Fenster weist darauf hin.
Rechenzeichen
In CGRAPH können die folgenden Rechenzeichen verwendet werden:
| Rechenzeichen | Bedeutung | |
|---|---|---|
| + | Addition | |
| - | Subtraktion | |
| * | Multiplikation | |
| / | Division | |
| allgemeine Potenzfunktion |
Schlüsselwörter
Zur Steuerung von Abläufen in CGRAPH sind einige Schlüsselwörter definiert. Diese finden aktuell noch keine Verwendung:.
| Schlüsselwort |
|---|
| function |
| program |
| import |
| export |
| external |
| := |
| # |
Hinweise
CGRAPH erlaubt innerhalb von Funktionen die Verwendung reeller Zahlen oder des komplexen Zahlenformats, Der interne bCompiler überprüft zunächst die Zahl der gesetzten Klammern. Sind noch nicht alle geschlossen, so werden die fehlenden Klammern am Ende automatisch eingefügt. Sind mehr Klammern geschlossen als zuvor geöffnet wurden, so erhalten Sie eine Fehlermeldung.
Die eingegebenen Funktionen dürfen Leerzeichen enthalten. Ausgenommen hiervon ist nur die Zuweisungsdefinition, bei der das Gleichheitszeichen direkt nach dem Doppelpunkt folgen muß. Der Compiler überprüft zunächst die Zahl der gesetzten Klammern. Sind noch nicht alle geschlossen, so werden die fehlenden Klammern am Ende automatisch eingefügt. Sind mehr Klammern geschlossen als zuvor geöffnet wurden, so erhalten Sie eine Fehlermeldung.
Da komplexe Zahlen vollständig erkannt werden, ist eine Klammerung hier nicht erforderlich. Eine Eingabe wie
z-3-3j
ist gleichbedeutend mit
z-(3+3j).
Gleiches gilt für die Prioritätsbetrachtung. Eine Eingabe wie
z*-3-3j
wird als richtig erkannt, berechnet wird sie zu
z*(-3-3j)
Der Imaginärteil wird also als noch zur Zahl gehörend interpretiert. Die ebenfalls denkbare Übersetzung zu
z*(-3)-3j,
wo zunächst die Multiplikation, dann die Subtraktion der imaginären Zahl ausgeführt wird, erfordert, wie hier angegeben, eine zusätzliche Klammerung. Es ist dabei unerheblich, ob nur die Zahl -3 oder der komplette multiplikative Term geklammert wird.
CGRAPH kann innerhalb einer Klammerebene maximal zehn Speicher zur Verfügung stellen. Dies ist ausreichend für die meisten Eingaben. Eine Eingabe wie
z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z
überfordert den Compiler jedoch - hier sind wegen der Priorität der Multiplikationen elf Speicherungen erforderlich. Das Einfügen einer zusätzlichen Klammerebene löst das Problem.
z*z+(z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z+z*z)
Ein schnelleres Abarbeiten dieser Funktion garantiert übrigens die Eingabe von
11*sqr(z)
oder
11*z^2.
Es ist ratsam, die allgemeine Potenzfunktion anstelle der mehrfachen Multiplikation zu verwenden, da Potenzen nicht intern in Multiplikationen aufgespalten werden, sondern über die Exponentialfunktion direkt berechnet werden.
Speichern und Laden
Eingegebene Funktion werden gespeichert, sobald sie korrekt übersetzt wurden. Sie können dann über den Pfeil-Button auf der rechten Seite des Eingebafeldes für die Funktion wieder eingelesen werden. Die Funktionen sind den jeweiligen Grafiken zugeordnet - Funktionen aus dem Bereich reeller Funktionen finden sich daher nicht bei Grafikfunktionen der komplexen Ebene usw.
Änderungen an Funktion führen dazu, dass neben der alten auch die neue Variante gespeichert wird. Funktionen können innerhalb der Einstellungen aus der Speicherliste entfernt werden.
