Benutzer-Werkzeuge

Webseiten-Werkzeuge


funktionensyntax

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
funktionensyntax [2026/01/16 11:42] frankbrenneckefunktionensyntax [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 =====
-[[#Verfügbare Funktionen]]  +
- +
-[[#Parameter]] +
- +
-[[#Rechemzeichen]] +
- +
-[[#Hinweise]] +
- +
-[[#Speichern und Laden]] +
- +
- +
- +
-=== 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 weiteren Funktionsterm einklammern. Als Zählvariable dient dann die Variable n. Außerhalb von sum() und prod() hat n immer den Wert 1.+Beiden Funktionen ist gemeinsam, dass sie immer am Anfang einer Funktionsdefinition stehen müssen und den gesamten weiteren Funktionsterm einklammern. Als Zählvariable dient dann die Variable n. Außerhalb von sum() und prod() hat n immer den Wert 1. [[sumproddefinition|Weitere Hinweise zur Benutzung finden Sie hier]].
  
-=== 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-Koordinate oder den Realteil der Variablen z| +|x|bezeichnet die kartesische x-Koordinate oder den Realteil der Variablen z| 
-|y|bezeichnet die kartresische y-Koordinate oder den Imaginärteil der Variablen z|+|y|bezeichnet die kartesische y-Koordinate oder den Imaginärteil der Variablen z|
 |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,v,w|bezeichnen die kartesische x-, y- und z-Koordinate und werden dort verwendet, wo tatsächlich drei unterschiedliche Variablen für die Koordinaten benötigt werden. Bei einigen Grafiken können u, v und w zudem auch komplexe Zahlen sein.|
  
 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, 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. 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. [[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]], 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.+CGRAPH erlaubt innerhalb von Funktionen die Verwendung reeller Zahlen oder des komplexen [[Zahlenformate und Wertebereiche|Zahlenformats]], Der interne 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.
  
-Die eingegebenen Funktionen dürfen Leerzeichen enthalten. Ausgenommen hiervon ist nur die Zuweisungsdefinition, bei der das Gleichheitszeichen direkt nach dem Doppelpunkt folgen muß. +Die eingegebenen Funktionen dürfen Leerzeichen enthalten. 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. 
-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  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, 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.  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  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 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. 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 [[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 ===== 
 + 
 +Intern unterscheidet CGRAPH nicht zwischen reellen und komplexen Zahlen. Dies hat den Vorteil, dass bei der Erstellung reeller Graphiken nicht auf deren Definitionsbereich im Reellen geachtet werden muß. Da beispielsweise die Quadratwurzel negativer Zahlen eine rein imaginäre Zahl ergibt, liefert CGRAPH bei der Darstellung der (reellen) Quadratwurzel hier einfach Null als Ergebnis; dies ist innerhalb der komplexen Zahlen auch mathematisch korrekt. 
 + 
 +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. 
 + 
 +[[Grundsaetzliches|Zurück zur Übersicht]]
  
  
funktionensyntax.1768560137.txt.gz · Zuletzt geändert: von frankbrennecke

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki