Dieser Abschnitt erklärt die in CGRAPH zum Einsatz kommenden mathematischen Routinen und die ihnen zugrunde liegenden Gesetzmäßigkeiten. Er enthält auch eine kurze Einführung in die Theorie der komplexen Zahlen und erläutert die komplexen Funktionen, die in CGRAPH die Grundlage aller Berechnungen sind.
Die Kenntnis dieser Grundlagen ist zur Benutzung von CGRAPH nicht erforderlich, sie beantwortet jedoch weitergehende Fragen.
Unter einer Funktion wird im allgemeinen eine Abbildung verstanden, die jedem Vektor des Urbildraumes genau einen Funktionswert zuweist. Innerhalb der reellwertigen Graphiken kommen reellwertige Funktionen einer oder zweier Veränderlicher zum Einsatz. Diese können geschrieben werden als
und stellen damit zunächst Abbildungen vom ℝ2 in den ℝ1 dar. Wenn die Funktion nur von einer Veränderlichen abhängig ist, wird nur eine Abbildung vom ℝ2 in den ℝ1 vorgenommen.
Gewöhnlich werden solche Funktionen dargestellt, indem der Veränderlichen eine Achse, dem Funktionswert die zweite Achse des ℝ2 zugeordnet wird. Bei Funktionen mit zwei Veränderlichen wird den Variablen eine Ebene, dem Funktionswert die dritte Koordinate zugeordnet, so daß geschrieben werden kann
oder
Auf diese Weise verfährt auch CGRAPH bei der Darstellung von Funktionen. Über das Menü 2D-Grafiken / Funktionen stehen dabei die Darstellung von f(x), der ersten und der zweiten Ableitung sowie des Integrals zur Verfügung.
CGRAPH berechnet hier die Funktionswerte, indem zwischen Anfangs- und Endwert der Variablen x Stützwerte berechnet werden, deren Anzahl über die Einstellungen im Register 2D-Grafik vorgegeben werden kann.
In CGRAPH werden die Ableitungen auf grafischem Wege berechnet. Da hier die Anzahl der berechneten Stützstellen in das Ergebnis eingeht, ist eine ausreichend hohe Anzahl Stützwerte eine Grundbedingung für eine gute Übereinstimmung mit der tatsächlichen Ableitung.
CGRAPH verwendet für die Berechnung der ersten Ableitung die folgende Näherungsformel:
wobei die Werte i und i-1 die jeweils verwendeten Stützwerte indizieren.
Für die zweite Ableitung wird die folgende Näherungsformel verwendet:
Neben dem Stützwert f(xi-1) wird hier auch noch der Stützwert f(xi-2) benötigt. Die erste Ableitung der Anfangs- und Endwerte kann ebenso wie deren zweite Ableitung nicht bestimmt werden, da die entsprechenden Verläufe außerhalb des Wertebereichs nicht betrachtet werden. Hier wird auch deutlich, welch großen Einfluß die Anzahl der Stützwerte auf die exakte Darstellung der Ableitungen hat. Der Stützstellenabstand xi - xi-1 geht direkt in die Berechnung ein.
CGRAPH verwendet zur (grafischen) Darstellung des Integrals eine modifizierte Balkenregel. Berechnet wird das bestimmte Integral über die Intervallgrenzen mit:
wobei das Integral näherungsweise aus
berechnet wird. Auch hier ist die Anzahl der Stützstellen von entscheidender Wichtigkeit.
Der Unterschied zwischen Funktionen und allgemeinen Kurven besteht in der Bedingung, daß bei ersteren jedem Vektor des Urbildraumes nur ein Funktionswert zugeordnet werden darf, bei zweiten jedoch nicht. Im zweidimensionalen Fall wird daher bei allgemeinen Kurven eine Abbildung vom ℝ1 in den ℝ2 durchgeführt. Im dreidimensionalen Fall findet eine Abbildung vom ℝ1 in den ℝ3 statt. Die zugehörigen Abbildungsfunktionen lauten
und im dreidimensionalen Fall zusätzlich
Innerhalb von CGRAPH sind diese Abbildungen unter den Menüpunkten 2D-Grafiken/Ebene Kurven und 3D-Grafiken/Raumkurven zu finden. Damit können Kurven dargestellt werden, deren Parameterdarstellung bekannt ist. Implizite Definitionen einer Kurve müssen in explizite Parameterdarstellungen umgeformt werden.
Dabei wird nicht die Abhängigkeit der drei Koordinaten vom Parameter dargestellt, sondern die Abhängigkeit der drei Parameterfunktionen voneinander.
Wenn statt Kurven im ℝ3 Flächen dargestellt werden sollen, genügt die Verwendung eines Parameter nicht. Die benötigte Abbildung führt dann vom ℝ2 in den ℝ3, wobei in CGRAPH auch wieder die Abhängigkeit der drei Abbildungsfunktionen
dargestellt wird. s bezeichne dabei den zweiten Parameter. Die Vorgehensweise der Abbildung ist dabei ähnlich wie bei den Raumkurven. Hier werden Stützwerte mit
berechnet, wobei hier ti den festgehaltenen und s den laufenden Parameter darstellen. Gezeichnet wird also nicht die komplette Fläche, sondern nur Raumkurven auf der Fläche, die deren Lage im Raum verdeutlichen. Die Zusammenfassung von je vier solcher Stützwerte zu einem Polygonzug erlaubt in CGRAPH die Erstellung eines Flächenmodells, bei dem nur die sichtbaren Kanten der Fläche dargestellt werden.
Auch bei Flächen im Raum gilt, dass die Parameterdarstellung der Fläche bekannt sein muß, wenn sie in CGRAPH über das Menü 3D-Grafiken/Flächen im Raum dargestellt werden soll.
Oberflächen sind Flächen auf abgeschlossenen Körpern, z.B. Kugeln. Da diese mathematisch nicht von ausgedehnten Flächen unterscheidbar sind, können sie ebenfalls auf diese Weise dargestellt werden. Wenn die Oberfläche eines Körpers in Parameterform eingegeben wird, stellt CGRAPH daher die Struktur des Körpers dar.
Über das Menü Weitere Grafiken/Interpolation können in CGRAPH Interpolationen von Kurven aufgrund von Wertepaarlisten durchgeführt werden.
Für jede zwei Paare (x0,y0) und (xi, yi) können bei der linearen Interpolation die zugehörigen Werte für den Achsenabschnitt und die Steigung der Funktion y = mx + b berechnet werden.
Die angegebenen Werte für m und b sind als arithmetische Mittel der so berechneten Einzelwerte definiert:
Es wird über N-1 Werte summiert, weil immer zwei Wertepaare benötigt werden.
Um die Parameter der quadratischen Gleichung
angeben zu können, sind je zwei Referenzwertepaare (x0,y0) und (x1,y1) erforderlich. Diese beiden Wertepaare werden als auf der Kurve liegend angenommen. Mit den übrigen Wertepaaren bilden sie für die jeweiligen Parameter a, b und c das lineare Gleichungssystem
das in CGRAPH für alle Punkte untereinander durch Determinantenrechnung gelöst wird. Die angegebenen Werte werden wie bei der linearen Interpolation durch Bildung des arithmetischen Mittelwertes der Parameter gebildet mit
wobei p stellvertretend für die Parameter a, b und c steht. Da zwei Referenzwerte benötigt werden, kann die Lösung nur N-2 Wertepaare umfassen; es sind daher auch mindestens drei Eingabewerte erforderlich. Die Referenzwertepaare können in CGRAPH aus allen eingegebenen Wertepaaren ausgewählt werden; beim ersten Aufruf der Funktion werden das erste und das letzte Paar der eingegebenen Liste verwendet.
Hier wird die Funktion
als Grundlage der Wertepaare angenommen. Die exakte Berechnung der Parameter a und c führt zu einer transzendenten Gleichung, die nur über numerische Näherungsverfahren lösbar ist. Das hier angewandte Verfahren liefert bei erheblicher Rechenvereinfachung vergleichbare graphische Werte.
Dazu berücksichtigt CGRAPH, dass die erste Ableitung der Exponentialfunktion wiederum die Exponentialfunktion ist:
Berechnet man also aus den gegebenen Wertepaaren deren Steigung, kommt man auf folgende einfache Gleichung:
Aus je zwei solcher Wertepaare yi und yi' lassen sich dann Werte für a und c gewinnen, deren resultierender Wert wieder durch Bildung des arithmetischen Mittelwertes berechnet wird.
Hier wird die Funktion
als Grundlage der Wertepaare angenommen. Die exakte Berechnung der Parameter a und c führt auch hier zu einer transzendenten Gleichung, die nur über numerische Näherungsverfahren lösbar ist. Das hier angewandte Verfahren liefert bei erheblicher Rechenvereinfachung vergleichbare graphische Werte.
Dazu berücksichtigt CGRAPH, dass die erste Ableitung der Exponentialfunktion wiederum die Exponentialfunktion ist:
Berechnet man also aus den gegebenen Wertepaaren deren Steigung, kommt man auf folgende einfache Gleichung:
Aus je zwei solcher Wertepaare yi und yi' lassen sich dann Werte für a und c gewinnen, deren resultierender Wert wieder durch Bildung des arithmetischen Mittelwertes berechnet wird.
Hier wird die Funktion
als Grundlage der Wertepaare angenommen. Die exakte Berechnung der Parameter a und c führt auch hier zu einer transzendenten Gleichung, die nur über numerische Näherungsverfahren lösbar ist. Das hier angewandte Verfahren liefert bei erheblicher Rechenvereinfachung vergleichbare graphische Werte.
Dazu berücksichtigt CGRAPH, dass die zweite Ableitung des Cosinushyperbolicus wiederum ein Cosinushyperbolicus ist:
Berechnet man also aus gegebenen Wertetripeln deren zweite Ableitung, kommt man auf folgende einfache Gleichung:
Aus je zwei solcher Wertepaare yi und yi'' lassen sich dann Werte für a und c gewinnen, deren resultierender Wert wieder durch Bildung des arithmetischen Mittelwertes berechnet wird.
Diese Interpolationsart eignet sich für periodische Vorgänge. Die einzelnen Koeffizienten einer Fourierreihe werden ermittelt:
Wenn bei Interpolationen nicht die zugrunde liegende mathematische Funktion bestimmt, sondern ein möglichst glatter Verlauf der Kurve dargestellt werden soll, muss der zur Interpolation führende Algorithmus bestimmte Voraussetzungen erfüllen.
Hierfür eignen sich zwei Verfahren der numerischen Mathematik, die Spline- und die Akima-Interpolation, die nach ihrem Entwickler Hiroshi Akima benannt wurde. Bei beiden werden kubische Polynome der Form
verwendet. Die Akima-Interpolation geht dabei von der Stetigkeit der ersten Ableitung aus, die Spline-Interpolation verlangt zusätzlich Stetigkeit bei der zweiten Ableitung. Dies führt aber zu leichten Überschwingern, weshalb in CGRAPH die Akima-Interpolation eingesetzt wurde. Bei der Akima-Interpolation werden zunächst links und rechts vom eigentlichen Betrachtungsintervall zwei zusätzliche Punkte extrapoliert, die für die interne Berechnung benötigt werden. In der Zeichnung werden sie nicht dargestellt.
Die Abszissenwerte dieser extrapolierten Paare ergeben sich zu
Zur Interpolation wird zusätzlich die Steigung zwischen zwei Wertepaaren benötigt. Diese berechnet sich aus
Die Steigungsberechnung kann nur vom zweiten bis zum vorletzten Wertepaar durchgeführt werden, da die Ordinatenwerte der extrapolierten Paare außerhalb des Intervalls noch nicht vorliegen. Sie werden aus den zu diesem Zeitpunkt bekannten Wertepaaren und den berechneten Steigungen berechnet zu
Nach der Extrapolation dieser zusätzlichen Werte können die einzelnen Koeffizienten des kubischen Polynoms berechnet werden. Dazu wird noch die bei der Akima-Interpolation verwendete Steigungsformel benötigt. Diese lautet
wobei m die jeweilige Steigung beschreibt, die zuvor berechnet wurde. Damit ergeben sich die Koeffizienten zu
Mit diesen Koeffizienten können nun die kubischen Polynome berechnet werden, die zur Interpolation herangezogen werden.
CGRAPH ermöglicht die Erstellung von Abbildungen komplexer Funktionen in der komplexen Ebene. Diese wird beschrieben als
stellt also einen zweidimensionalen Vektorraum dar. In diesem Vektorraum gelten die mathematischen Grundaxiome gelten. Neben der reellen Achse, die als Sonderfall in der komplexen Ebene enthalten ist, wird die imaginäre Einheit i (bzw. j) eingeführt, die folgende Definition besitzt:
Zahlen werden aus Real- und Imaginärteil zusammengesetzt, wobei der Imaginärteil durch Hinzufügen der imaginären Einheit gekennzeichnet wird.
Außerdem ist eine Darstellung in Polarkoordinaten möglich.
mit
wobei der Winkel arg(z) gemäß der geometrischen Anschauung als
definiert ist. Die Mehrdeutigkeit des Arcustangens bezüglich der betrachteten Quadranten der komplexen Ebene wird durch den zweiten Teil der Funktion beschrieben. CGRAPH verwendet bei Ausgaben das kartesische Zahlenformat mit Real- und Imaginärteil.
Im Gegensatz zum reellen Vektorraum ℝ2 sind im komplexen Raum alle Grundrechenarten erklärt. Mit z=x+iy ergibt sich folgende Tabelle:
| Rechenart | Rechenvorschrtift |
|---|---|
| Addition | |
| Subtraktion | |
| Multiplikation | |
| Division |
Ebenso wie im reellen Raum kann für die komplexe Ebene eine Abbildung definiert werden. Dabei kann auf die bei reellen Abbildungen des ℝ2 gewonnenen Erkenntnisse zurückgegriffen werden.
Eine Abbildung wird erklärt durch
eine Zahl in der komplexen Z-Ebene wird auf eine andere in der komplexen W-Ebene abgebildet. Als Abbildungsvorschrift dient die komplexe Funktion
mit
wobei z und w Zahlen innerhalb der komplexen Z- bzw. W-Ebene sind.
Die so definierte Funktion kann aus dem reellen Raum bekannte Eigenschaften besitzen, so z.B. die Mehrdeutigkeit der Abbildung und die Umkehrbarkeit.
In CGRAPH sind die wichtigsten elementaren Funktionen bereits vordefiniert. Da in einigen Fällen Mehrdeutigkeiten auftreten können, werden hier die im Programm verwendeten Definitionen angegeben.
Wenn mehrdeutige Ergebnisse möglich sind, verwendet CGRAPH den Hauptwert der verwendeten Funktion. Die Definition der entsprechenden reellen Funktionen wird hier vorausgesetzt. Das Programm greift zur Berechnung der entsprechenden komplexen Werte auf die folgenden Funktionen zurück:
| Funktion | Beschreibung |
|---|---|
| exp(x) | reelle Exponentialfunktion zur Basis e |
| ln(x) | reeller Logarithmus zu Basis e |
| sin(x) | reelle Sinusfunktion |
| cos(x) | reelle Cosinusfunktion |
| arctan(x) | reelle Arcustangensfunktion |
| reelle Quadratfunktion | |
| reelle Quadratwurzelfunktion | |
| reelle Betragsfunktion |
Intern werden aus diesen noch die beiden reellen Hyperbelfunktionen sinh(x) und cosh(x) berechnet mit
und
Daraus folgen die angegebenen komplexen Funktionen mit
Die Mehrdeutigkeit der Logarithmusfunktion wird durch die Konstante k beschrieben. Sie wird innerhalb von CGRAPH zu Null angenommen, der Summand k muß daher bei Bedarf hinzugefügt werden.
Die Umkehrfunktionen können über den komplexen Logarithmus log(z) berechnet werden.
CGRAPH definiert einige Funktionen, mit denen komplexe Zahlen aufgeteilt werden können oder die der Bearbeitung und Umwandlung komplexer und reeller Zahlen dienen.
Die Funktionen sigma(x), delta(x), int(x) und frac(x) werten nur den Realteil des Arguments aus. Sie liefern als Ergebnis eine Zahl, deren Imaginärteil immer Null ist.
Das Quadrat einer komplexen Zahl wird auf die Multiplikation zurückgeführt.
Die komplexe allgemeine Potenzfunktion, die in CGRAPH durch das Symbol '^' erklärt ist, wird über die Exponentialfunktion berechnet.
Sie ist im Definitionsbereich [-𝜋,𝜋] in der komplexen Ebene stetig.
Die Quadratwurzel ist auf die Moivre-Formel zurückgeführt, da sie häufig im Definitionsbereich [𝜋,2𝜋] benötigt wird. Es gilt
Wenn die Wurzelfunktion im Definitionsbereich [-𝜋,𝜋] benötigt wird, so kann die allgemeine Exponentialfunktion mit
verwendet werden.
CGRAPH verwendet für Berechnungen intern ein Fließkommaformat, das eine Darstellung reeller Zahlen bis zu einem Exponenten von 101000 ermöglicht. Die Rechengenauigkeit liegt bei etwa 19 Dezimalstellen. Dieses Format kann bei Ausgaben über das die Einstellungen im Register Mathematik auf maximal 15 Nachkommastellen begrenzt werden. Eingaben können aber mit höherer Genauigkeit durchgeführt werden.
Die Berechnungen bei Zeichnungen werden in voller Genauigkeit ausgeführt. Die Graphiken werden in einer Genauigkeit dargestellt, die unterhalb der maximalen Vergrößerung liegt
Einige Funktionen wie der Sinus Hyperbolicus im Reellen oder der Sinus im Imaginären beinhalten implizit oder explizit exponentielle Berechnungen. Der maximale Definitionsbereich dieser Funktionen ist daher auf den entsprechenden Achsen auf den maximalen bzw. minimalen Exponenten 2839 beschränkt.
In CGRAPH können im Menü Weitere Grafiken / Eindimensionale FFT Fouriertransformationen durchgeführt werden. Die zugehörige Gleichungen für die Hintransformation vom Zeit- in den Bildbereich lautet
Die Rücktransformation wird über die Gleichung
berechnet, wobei die Konstante T in CGRAPH zu 1 gesetzt ist. Zur Berechnung der FFT verwendet CGRAPH einen Radix-2-Algorithmus nach Cooley-Tukey.
Die benötigten Abtastwerte werden in CGRAPH aus Funktionen gewonnen. In einem vorgegebenen Intervall der Funktion werden Stützwerte berechnet. Nun wird der erste Abtastwert wird auf 0, der letzte auf 2𝜋 verschoben. Die abgetasteten Stützwerte stellen immer eine bei Null beginnende Funktion dar.
Die berechnete FFT kann gemäß dem Abtasttheorem von Shannon nur bis zur halben Intervallbreite berechnet werden. In CGRAPH wird jedoch immer das vollständige Intervall [-𝜋,𝜋] dargestellt, das im Bereich zwischen -𝜋 und 0 die gespiegelten Anteile der FFT zwischen 0 und 𝜋 zeigt. Diese Darstellung erleichtert die Betrachtung der berechneten Fouriertransformation.
Die Konvergenz einer Funktion für einen vorgegebenen Startwert wird durch mehrfache Iteration untersucht. Der berechnete Funktionswert wird dabei als neuer Startwert aufgefasst und die Iteration so lange weiter ausgeführt, bis sich eine Divergenz oder Konvergenz feststellen läßt.
CGRAPH berechnet dabei den Abstand der berechneten Zahl zn+1 zur Ausgangszahl zn und zu deren Vorgängerin zn-1. Vergrößert sich dieser Abstand, so liegt eine Divergenz vor. Andernfalls konvergiert oder alterniert die Funktion.
Bei vielen mechanischen oder elektrischen Systemen sind die Größen des Systems unabhängig von dem, was an Ein- und Ausgang des Systems geschieht. Die Systemfunktion ist als Quotient von Eingangs- und Ausgangssignal definiert:
Wenn das Frequenzverhalten des Systems bestimmt werden soll, kann statt der komplexen Variablen z der komplexe Anteil j𝜔 gesetzt werden. Für den Amplitudengang a, die Dämpfung d und den Phasengang 𝜑 werden die folgenden Umrechnungen benutzt:
CGRAPH verwendet zwei unterschiedliche Abbildungsvorschriften für Fraktale. In beiden Fällen wird eine Funktion benötigt, die einen Parameter enthält.
Nach jeder Iteration wird überprüft, ob das Ergebnis außerhalb der vorgegebenen Entscheidungsgrenze liegt. Wenn dies der Fall ist, wird das Ergebnis an der Stelle des Ausgangswertes z0 abgetragen. Andernfalls wird die Berechnung bis zum ebenfalls vorgegebenen Maximalwert n durchgeführt.
Bei der Berechnung von Julia-Mengen wird der Parameter p während der Interation konstant gehalten. Er muß daher vor der Erzeugung des Fraktals eingegeben werden.
Bei Mandelbrot-Mengen wird der Parameter p über alle darstellbaren Punkte des Fensters variiert, während der Anfangspunkt z0 konstant gehalten wird.