funktionensyntax
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| funktionensyntax [2026/01/19 12:58] – frankbrennecke | funktionensyntax [2026/02/17 10:49] (aktuell) – frankbrennecke | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ==== Definition und Schreibweise von Funktionen ==== | + | ====== Definition und Schreibweise von Funktionen |
| Zeile 13: | Zeile 13: | ||
| 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. | 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 | |
| - | [[# | + | |
| - | + | ||
| - | [[# | + | |
| - | + | ||
| - | [[# | + | |
| - | + | ||
| - | [[# | + | |
| - | + | ||
| - | [[# | + | |
| - | + | ||
| - | [[#Weitere Hinweise]] | + | |
| - | + | ||
| - | === 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. | 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. | ||
| Zeile 64: | Zeile 51: | ||
| |prod|Produktfunktion| | |prod|Produktfunktion| | ||
| - | Beiden Funktionen ist gemeinsam, dass sie immer am Anfang einer Funktionsdefinition stehen müssen und den gesamtne | + | Beiden Funktionen ist gemeinsam, dass sie immer am Anfang einer Funktionsdefinition stehen müssen und den gesamten |
| - | === Verfügbare Variablen === | + | ===== 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 [[Hint|schwebende Fenster]] darauf hin, welche Variablen zulässig sind. | 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 [[Hint|schwebende Fenster]] darauf hin, welche Variablen zulässig sind. | ||
| Zeile 72: | Zeile 59: | ||
| |z|komplexe Zahl| | |z|komplexe Zahl| | ||
| |z\|konjugiert komplexe Zahl| | |z\|konjugiert komplexe Zahl| | ||
| - | |x|bezeichnet die kartresische | + | |x|bezeichnet die kartesische |
| - | |y|bezeichnet die kartresische | + | |y|bezeichnet die kartesische |
| |r|Variable für Radien| | |r|Variable für Radien| | ||
| |phi|Variable für winkel| | |phi|Variable für winkel| | ||
| |t|analog zu x zu verwenden| | |t|analog zu x zu verwenden| | ||
| |s|analog zu x zu verwenden| | |s|analog zu x zu verwenden| | ||
| + | |u, | ||
| Die gemeinsame Verwendung von x, t und s ist an manchen Stellen möglich, sollte aber aus Übersichtsgründen vermieden werden. | Die gemeinsame Verwendung von x, t und s ist an manchen Stellen möglich, sollte aber aus Übersichtsgründen vermieden werden. | ||
| - | === Parameter === | + | ===== Parameter |
| CGRPAH kennt das Schlüsselwort param, das wie eine Variable benutzt werden kann. Erkennt CGRAPH in einer Funktion dieses SChlüsselwort, | CGRPAH kennt das Schlüsselwort param, das wie eine Variable benutzt werden kann. Erkennt CGRAPH in einer Funktion dieses SChlüsselwort, | ||
| In manchen Grafikfunktionen ist ein Parameter zwingend erforderlich. [[Hint|Ein schwebendes Fenster]] weist darauf hin. | In manchen Grafikfunktionen ist ein Parameter zwingend erforderlich. [[Hint|Ein schwebendes Fenster]] weist darauf hin. | ||
| - | === Rechenzeichen === | + | ===== Rechenzeichen |
| In CGRAPH können die folgenden Rechenzeichen verwendet werden: | In CGRAPH können die folgenden Rechenzeichen verwendet werden: | ||
| Zeile 96: | Zeile 84: | ||
| |^|allgemeine Potenzfunktion| | |^|allgemeine Potenzfunktion| | ||
| - | === Schlüsselwörter === | + | Der Doppelpunkt : ist kein Rechenzeichen. Er wird benutzt, um Koordinatenpaare und -tripel darzustellen und deren einzelne Koordinaten voneiander zu trennen. Siehe hierzu die [[zahlenformate_und_wertebereiche|Zahlenformate]]. |
| + | |||
| + | ===== Schlüsselwörter | ||
| Zur Steuerung von Abläufen in CGRAPH sind einige Schlüsselwörter definiert. Diese finden aktuell noch keine Verwendung: | Zur Steuerung von Abläufen in CGRAPH sind einige Schlüsselwörter definiert. Diese finden aktuell noch keine Verwendung: | ||
| Zeile 108: | Zeile 98: | ||
| |#| | |#| | ||
| - | === Hinweise === | + | ===== Hinweise |
| - | CGRAPH erlaubt innerhalb von Funktionen die Verwendung reeller Zahlen oder des komplexen [[Zahlenformate und Wertebereiche|Zahlenformats]], | + | CGRAPH erlaubt innerhalb von Funktionen die Verwendung reeller Zahlen oder des komplexen [[Zahlenformate und Wertebereiche|Zahlenformats]], |
| - | Die eingegebenen Funktionen dürfen Leerzeichen enthalten. | + | Die eingegebenen Funktionen dürfen Leerzeichen enthalten. Der Compiler überprüft zunächst die Zahl der gesetzten Klammern. Sind noch nicht alle geschlossen, |
| - | Der Compiler überprüft zunächst die Zahl der gesetzten Klammern. Sind noch nicht alle geschlossen, | + | |
| Da komplexe Zahlen vollständig erkannt werden, ist eine Klammerung hier nicht erforderlich. Eine Eingabe wie | Da komplexe Zahlen vollständig erkannt werden, ist eine Klammerung hier nicht erforderlich. Eine Eingabe wie | ||
| - | z-3-3j | + | z-3-3j |
| ist gleichbedeutend mit | ist gleichbedeutend mit | ||
| - | z-(3+3j). | + | z-(3+3j). |
| Gleiches gilt für die Prioritätsbetrachtung. Eine Eingabe wie | Gleiches gilt für die Prioritätsbetrachtung. Eine Eingabe wie | ||
| - | z*-3-3j | + | z*-3-3j |
| wird als richtig erkannt, berechnet wird sie zu | wird als richtig erkannt, berechnet wird sie zu | ||
| - | z*(-3-3j) | + | z*(-3-3j) |
| Der Imaginärteil wird also als noch zur Zahl gehörend interpretiert. Die ebenfalls denkbare Übersetzung zu | Der Imaginärteil wird also als noch zur Zahl gehörend interpretiert. Die ebenfalls denkbare Übersetzung zu | ||
| - | z*(-3)-3j, | + | z*(-3)-3j, |
| wo zunächst die Multiplikation, | wo zunächst die Multiplikation, | ||
| CGRAPH kann innerhalb einer Klammerebene maximal zehn Speicher zur Verfügung stellen. Dies ist ausreichend für die meisten Eingaben. Eine Eingabe wie | 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 | + | 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. | ü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) | + | 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 | Ein schnelleres Abarbeiten dieser Funktion garantiert übrigens die Eingabe von | ||
| - | 11*sqr(z) | + | 11*sqr(z) |
| oder | oder | ||
| - | 11*z^2. | + | 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. | 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 === | + | ===== Automatisches |
| Eingegebene Funktion werden gespeichert, | Eingegebene Funktion werden gespeichert, | ||
| - | Änderungen an Funktion führen dazu, dass neben der alten auch die neue Variante gespeichert wird. Funktionen können innerhalb der [[EinstellungenFuntionsterme|Einstellungen]] aus der Speicherliste entfernt werden. | + | Änderungen an Funktion führen dazu, dass neben der alten auch die neue Variante gespeichert wird. Funktionen können innerhalb der [[funktionsterme|Einstellungen]] aus der Speicherliste entfernt werden. |
| - | ===Weitere Hinweise=== | + | ===== Weitere Hinweise |
| - | Intern unterscheidet CGRAPH nicht zwischen reellen und komplexen Zahlen. Dies hat den Vorteil, | + | Intern unterscheidet CGRAPH nicht zwischen reellen und komplexen Zahlen. Dies hat den Vorteil, |
| Dennoch sollte Wert auf die Einhaltung des jeweiligen Definitionsbereiches gelegt werden, damit nicht unerwünschte Ergebnisse erzeugt werden. Wenn beispielsweise die Funktion | Dennoch sollte Wert auf die Einhaltung des jeweiligen Definitionsbereiches gelegt werden, damit nicht unerwünschte Ergebnisse erzeugt werden. Wenn beispielsweise die Funktion | ||
| + | |||
| + | sqrt(x)*sqrt(2*x) | ||
| gezeichnet werden soll, dann berechnet CGRAPH bei negativen Werten für x in beiden Teilen des Terms rein imaginäre Zahlen, deren Multiplikation wieder eine reelle Zahl ergibt, was mathematisch wiederum korrekt ist. Dennoch ist das Ergebnis bei der Darstellung reeller Graphiken nicht erwünscht. Solche systematischen Fehler kann CGRAPH nicht erkennen, Sie müssen derartige Möglichkeiten durch Wahl eines geeigneten Zeichenbereichs selbst ausschließen. | gezeichnet werden soll, dann berechnet CGRAPH bei negativen Werten für x in beiden Teilen des Terms rein imaginäre Zahlen, deren Multiplikation wieder eine reelle Zahl ergibt, was mathematisch wiederum korrekt ist. Dennoch ist das Ergebnis bei der Darstellung reeller Graphiken nicht erwünscht. Solche systematischen Fehler kann CGRAPH nicht erkennen, Sie müssen derartige Möglichkeiten durch Wahl eines geeigneten Zeichenbereichs selbst ausschließen. | ||
| + | |||
| + | [[Grundsaetzliches|Zurück zur Übersicht]] | ||
funktionensyntax.1768823932.txt.gz · Zuletzt geändert: von frankbrennecke
