Berechnungen
Allgemeines
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für Berechnungsfrage und Mehrfachberechnungsfrage.
Alle Berechnungen unterstützen Einheiten und symbolische Auswertung.
Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:
- Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern
- Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung
- Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis
Konstante
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.
Liste der definierten Konstanten:
| Name | Wert | Beschreibung |
|---|---|---|
| %i | i | komplexer Parameter als Lösung der Gleichung x^2=-1 |
| %j | i | komplexer Parameter als Lösung der Gleichung x^2=-1 Wichtig: Wir nur vom Parser unterstützt, nicht von Maxima |
| %e | 2.718281828459045 | Eulersche Zahl |
| %pi | 3.141592653589793 | Kreiszahl |
| %mu0 | magnetische Feldkonstante | 4%pi1E-7’Vs/Am’ |
| %m0 | magnetische Feldkonstante (alt, wird bald entfernt werden) | 4%pi1E-7’Vs/Am’ |
| %epsilon0 | elektrische Feldkonstante | 8.85418781762039E-12’As/Vm’ |
| %e0 | elektrische Feldkonstante (alt, wird bald entfernt werden) | 8.85418781762039E-12’As/Vm’ |
| %c0 | Lichtgeschwindigkeit | 299792458’m/s’ |
| %Qe | Elementarladung | 1.602176620898E-19As |
| %g | Erdbeschleunigung | 9.81’m/s^2’ |
| %NA | Avogadro Konstante | 6.02214085774E23/mol |
| %k | Stefan Bolzman Konstante | 1.3806485279E-23’J/K’ |
| %R0 | Universelle Gaskonstante | 8.314459848’J/Kmol’ |
| %h | planksches Wirkungsquantum | 6.6260704081E-34Js |
Berechnung mit Maxima
- Maxima wird nur für symbolische Berechnungen bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das Maxima-Feld berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.
- Da zum Zeitpunkt der Maxima-Berechnung keine Datensätze vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die Datensätze benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.
- Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.
- Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu “\” (einfacher Backslash) am Ende der Zeile.
- Funktionsdeklarationen wie f(x):=x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar nicht verwendbar, da sie vom Parser nicht unterstützt werden.
- Mengen von Maxima sind in LeTTo nicht verwendbar. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit “set” beginnen und auf Vektoren basieren.
Berechnungen mit “Vorberechnung” und Maxima (Parser nicht angehakt)
- Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet
- Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt
- Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit
- Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an
Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!)
- Definition einer Einheit mit der Funktion unit in einem Kommentar
- Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen
//unit(U*)=V
- Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen
//unit(I*,ix*)=A
Berechnung mit dem internen Parser
- Der interne Parser kann durch Wahl der Checkbox “Parser” anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden.
- Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.
Operatoren
VORSICHT mit MAXIMA
- Einige Operatoren sind in Maxima anders, oder nicht definiert. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld mit dem Parser gerechnet werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.
- Alternativ kann man statt der Operatoren auch Funktionen verwenden (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.
- Es gibt einige Funktionen welche in Maxima existieren aber im Parser nicht, oder mit anderem Syntax.
- Wenn diese von Maxima nicht ausgewertet werden können, da sie Datensätze enthalten welche zum Auswertezeitpunkt von Maxima noch nicht mit Werten belegt sind muss “Vorberechnung” in der Frage angehakt werden damit die Datensätze schon vor dem Durchlauf von Maxima eingesetzt werden.
- Manche Funktionen sind syntaktisch nicht funktional aufgebaut und können deshalb nicht vom Parser ausgewertet werden - in diesem Fall darf in der Frage das Hackerl “Parser” nicht angehakt werden oder es muss eine andere Funktion verwendet werden (wie etwa wenn statt if)
- Wenn “Parser” nicht angehakt ist bleiben alle Funktionen welche von Maxima nicht unterstützt werden von Maxima unberechnet und werden dann bei der Lösungsberechnung vom Parser ausgewertet.
- Wenn “Parser” angehakt ist werden nur ausgewählte Funktionen (siehe weiter unten) von Maxima ausgewertet. Alle anderen Funktionen werden vom Parser ausgewertet.
Liste der problematischen Funktionen:
| Funktion in Maxima | Funktion im Parser | Beschreibung |
|---|---|---|
| if bedingung then wahr else falsch | if(bedingung,wahr,falsch) | Wenn-Funktion |
| wenn(bedingung,wahr,falsch) | Wenn-Funktion |
Infix Operatoren
arithmetische Operatoren
| Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| + | 40 | Addition | 4+5 | 9 |
| - | 40 | Subtraktion | 6-2 | 4 |
| * | 50 | Multiplikation | 4*5 | 20 |
| / | 51 | Division | 20/4 | 5 |
| % | 51 | Divisionsrest | 104%20 | 4 |
| | | | 60 | Parallelschaltung | x | | y | x*y/(x+y) |
| ^ | 90 | Potenz | 2^3 | 8 |
| .*. | 200 | Operator der intern für eine fehlende bindende Multiplikation verwendet wird | 4x | 4*x |
Bitoperatoren
| Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| | | 20 | Bitweise oder logisches ODER | 9|5 true|false |
13 true |
| or | 20 | Bitweise oder logisches ODER | 9 or 5 | 13 |
| & | 21 | Bitweise oder logisches UND | 13&10 | 8 |
| and | 21 | Bitweise oder logisches UND | 13 and 10 | 8 |
| xor | 22 | Bitweise oder logisches exklusiv oder XOR | 13 xor 10 | 7 |
| imp | 23 | Bitweise oder logisches impliziert IMP | 13 imp 10 | 8 |
| << | 35 | Bitweise links schieben | 5<<2 | 20 |
| >> | 35 | Bitweise rechts schieben | 8>>2 | 2 |
Vergleichsoperatoren
| Operator | Priorität | Beschreibung | Beispiel |
|---|---|---|---|
| = | 3 | Gleichungsoperator | x=y |
| == | 30 | Gleichungsoperator | x==y |
| != | 30 | Ungleichungsoperator | x!=y |
| < | 32 | Kleiner | x<y |
| <= | 32 | Kleiner gleich | x<=y |
| > | 32 | größer | x>y |
| >= | 32 | größer gleich | x>=y |
Organisative Operatoren
| Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| , | 0 | Listen-Trennzeichen | x,y | |
| $ | 1 | Trennzeichen zwischen mehreren Berechnungen | ||
| ; | 1 | Trennzeichen zwischen mehreren Berechnungen | ||
| : | 2 | Zuweisung an eine Variable auf der linken Seite | x:4/12 | 1/3 |
| :: | 2 | Zuweisung an eine Variable auf der linken Seite ohne die rechte Seite zu optimieren | x::4/12 | 4/12 |
Prefix Operatoren
| Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| + | 45 | positives Vorzeichen | +5 | 5 |
| - | 45 | negatives Vorzeichen | -(-5) | 5 |
| ~ | 95 | bitweise Inversion einer 64bit-Ganzzahl | ~0x0F0F | 0xFFFFFFFFFFFFF0F0 |
| ! | 120 | logisches NOT | !(3<4) | false |
| ++ | 130 | Inkrement von Ganzzahlen | ++x | erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück |
| – | 130 | Dekrement von Ganzzahlen | –x | vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück |
| % | 200 | Prefix für Namen, welche als Konstante definiert sind | %pi | 3.141592653589793 |
Suffix Operatoren
| Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|---|
| ++ | 135 | Inkrement von Ganzzahlen | x++ | erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück |
| – | 135 | Dekrement von Ganzzahlen | x– | vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück |
Klammern
- ( ) runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet
- { } geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet
- [ ] eckige Klammern werden für Vektoren und Matrizen verwendet. VORSICHT! Der Index in eckigen Klammer beginnt bei 1 (wegen Maxima-Kompatibilität). Allen anderen Indizes sind Nullbasiert (zB. vget, etc.)!
Funktionen
Funktionen für Ganzzahlen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| band | bitweises UND DEMO-Beispiel | band(4,12) | 4 |
| bor | bitweises ODER | bor(4,1) | 5 |
| bxor | bitweises EXKLUSIV ODER | band(4,5) | 1 |
| bimp | bitweises Parameter1 impliziert Parameter2 | bimp(13,10) | 8 |
| binv | bitweises NICHT mit 8 bit | binv(0x0F) | 0xF0 |
| shl | Schiebe Ganzzahl bitweise nach links | shl(8,2) | 32 |
| shr | Schiebe Ganzzahl bitweise nach rechts | shr(8,2) | 2 |
| div | Ganzzahldivision, Ergebnis wird abgeschnitten | div(5,2) | 2 |
| inv8 | bitweise Invertieren und die letzten 8 Bit bestimmen | inv8(0b1001) | 0b11110110 |
| inv16 | bitweise Invertieren und die letzten 16 Bit bestimmen | inv16(0xF0) | 0xFF0F |
| inv32 | bitweise Invertieren und die letzten 32 Bit bestimmen | inv32(0xF0) | 0bFFFFFF0F |
| inv64 | bitweise Invertieren und die letzten 64 Bit bestimmen | inv64(0xF0) | 0bFFFFFFFFFFFFFF0F |
| byte | Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren | byte(34.2) | 34 |
| word | Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren | word(34.2) | 34 |
| int | Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren | int(34.2) | 34 |
| long | Zahl in eine Ganzzahl wandeln , Einheit geht verloren | long(34.2) | 34 |
| parity | Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort) | parity(even,7,”xy”) | |
| blockparity | Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort) | blockparity(even,7,3,”abc”) | |
| bcd | Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um | bcd(124) | [1,2,4] |
| code | Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort) | code(5,4,3,5) | 0b1000001100101 |
| hamming | Bestimmt den Hamming-Abstand von mehreren Codeworten | hamming(1,2,4,8,16) | 2 |
| komplement | Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet | komplement(-5,8) | 0b11111011 |
| bitstream | Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl,Gruppengröße) | bitstream(0x184,12,4) | “0001 1000 0100” |
| dechex | Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Hexadezimal-String mit Präfix 0x aus. |
dechex(12) | “0xC” |
| hex | Alias zu dechex: Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Hexadezimal-String aus. |
hex(12) | “0xC” |
| decbin | Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Binär-String mit Präfix 0b aus. |
decbin(10) | “0b1010” |
| bin | Alias zu decbin: Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Binär-String aus. |
bin(10) | “0b1010” |
Funktionen für rationale und Ganzzahlen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| kgV | berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen DEMO-Beispiel | kgV(3,10) | 30 |
| ggT | berechnet den größten gemeinsamen Teiler von mehreren Zahlen DEMO-Beispiel | ggT(12,10) | 2 |
| isprim | prüft ob die angegebene Zahl eine Primzahl ist DEMO-Beispiel | isprim(13) | true |
| prims | zerlegt eine Ganzzahl in ihre Primfaktoren DEMO-Beispiel | prims(12) | [2,2,3] |
| defracmix | zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge Die erhaltene Menge kann mit dem Format-Modfier frac als gemischter Bruch dargestellt werden (siehe Zahlendarstellung) DEMO-Beispiel |
defracmix(14/12) defracmix(-15/12) defracmix(3/12) |
[1,2/12] [-1,3,12] [0,3,12] |
| defrac | zerlegt eine rationale Zahl in Zähler und Nenner als Menge Die erhaltene Menge kann mit dem Format-Modfier frac als gemischter Bruch dargestellt werden DEMO-Beispiel |
defrac(14/12) | [13,12] |
| frac | erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl DEMO-Beispiel | frac([3,7]) frac([1,2,3]) |
3/7 5/3 |
| mod | Mathematische Implementierung von modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis DEMO-Beispiel | mod(5,2) mod(6.2,2.5) mod(-4,3) |
1 1.2 2 |
| mod2 | Symmetrische Implementierung von modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments Siehe auch Divisionsrest des Parser-Operators % Berechnungen arithmetische-operatoren- DEMO-Beispiel |
mod2(5,2) mod2(6.2,2.5) mod2(-4,3) |
1 1.2 -1 |
| isNearInteger | prüft ob eine Zahl nahe genug an einer Ganzzahl liegt, um als Ganzzahl interpretiert zu werden. Es wird die Toleranz der Frage verwendet | isNearInteger(3.00000000001) isNearInteger(3.1) |
true false |
| ni | Kurzform von isNearInteger - prüft ob eine Zahl nahe genug an einer Ganzzahl liegt, um als Ganzzahl interpretiert zu werden. Es wird die Toleranz der Frage verwendet | ni(3.00000000001) ni(3.1) |
true false |
Funktionen für Winkel im Gradmaß
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| degmix | zerlegt einen Winkel im Bogenmaß in einen Winkel in Grad, Minuten und Sekunden in einem Vektor DEMO-Beispiel | degmix(0.5) | [28,38,52.4031239082] |
| deg | erzeugt aus einem Vektor mit Grad, Minuten und Sekunden als Zahlenwerte oder einen WinkelString einen Winkel im Bogenmaß DEMO-Beispiel | deg([2,15,22]) deg("2°15'22''") |
2.25611111111° |
| degstring | erzeugt aus einem Vektor mit Grad, Minuten und Sekunden als Zahlenwerte oder einen Winkel im Bogenmaß einen String der Winkeldarstellung DEMO-Beispiel | degstring(0.5) | "2°15'22''" |
boolesche(boolsche) Funktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| eq | gleich eq(wert1,wert2),eq(wert1,wert2,toleranz),eq(wert1,wert2,toleranz,absolut) DEMO-Beispiel | eq(4,4) | true |
| eqruntime | symbolischer Vergleich, welcher symbolisch erst bei der Ergebnisberechnung ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,…) verwendet werden. DEMO-Beispiel | eqruntime(x+3y,3y+x) | true |
| ne | ungleich ne(wert1,wert2),ne(wert1,wert2,toleranz),ne(wert1,wert2,toleranz,absolut) DEMO-Beispiel | ne(6,4) | true |
| ge | größer gleich ge(wert1,wert2),ge(wert1,wert2,toleranz),ge(wert1,wert2,toleranz,absolut) DEMO-Beispiel | ge(6,4) | true |
| le | kleiner gleich le(wert1,wert2),le(wert1,wert2,toleranz),le(wert1,wert2,toleranz,absolut) DEMO-Beispiel | le(6,4) | false |
| gt | größer DEMO-Beispiel | gt(6,4) | true |
| lt | kleiner DEMO-Beispiel | lt(6,4) | false |
| between | prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 . Parameter 4 und 5 können optinal für die Toleranz verwendet werden. DEMO-Beispiel | between(3,4,5) | true |
| land | logisches UND DEMO-Beispiel | land(a<b,b<c) | |
| lor | logisches ODER DEMO-Beispiel | lor(a<b,b<c) | |
| not | logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen lnot ) DEMO-Beispiel | not(a<b) | |
| lnot | logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet DEMO-Beispiel | lnot(a<b) |
Funktionen zu Einheiten
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| double | Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren DEMO-Beispiel | double(3.4V) | 3.4 |
| float | Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren (wie double) | float(3.4V) | 3.4 |
| numeric | verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert (bezogen auf die Einheit!). Bei einer SI-Einheit wird der Zahlenwert bezogen auf die Basiseinheit geliefert, bei dimensonslosen Größen wird der Zahlenwert bezogen auf die verwendete dimensionslose Einheit gewählt. numeric(x)*unit(x) liefert wieder x DEMO-Beispiel |
numeric(2.3mA) numeric(5%) |
0.0023 5 |
| originnumeric | liefert immer den Zahlenwert einer einheitenbehafteten Größe bezogen auf die vorhandene Einheit. Gibt es keine Originaleinheit da der Wert berechnet wurde wird der Zahlenwert bezogen auf die SI-Grundeinheit genommen. originnumeric(x)*originunit(x) liefert wieder x DEMO-Beispiel |
originnumeric(2.3mA) originnumeric(2.3mA*2Ohm) originnumeric(15°) |
2.3 0.0046 15 |
| removeunit | entfernt bei einem Ausdruck alle Einheiten und ersetzt dabei alle einheitenbehafteten Größen durch den Zahlenwert bezogen auf die BasisEinheit des SI-Systems DEMO-Beispiel | removeunit(t*5’m/s’+4cm) | t*5+0.04 |
| unit | gibt die SI-Einheit eines einheitenbehafteten Wertes mit dem Zahlenwert 1 ohne Einheitenvielfache zurück. numeric(x)*unit(x) liefert wieder x DEMO-Beispiel |
unit(3.1kA) unit(5%) |
1A 1% |
| originunit | gibt die SI-Einheit eines einheitenbehafteten Wertes mit dem Zahlenwert 1 zurück. originnumeric(x)*originunit(x) liefert wieder x DEMO-Beispiel |
unit(3.1kA) unit(5%) |
1kA 1% |
| splitunit | Zerlegt einen numerischen Wert in Zahlenwert und die originale/optimale Einheit mit Zahlenwert 1 als Feld mit Zahlenwert als Index 0 und Einheit als Index 1 | splitunit(1300kVA) | [1300,1kVA] |
| splitoptunit | Zerlegt einen numerischen Wert in Zahlenwert und die optimale Einheit mit Zahlenwert 1 als Feld mit Zahlenwert als Index 0 und Einheit als Index 1 | splitoptunit(1300kVA) | [1.3,1MVA] |
| unitopt | liefert bei einem einheitenbehafteten Wert die optimale SI-Einheit mit optimierten Einheitenvielfachen | unitopt(1300kVA) | 1.3MVA |
| eh | Liefert zu einem numerischen Wert die zugehörige Einheit als Wert 1 zurück; bei einem einheitenlosen Wert wird 1 geliefert. |
eh(2.3mA) | 1mA |
| dB | Wandelt einen Zahlenwert in eine nicht skalierende Dezibel-Einheit um. Einheitenlos wird in dB20 gewandelt, mit den Einheiten V,mV,uV,W,mW,uW wird in die zugehörige dB-Einheit gewandelt. DEMO-Beispiel | dB(100) dB(100)+1 |
40 dB20 41 |
| fromdB | Wandelt eine nicht skalierende Dezibel-Einheit in einen normalen Zahlenwert um DEMO-Beispiel | fromdB(40) | 100 |
| todB | versieht einen Zahlenwert mit der skalierenden Dezibel-Einheit dB welche mit 20*log10 berechnet wird DEMO-Beispiel | todB(100) todB(100)*2 |
40dB 200 |
| dB10 | wandelt eine Zahl in einen Dezibel Wert dB10 mit 10dB pro Dekade DEMO-Beispiel | dB10(100) | 20dB10 |
| fromdB10 | wandelt einen Dezibel Wert mit 10dB pro Dekade in den Ausgangswert DEMO-Beispiel | fromdB10(20) | 100 |
| dBW | wandelt eine Leistung in einen Dezibel Wert dBW mit 10dB pro Dekade DEMO-Beispiel | dBW(100) | 20dBW |
| fromdBW | wandelt einen Dezibel Wert mit 10dB pro Dekade in eine Leistung DEMO-Beispiel | fromdBW(20) | 100W |
| dBm | Wandelt eine Leistung in dBm um. Bezugsleistung ist 1 mW: 10*log10(P/1mW). Bei komplexen Leistungen wird der Betrag verwendet; vorhandene dBW/dBm/dBu-Werte werden entsprechend umgerechnet. |
dBm(1mW) | 0dBm |
| fromdBm | Wandelt einen dBm-Wert in eine Leistung zurück. Ein einheitenloser Zahlenwert wird als dBm interpretiert und als Leistung in mW zurückgegeben. | fromdBm(0) | 1mW |
| dBu | Wandelt eine Leistung in den in LeTTo verwendeten dBu-Pegel mit Bezugsleistung 1 µW um: 10*log10(P/1uW). Hinweis: Dies ist die LeTTo-Definition von dBu und nicht die übliche Spannungsdefinition bezogen auf 0,775 V. |
dBu(1uW) | 0dBu |
| fromdBu | Wandelt einen LeTTo-dBu-Wert in eine Leistung zurück. Ein einheitenloser Zahlenwert wird als dBu interpretiert und als Leistung in µW zurückgegeben. | fromdBu(0) | 1uW |
| dBV | Wandelt eine Spannung in dBV um. Bezugsspannung ist 1 V: 20*log10(U/1V). Bei komplexen Spannungen wird der Betrag verwendet; vorhandene dBV/dBmV/dBuV-Werte werden entsprechend umgerechnet. |
dBV(1V) | 0dBV |
| fromdBV | Wandelt einen dBV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBV interpretiert und als Spannung in V zurückgegeben. | fromdBV(0) | 1V |
| dBmV | Wandelt eine Spannung in dBmV um. Bezugsspannung ist 1 mV: 20*log10(U/1mV). Bei komplexen Spannungen wird der Betrag verwendet. |
dBmV(1mV) | 0dBmV |
| fromdBmV | Wandelt einen dBmV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBmV interpretiert und als Spannung in mV zurückgegeben. | fromdBmV(0) | 1mV |
| dBuV | Wandelt eine Spannung in dBuV um. Bezugsspannung ist 1 µV: 20*log10(U/1uV). Bei komplexen Spannungen wird der Betrag verwendet. |
dBuV(1uV) | 0dBuV |
| fromdBuV | Wandelt einen dBuV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBuV interpretiert und als Spannung in µV zurückgegeben. | fromdBuV(0) | 1uV |
arithmetische Funktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| cround | Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. DEMO-Beispiel | cround(23.535,2) cround(2.435arg34.5364°,1) |
23.54 2.4arg34.5° |
| ccround | Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. DEMO-Beispiel | ccround(2.4534+5.645*%i,2) | 2.45+5.65i |
| round | Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter DEMO-Beispiel | round(23.535) | 24 |
| ground | Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern DEMO-Beispiel | ground(2453.43,2) | 2500 |
| floor | Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist DEMO-Beispiel | floor(24.5) | 24 |
| trunc | Schneidet die Zahl nach dem Komma ab DEMO-Beispiel | trunc(24.5) | 24 |
| ceiling | ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist DEMO-Beispiel | ceiling(13.2) | 14 |
| pow | Potenzfunktion DEMO-Beispiel | pow(2,3) | 8 |
| par | Parallelschaltung von Widerständen DEMO-Beispiel | par(x,y) | x*y/(x+y) |
| min | Minimum von mehrere Werten suchen DEMO-Beispiel | min(3,5,1) | 1 |
| max | Maximum von mehreren Werten suchen DEMO-Beispiel | max(3,5,1) | 5 |
| random | Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal) VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen Datensatz statt einer Zufallszahl verwenden! Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! DEMO-Beispiel |
random(2,8) | 3.4532 |
| randomC | komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet! DEMO-Beispiel |
randomC(2,8) | 3.4532arg40.3° |
| signum | Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. DEMO-Beispiel | signum(-4) | -1 |
Maxima-basierte Funktionen
- Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.
- Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| integrate | Berechnet das unbestimmte oder bestimmte Integral einer Funktion. DEMO-Beispiel | integrate(x^2,x) integrate(x^2,x,0,2) |
x^3/3 8/3 |
| diff | Berechnet die Ableitung einer Funktion. DEMO-Beispiel | diff(x^2,x) diff(3*x^2,x,2) |
x 6 |
| tomaxima | Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. DEMO-Beispiel | tomaxima(y:x^2,y+2) | x^2+2 |
| laplace | Bestimmt die Laplace-Transformierte einer Funktion. DEMO-Beispiel | laplace(sin(t),t,s) | 1/(1+s^2) |
| ilt | Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion DEMO-Beispiel | ilt(1/(1+s),s,t) | e^(-t) |
| sum | Summenbildung DEMO-Beispiel | sum(1/k,k,1,2) | 3/2 |
| product | Produktbildung DEMO-Beispiel | product(1/k,k,1,3) | 1/6 |
erweiterte arithmetische Funktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| sigma | Sprungfunktion: sigma(x) liefert 0 für x<0 und 1 für x>=0 DEMO-Beispiel | sigma(243.3) | 1 |
| pulse | Rechteckfunktion: pulse(x,x0) ist gleich 1 für x0 < x < x0 + 1, sonst 0 pulse(x,x0,L) ist gleich 1 für x0 < x < x0 + L, sonst 0 DEMO-Beispiel |
pulse(x,2,4) | ![]() |
| ramp | Rampenfunktion: ramp(x,x0) Rampe von x0 < x < x0 + 1 ramp(x,x0,L) Rampe von x0 < x < x0 + L DEMO-Beispiel |
ramp(x,2,4) | ![]() |
| interpol | Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. interpol(WerteX,WerteY,x) DEMO-Beispiel |
interpol([0,1,2],[0,3,3],1.5) | 3 |
| interpol(pv,wert) | Interpoliert Zwischenwerte durch lineare Interpolation in einer als PV-Vektor gegebenen Tabelle DEMO-Beispiel | interpol([[0,0],[1,2],[2,2.2],[3,1.4]],1.5) | 2.1 |
| periodic | Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion periodic(Variable,Periodendauer,Funktion) periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) DEMO-Beispiel |
ch1(t):periodic(t,5ms,2’Vms-2’t^2) ch1(t):periodic(t,5ms,1,2Vt^2) |
|
| numint | numerische Integration numint(untereGrenze,obereGrenze,funktion,Variable) numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) DEMO-Beispiel |
numint(0,2pi,sin(t),t) | 0 |
| numdif | numerisches Differenzieren einer Funktion “funktion” nach einer Variablen “Variable” an der Stelle “position” mit einer Differenz der Variablen von “differenz” numdif(position,funktion,Variable,differenz) DEMO-Beispiel |
numdif(0,sin(t),t,0.01) | 1 |
| solve | löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen DEMO-Beispiel | solve([2*x+y=3,x-y=0],[x,y]) | [[ x=1,y=1 ]] |
| solvevalue | löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist DEMO-Beispiel | solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x) | 1 |
| newton | Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. DEMO-Beispiel | newton(x^2-4,4) | 2 |
| cnewton | Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. DEMO-Beispiel | cnewton (x^2+4,4) | 2*%i |
| newtonall | Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. DEMO-Beispiel | newtonall (x^2-4,4) | [-2,2] |
| cnewtonall | Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. DEMO-Beispiel | cnewtonall (x^2+4,4) | [-2%i,2%i] |
Gleichungen und Gleichungssysteme
| Funktion | Beschreibung | Beispiel | Ergebnis | ab Revision |
|---|---|---|---|---|
| solve | löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen DEMO-Beispiel | solve([2*x+y=3,x-y=0],[x,y]) | [[ x=1,y=1 ]] | |
| lhs | liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators DEMO-Beispiel | lhs(x+y=c+2) | x+y | 6521 |
| rhs | liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators DEMO-Beispiel | rhs(x+y=c+2) | c+2 | 6521 |
| onlypos | liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind DEMO-Beispiel | onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) onlypos([x=-2,x=0,x=6,x=8]) |
[[x=4,y=5]] [x=7,x=8] |
6522 |
| onlyreal | liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind DEMO-Beispiel | onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) onlyreal([x=%i+1,x=1-%i,x=3,x=8]) |
[[x=3,y=4]] [x=3,x=8] |
6522 |
Stringfunktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| dechex | Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben DEMO-Beispiel | dexhex(12) | “0xC” |
| chr | Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. DEMO-Beispiel | chr(0x65,105) | “ei” |
| val | Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde. DEMO-Beispiel | val(“a”) | 97 |
| strcat | Fügt mehrere Strings zusammen. DEMO-Beispiel | strcat(“a”,”b”) | “ab” |
| string | Wandelt eine Zahl in einen String um. | string(123) | “123” |
| parse | Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert DEMO-Beispiel | parse(“2+3”) | 5 |
| substring | Liefert einen Teil eines Strings substring(string,startindex,endindex). Index beginnt bei 0 und endindex ist optional. DEMO-Beispiel | substring(“abcdefg”,2,3) | “cd” |
| tailstring | liefert den letzten Teil eines Strings teilstring(tailstring,zeichenanzahl) DEMO-Beispiel | tailstring(“abcdefg”,2) | “fg” |
| replacestring | Ersetzt alle Vorkommen einer Zeichenkette in einem String durch eine andere Zeichenkette. DEMO-Beispiel | replacestring(“abcdefg”,”bc”,”xy”) | “axydefg” |
| replaceallstring | Ersetzt alle Vorkommen einer Zeichenkette (regulärer Ausdruck) durch eine andere Zeichenkette. DEMO-Beispiel | replaceallstring(“abcdefg”,”b.*e”,”xy”) | “axyfg” |
| replacefirststring | Ersetzt das erste Vorkommen einer Zeichenkette (regulärer Ausdruck) durch eine andere Zeichenkette. DEMO-Beispiel | replacefirststring(“abcdefg”,”b.*e”,”xy”) | “axyfg” |
| splitstring | Teilt einen String in ein Array von Strings splitstring(string,separator) DEMO-Beispiel | splitstring(“abcdefg”,”b”) | “a”,”c”,”defg” |
| matchstring | Prüft ob eine String einem regulären Ausdruck entspricht. DEMO-Beispiel | matchstring(“abcdefg”,”b.*e”) | true |
trigonometrische Funktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| sin | Sinus DEMO-Beispiel | sin(%pi/2) | 1 |
| cos | Cosinus DEMO-Beispiel | cos(%pi/2) | 0 |
| tan | Tangens DEMO-Beispiel | tan(%pi/4) | 1 |
| cot | Cotangens, cot(x)=1/tan(x). |
cot(%pi/4) | 1 |
| asin | Arcus-Sinus DEMO-Beispiel | asin(1) | %pi/2 |
| arcsin | Arcus-Sinus DEMO-Beispiel | asin(1) | %pi/2 |
| acos | Arcus-Cosinus DEMO-Beispiel | acos(1) | 0 |
| arccos | Arcus-Cosinus DEMO-Beispiel | acos(1) | 0 |
| atan | Arcus-Tangens DEMO-Beispiel | atan(1) | %pi/4 |
| arctan | Arcus-Tangens DEMO-Beispiel | arctan(1) | %pi/4 |
| acot | Arcus-Cotangens. | acot(1) | %pi/4 |
| arccot | Alias zu acot: Arcus-Cotangens. |
arccot(1) | %pi/4 |
| atan2 | Arcus-Tangens atan2(y,x)=arctan(y/x) DEMO-Beispiel | atan2(-2,-2) | -%pi*3/4 |
| arctan2 | Arcus-Tangens arctan2(y,x)=arctan(y/x) DEMO-Beispiel | arctan2(-2,-2) | -%pi*3/4 |
| sinh | Sinus-Hyperbolicus DEMO-Beispiel | sinh(1) | 1.1752012 |
| cosh | Cosinus-Hyperbolicus DEMO-Beispiel | cosh(1) | 1.5430806 |
| tanh | Tangens-Hyperbolicus DEMO-Beispiel | tanh(1) | 0.7615941 |
| coth | Cotangens-Hyperbolicus DEMO-Beispiel | coth(1) | 1.313035 |
| sec | Secans, sec(x)=1/cos(x). |
sec(0) | 1 |
| csc | Kosecans, csc(x)=1/sin(x). |
csc(%pi/2) | 1 |
| sech | Secans-Hyperbolicus, sech(x)=1/cosh(x). |
sech(0) | 1 |
| csch | Kosecans-Hyperbolicus, csch(x)=1/sinh(x). |
csch(1) | 0.850918… |
| asinh | Area-Sinus-Hyperbolicus DEMO-Beispiel | asinh(1.1752012) | 1 |
| acosh | Area-Cosinus-Hyperbolicus DEMO-Beispiel | acosh(1.5430806) | 1 |
| atanh | Area-Tangens-Hyperbolicus DEMO-Beispiel | atanh(0.7615941) | 1 |
| acoth | Area-Cotangens-Hyperbolicus DEMO-Beispiel | acoth(1.313035) | 1 |
| asec | Arcus-Secans, inverse Funktion zu sec. |
asec(2) | %pi/3 |
| acsc | Arcus-Kosekans, inverse Funktion zu csc. |
acsc(2) | %pi/6 |
| asech | Area-Secans-Hyperbolicus, inverse Funktion zu sech. |
asech(1) | 0 |
| acsch | Area-Kosekans-Hyperbolicus, inverse Funktion zu csch. |
acsch(1) | 0.881373… |
| csin | Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit DEMO-Beispiel | csin(U) | sqrt(2)cabs(U)sin(2pif*t+carg(U)) |
| cssin | Erzeugt aus einer komplexen Zahl, die als Spitzenwert interpretiert wird, eine Sinusfunktion. cssin(U), cssin(U,f) oder cssin(U,f,x). |
cssin(U) | cabs(U)sin(2pift+carg(U)) |
| quadrant | Liefert den Quadranten eines Winkels mit einer Toleranzangabe. DEMO-Beispiel | quadrant(20°,5°) | 1 |
| argnorm | Wandelt einen Winkel auf den Bereich von 0°-360° DEMO-Beispiel | argnorm(-50°) | 310° |
| pi | Funktionsschreibweise der Kreiszahl Pi. pi() hat keine Parameter und entspricht %pi. |
pi() | %pi |
Exponentialfunktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| pow | Potenzfunktion DEMO-Beispiel | pow(2,3) | 8 |
| sqrt | Quadratwurzel. Entspricht root(x,2). |
sqrt(9) | 3 |
| root | n-te Wurzel root(x,n); ohne zweiten Parameter wird die Quadratwurzel verwendet. |
root(8,3) | 2 |
| exp | Exponentialfunktion DEMO-Beispiel | exp(1) | %e |
| log | natürlicher Logarythmus DEMO-Beispiel | log(%e) | 1 |
| ln | natürlicher Logarythmus DEMO-Beispiel | ln(%e) | 1 |
| log10 | Logarythmus zur Basis 10 DEMO-Beispiel | log10(100) | 2 |
komplexe Zahlen
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| abs | Liefert den Absolutbetrag einer komplexen Zahl DEMO-Beispiel | abs(3+4*%i) | 5 |
| cabs | Liefert den Absolutbetrag einer komplexen Zahl DEMO-Beispiel | cabs(3+4*%i) | 5 |
| cAbs | Kompatibilitätsalias zu cabs. |
cAbs(3+4*%i) | 5 |
| carg | Liefert das Argument einer komplexen Zahl DEMO-Beispiel | carg(4%e^(3%i)) | 3 |
| cArg | Kompatibilitätsalias zu carg. |
cArg(4%e^(3%i)) | 3 |
| realpart | Liefert den Realteil einer komplexen Zahl DEMO-Beispiel | realpart(3+4*%i) | 3 |
| cRe | Kompatibilitätsalias zu realpart. |
cRe(3+4*%i) | 3 |
| imagpart | Liefert den Imaginärteil einer komplexen Zahl DEMO-Beispiel | imagpart(3+4*%i) | 4 |
| cIm | Kompatibilitätsalias zu imagpart. |
cIm(3+4*%i) | 4 |
| conjugate | Liefert die konjugiert komplexe Zahl einer komplexen Zahl DEMO-Beispiel | conjugate(3+4*%i) | 3-4*%i |
| cConjugate | Kompatibilitätsalias zu conjugate. |
cConjugate(3+4*%i) | 3-4*%i |
| rectform | hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} DEMO-Beispiel | ||
| cRectform | Kompatibilitätsalias zu rectform. |
||
| pol | erzeugt aus Betrag und Argument eine komplexe Zahl DEMO-Beispiel | pol(5,0.9272952180016122) | 3+4*%i |
| polgrad | Erzeugt aus Betrag und einem Winkel im Gradmaß eine komplexe Zahl. | polgrad(5,53.130102°/1°) | 3+4*%i |
Polynome
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.
siehe auch Zahlendarstellung Polynome
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| polynom(p) | Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen DEMO-Beispiel | polynom(1+x) | 1+x² |
| polynom(p,var) | Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. DEMO-Beispiel | polynom(1+ax^2,x) polynom(1+2x^2,x) |
polynom(1+ax^2,x) 1+2x² |
| polynom(p,var,”einheit”) | Erzeugt ein Polynom in der Variablen var, mit der Einheit “einheit” für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! | polynom(1+2p^2,p,”s-1”) polynom(1+2’s2’p^2,p,”s-1”) |
1+2’s2’p^2 1+2’s2’p^2 |
| factfrompolynom(p) | Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable | factfrompolynom(polynom((2+x)/(1+2*x))) | [[1,0.5],[0.5,1],”x”,”“] |
| polynomfromfact(f) | Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom | polynomfromfact([[1,0.5],[0.5,1],”x”,”“]) | (2+x)/(1+2*x) |
| polynomfromfact(zähler,nenner,var,einheit) | Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom | polynomfromfact([1,0.5],[0.5,1],x,””) | (2+x)/(1+2*x) |
| nullfrompolynom(p) | Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable | nullfrompolynom(polynom((2+x)/(1+2*x))) | [0.5,[-2],[-0.5],x] |
| polynomfromnull(n) | Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom | polynomfromnull([0.5,[-2],[-0.5],x]) | (2+x)/(1+2*x) |
| polynomfromnull(faktor,nullstellen,polstellen,var) | Erzeugt aus einer Faktor-Vektoren ein neues Polynom | polynomfromnull(0.5,[-2],[-0.5],x) | (2+x)/(1+2*x) |
| polynomk(p) | Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. | polynomk(polynom((2+x)/(1+2*x))) | 0.5 |
| ispolynom(p) | Prüft, ob der Ausdruck ein Polynom ist. Die Funktion wird ausgewertet, sobald der Parameter als Polynom erkannt bzw. nicht als Polynom erkannt werden kann. | ispolynom(polynom(x^2+1)) | true |
| getvars(ausdruck) | Liefert alle im Ausdruck vorkommenden Variablennamen als Vektor von Strings. | getvars(x^2+a*y) | [“a”,”x”,”y”] |
statistische Funktionen
Die Funktionen funktionieren nur ohne Einheiten.
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| factorial | Liefert die Fakultät einer positiven ganzen Zahl DEMO-Beispiel | factorial(5) | 120 |
| binomial | Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen DEMO-Beispiel | binomial(5,2) | 10 |
Mengen-Funktionen
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.
| Funktion | Beschreibung | Beispiel | Ergebnis | ab Rev |
|---|---|---|---|---|
| setget | Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) DEMO-Beispiel | setget([12,13,14],1) setget(matrix([9,2],[3,4]),0,1) |
13 2 |
|
| setset | setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) DEMO-Beispiel | setset([12,13,14],1,35) setset(matrix([9,2],[3,4]),0,0,-9) |
[12,35,14] [[-9,2],[3,4]] |
|
| setlength | liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors DEMO-Beispiel | setlength([3,6,54,34,3,54]) | 6 | |
| setinsert | fügt ein Element in eine Menge an eine gegebene Stelle ein DEMO-Beispiel | setinsert([12,13,14],1,25) | [12,25,13,14] | |
| setremove | löscht ein Element einer Menge DEMO-Beispiel | setremove([12,13,14],1) | [12,14] | |
| setapply | wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an DEMO-Beispiel | setapply(y,[1,2,3],y*2) | [2,4,6] | 5965 |
| setmedian | Liefert den Median einer Menge DEMO-Beispiel | setmedian([4,3,1,5,6] | 4 | |
| setboxplot | Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das Plot-Plugin#definierte-zeichenelemente- DEMO-Beispiel | setboxplot([1,2,3,10,8,9] | [1,2,5.5,9,10] | |
| setsort | Sortiert die Elemente einer Menge aufsteigend DEMO-Beispiel | setsort([3,-3,2,0,5,2]) | [-3,0,2,2,3,5] | |
| setsortnd | Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente DEMO-Beispiel | setsortnd([31,-3,2,31,0,5,2]) | [-3,0,2,5,31] | |
| setcount | Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge DEMO-Beispiel | setcount([31,-3,2,31,0,5,2],31) setcount([2,5,3,6]) |
2 4 |
|
| setmodus | Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen DEMO-Beispiel | setmodus([3,-3,2,0,5,2]) | 2 | |
| setreverse | Dreht die Reihenfolge einer Menge um DEMO-Beispiel | setreverse([3,-3,2,0,5,2]) | [2,5,0,2,-3,3] | |
| reverse | Alias zu setreverse: Dreht die Reihenfolge eines Vektors/einer Menge um. |
reverse([1,2,3]) | [3,2,1] | |
| setnd | Löscht alle Duplikate aus der Menge DEMO-Beispiel | setnd([3,-3,2,0,5,2])) | [3,-3,2,0,5] | |
| setshuffle | Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel erforderlich, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird. DEMO-Beispiel | setshuffle([3,-3,2,0,5,2],5) | [2,3,−3,2,0,5] | 6082 |
| setmittel | Bestimmt den Mittelwert einer Menge DEMO-Beispiel | setmittel([1,3,2,4]) | 2.5 | |
| setgeomittel | Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen DEMO-Beispiel | setgeomittel([10,20,30]) | 18.171206 | |
| setvarianz | Bestimmt die empirische Varianz einer Menge DEMO-Beispiel | setvarianz([3,1,2,5,4]) | ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2 | |
| setquadratmittel | Bestimmt den quadratischen Mittelwert einer Menge DEMO-Beispiel | setquadratmittel([10,20,30]) | 21.6025 | |
| setsum | Bestimmt die Summe aller Werte einer Menge DEMO-Beispiel | setsum([1,3,2,4]) | 10 | |
| setprod | Bestimmt das Produkt aller Werte einer Menge DEMO-Beispiel | setprod([1,3,2,4]) | 24 | |
| setunion | Fügt mehrere Mengen zu einer neuen Menge zusammen DEMO-Beispiel | setunion([1,3,2,4],[3,7]) | [1,3,2,4,3,7] | |
| setunionnd | Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente DEMO-Beispiel | setunionnd([1,3,2,4],[3,7]) | [1,2,3,4,7] | |
| setcut | Bildet die Schnittmenge aus mehreren Mengen DEMO-Beispiel | setcut([1,3,2,4],[3,7]) | [3] | |
| setcompare | vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist DEMO-Beispiel | setcompare([1,3,2,4],[3,7]) setcompare([1,3,2],[1,2,3]) setcompare([1,3,2],[1,3,2,3]) setcompare([1,2,3],[1,2,3]) |
false true false true |
|
| setcomparend | vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. DEMO-Beispiel | setcomparend([1,3,2,4],[3,7]) setcomparend([1,3,2],[1,2,3]) setcomparend([1,3,2],[1,3,2,3]) setcomparend([1,2,3],[1,2,3]) |
false true true true |
|
| setpartof | prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden DEMO-Beispiel | setpartof([1,4],[1,3,7]) setpartof([1,3],[1,2,3]) setpartof([1,3,3],[1,3,5,7]) setpartof([1,4,4],[1,2,3,4]) |
false true false false |
|
| setpartofnd | prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind DEMO-Beispiel | setpartofnd([1,4],[1,3,7]) setpartofnd([1,3],[1,2,3]) setpartofnd([1,3,3],[1,3,5,7]) setpartofnd([1,4,4],[1,2,3,4]) |
false true true true |
|
| setgetmin | Liefert den kleinsten Wert einer Menge DEMO-Beispiel | setgetmin([1,3,-2,4]) | -2 | |
| setgetmax | Liefert den größten Wert einer Menge DEMO-Beispiel | setgetmax([1,3,-2,4]) | 4 | |
| setremovefirst | Entfernt den ersten Wert einer Menge DEMO-Beispiel | setremovefirst([1,3,-2,4]) | [3,-2,4] | |
| setremovelast | Entfernt den letzten Wert einer Menge DEMO-Beispiel | setremovelast([1,3,-2,4]) | [1,3,-2] | |
| setgetfirst | Liefert den ersten Wert einer Menge DEMO-Beispiel | setgetfirst([1,3,-2,4]) | 1 | |
| setgetlast | Liefert den letzten Wert einer Menge DEMO-Beispiel | setgetlast([1,3,-2,4]) | 4 | |
| setsub | setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y DEMO-Beispiel | setsub([1,3,-2,4],1,2) | [3,-2] | |
| setmakelist | setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. DEMO-Beispiel | setmakelist(x^2,x,1,4) | [ 1,4,9,16 ] | |
| setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. | setmakelist(x^2,x,1,2,0.5) | [ 1,2.25,4 ] | ||
| setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. | setmakelist(x^2,x,[3,1,2]) | [ 9,1,4 ] | ||
| foreach | Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion DEMO-Beispiel | foreach([2,-3,5,-6],p,cabs(p),”+”) | 16 | 6075 |
Für die Korrektur können Mengen über die Zieleinheit auch ohne Reihenfolge vergliechen werden - siehe Zieleinheit
Funktionen für importierte Tabellen
Werden Tabellen aus csv-Dateien importiert dann kann auf sie als Matrix zugegriffen werden.
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| curvepv(tabelle,spalteX,spalteY) | Liest aus einer gespeicherten Tabelle die Spalte “spalteX” für die x-Werte und die Spalte “spalteY” für die Y-Werte eines pv-Vektors DEMO-Beispiel | curvepv([[0,0,2],[1,2,3],[2,2.2,1.5],[3,1.4,1.8]],0,1) | [[0,0],[1,2],[2,2.2],[3,1.4]] |
| curveinterpol(tabelle,spalteX,spalteY,wert) | Interpoliert in einer gespeicherten Tabelle zwischen den Stützpunkten. Als Ergebnis wird ein Vektor aller gefundenen Punkte auf der Kennlinie geliefert DEMO-Beispiel | curveinterpol(KL,0,1,3.5) | [2.1] |
| curveinterpolfirst(tabelle,spalteX,spalteY,wert) | Interpoliert in einer gespeicherten Tabelle und liefert den ersten interpolierten Punkt auf der Kennlinie. | curveinterpolfirst(KL,0,1,1.5) | 2.1 |
| interpol(pv,wert) | Interpoliert Zwischenwerte durch lineare Interpolation in einer als PV-Vektor gegebenen Tabelle DEMO-Beispiel | interpol([[0,0],[1,2],[2,2.2],[3,1.4]],1.5) | 2.1 |
| curveHTML(tabelle,spaltennamen,einheiten) | Liefert eine HTML-Ansicht einer Tabelle. | curvHTML(KL,KL_names,curveunits(KL)) | HTML-Code der Tabelle |
| curveunits(tabelle) | Liefert einen Vektor aller Einheiten der Spalten einer Matrix | curveunits(curvepv([[3A,7V,2],[2A,2V,3],[2A,2.2V],[3A,1.4V]]) | [1A,1V] |
Punkte-Mengen-Funktionen
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.
| Funktion | Beschreibung | Beispiel | Ergebnis | ab Rev |
|---|---|---|---|---|
| pvabs | Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. DEMO-Beispiel | pvabs([[2,3],[4,5],[6,3],[-2,4]]) pvabs([[2,3],[4,5],[6,3],[-2,4]],1) |
[3.6056,6.4031,6.7082,4.4721] 6.4031 |
6077 |
| pvarg | Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. DEMO-Beispiel | pvarg([[2,3],[4,5],[6,3],[-2,4]]) pvarg([[2,3],[4,5],[6,3],[-2,4]],1) |
[0.98279,0.89606,0.46365,2.0344] 0.89606 |
6077 |
| pvget | Liefert einen Punkt der Punkteliste. DEMO-Beispiel | pvget([[2,3],[4,5],[6,3],[-2,4]],1) | [4,5] | 6077 |
| pvgetx | Bestimmt die x-Koordinate eines Punktes oder aller Punkte. DEMO-Beispiel | pvgetx([[2,3],[4,5],[6,3],[-2,4]]) pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) |
[2,4,6,-2] 4 |
6077 |
| pvgety | Bestimmt die y-Koordinate eines Punktes oder aller Punkte. DEMO-Beispiel | pvgety([[2,3],[4,5],[6,3],[-2,4]]) pvgety([[2,3],[4,5],[6,3],[-2,4]],1) |
[3,5,3,4] 3 |
6077 |
| pvinsert | Fügt einen Punkt in die Punktemenge ein DEMO-Beispiel | pvinsert([[2,3],[4,5],[6,3],[-2,4]],[7,8],2) | [[2,3],[4,5],[7,8],[6,3],[-2,4]] | 6678 |
| pvinsertlast | Fügt am Ende der Punktemenge einen Punkt ein DEMO-Beispiel | pvinsertlast([[2,3],[4,5],[6,3],[-2,4]],[7,8]) | [[2,3],[4,5],[6,3],[-2,4],[7,8]] | 6678 |
| pvremove | Löscht einen Punkt aus der Punktemenge DEMO-Beispiel | pvremove([[2,3],[4,5],[6,3],[-2,4]],2) | [[2,3],[4,5],[-2,4]] | 6678 |
| pvdistance | Bestimmt die Abstände als Vektoren zwischen den Punkten. pvdistance([A,B,C]) liefert [AB,BC,CA] DEMO-Beispiel | pvdistance([[1,2],[3,4],[10,10]]) | [[2,2],[7,6],[-9,-8]] | 6569 |
| pvlineabs | Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. DEMO-Beispiel | pvlineabs([[2,3],[4,5],[6,3],[-2,4]]) pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) |
[2.8284,8.0623] 2.82842712475 |
6075 |
| pvlinearg | Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse DEMO-Beispiel | pvlinearg([[2,3],[4,5],[6,3],[-2,4]]) pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) |
[45°,172.87°] 45° |
6075 |
| pvlinek | Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar DEMO-Beispiel | pvlinek([[2,3],[4,5],[6,3],[-2,4]]) pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) |
[1,−0.125] 1 |
6075 |
| pvlined | Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse DEMO-Beispiel | pvlined([[2,3],[4,5],[6,3],[-2,4]]) pvlined([[2,3],[4,5],[6,3],[-2,4]],0) |
[1,3.75] 1 |
6075 |
| pvline | Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar DEMO-Beispiel | pvline([[2,3],[4,5],[6,3],[-2,4]]) pvline([[2,3],[4,5],[6,3],[-2,4]],0) |
[y=1+x,y=3.75−0.125⋅x] y=x+1 |
6075 |
| pvpoints | Bestimmt die Anzahl der Punkte DEMO-Beispiel | pvpoints([[2,3],[4,5],[6,3],[-2,4]]) | 4 | 6075 |
| pvlines | Bestimmt die Anzahl der Linien bzw. Punktepaare eines Punktevektors. | pvlines([[1,2],[3,4],[5,6],[7,8]]) | 2 | |
| pvvect | Bestimmt einen Vector aus dem n-te Punktepaar DEMO-Beispiel | pvvect([[2,3],[4,5],[6,3],[-2,4]],0) | [2,2] | 6075 |
| pvrect | Liefert aus einer Punktewolke ein Rechteck als zwei Eckpunkte links-unten und rechts-oben. | pvrect([[1,2],[4,5],[2,3]]) | [[1,2],[4,5]] | |
| pvsort | Sortiert die Punkte zuerst nach steigender x-Koordinate und bei gleicher x-Koordinate nach steigender y-Koordinate. | pvsort([[2,3],[1,5],[1,2]]) | [[1,2],[1,5],[2,3]] | |
| pvsortx | Sortiert die Punkte nach steigender x-Koordinate DEMO-Beispiel | pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] | 6077 |
| pvsorty | Sortiert die Punkte nach steigender y-Koordinate DEMO-Beispiel | pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] | 6077 |
| pvsortabs | Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors DEMO-Beispiel | pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] | 6077 |
| pvsortarg | Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) DEMO-Beispiel | pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] | 6077 |
| pvsortlinex | Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. DEMO-Beispiel | pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] | 6077 |
| pvsortliney | Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. DEMO-Beispiel | pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] | 6077 |
| pvsortlineabs | Sortiert Punktepaare nach steigendem Betrag der Linienlänge. DEMO-Beispiel | pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] | 6077 |
| pvsortlinearg | Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. DEMO-Beispiel | pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) | [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] | 6077 |
| pvequals | Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. DEMO-Beispiel | pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) | true | 6077 |
| pvhaspoint | Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. DEMO-Beispiel | pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) | true | 6077 |
| pvhasline | Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. DEMO-Beispiel | pvhasline([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) | true | 6078 |
| pvforeachline | Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion DEMO-Beispiel | pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),”+”) | 10.890684873 | 6075 |
| pvfunc | Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) DEMO-Beispiel | pvfunc(x^2,x,-2,2,0.5) | [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] | 6080 |
| pvcompare | Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz. Die Toleranz stellt eine relative Tolerenz bezogen auf den Bereich zwischen MinXY und MaxXY da, wobei eine Toleranz von 0.1 gleichbedeutend 10 Prozent bezogen auf Max-Min ist (Mit dem String “a0.1” könnte man auch ein absolute Toleranz von 0.1 für x und y realisieren) pvcompare(Referenz,Eingabe) pvcompare(Referenz,Eingabe,Toleranz) pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) DEMO-Beispiel |
pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) | true | 6080 |
| pvunion | hängt mehrere Punktevektoren zu einem größereren Punktevektor zusammen DEMO-Beispiel | pvunion([[1,2],[3,4]],[[5,6],[7,8]],[9,10]) | [[1,2],[3,4],[5,6],[7,8],[9,10]] | 6569 |
Typ-Funktionen
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| isset | Prüft ob es sich um eine Menge handelt. DEMO-Beispiel | isset([12,13,14]) | true |
| issetnumeric | Prüft ob es sich um eine Menge aus reellen Zahlen handelt. DEMO-Beispiel | issetnumeric([12,13.4,14]) | true |
| issetlong | Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. DEMO-Beispiel | issetlong([12,13,14]) | true |
| islong | Prüft ob es sich um eine ganze Zahl handelt. DEMO-Beispiel | islong(12) | true |
Algebra
Index von Matrizen
- Als Parameter von Matrix-, PV- und Vektor-Funktion beginnt der Index immer bei 0 zu zählen.
- Greift man über den Namen und eckige Klammer auf den Index zu wird der Maxima-kompatible Index verwendet welcher bei 1 zu zählen beginnt. Beispiel:
M:[[1,2,3],[4,5,6],[7,8,9]] a:vget(M,1,2) b:M[2,3] c:M[2][3]
a,b,c liefert immer das gleiche Element der Matrix!
Funktionen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| matrix | erzeugt aus mehreren gleich langen Vektoren eine Matrix DEMO-Beispiel | matrix([1,2],[3,4]) | [[1,2],[3,4]] |
| vmatrix | Erzeugt aus genau einem Vektor eine Matrix. Enthaltene Vektoren werden zu Matrixzeilen, einzelne Werte zu ein-elementigen Zeilen; eine Matrix wird unverändert zurückgegeben. | vmatrix([[1,2],[3,4]]) | [[1,2],[3,4]] |
| inv | invertiert eine quadratische Matrix oder bildet 1/x DEMO-Beispiel | inv(matrix([1,2],[3,4])) | [[-2,1],[3/2,-1/2]] |
| vget | liefert ein Element eines Vektors oder einer Matrix Video DEMO-Beispiel | vget([12,13,14],1) vget(matrix([9,2],[3,4]),0,1) |
13 2 |
| first | liefert das erste Element mit dem Index 0 eines Vektors DEMO-Beispiel | first([12,13,14]) | 12 |
| second | liefert das zweite Element mit dem Index 1 eines Vektors DEMO-Beispiel | second([12,13,14]) | 13 |
| third | liefert das dritte Element mit dem Index 2 eines Vektors DEMO-Beispiel | third([12,13,14]) | 14 |
| fourth | liefert das vierte Element mit dem Index 3 eines Vektors DEMO-Beispiel | fourth ([12,13,14,15,16,17,18]) | 15 |
| fifth | liefert das fünfte Element mit dem Index 4 eines Vektors DEMO-Beispiel | fifth ([12,13,14,15,16,17,18]) | 16 |
| sixth | liefert das sechste Element mit dem Index 5 eines Vektors DEMO-Beispiel | sixth ([12,13,14,15,16,17,18]) | 17 |
| last | liefert das letzte Element eines Vektors | first([12,13,14]) | 14 |
| vgetmaxima | liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. DEMO-Beispiel | vgetmaxima([12,13,14],1) | 12 |
| vset | setzt ein Element eines Vektors oder einer Matrix DEMO-Beispiel | vset([12,13,14],1,35) vset(matrix([9,2],[3,4]),0,0,-9) |
[12,35,14] [[-9,2],[3,4]] |
| vsetmaxima | setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. DEMO-Beispiel | vsetmaxima([12,13,14],1,35) | [35,13,14] |
| vinsert | fügt ein Element in einen Vektor an eine gegebene Stelle ein DEMO-Beispiel | vinsert([12,13,14],1,25) | [12,25,13,14] |
| vremove | löscht ein Element eines Vektors Video DEMO-Beispiel | vremove([12,13,14],1) | [12,14] |
| vabs | Berechnet den Betrag eines Vektors DEMO-Beispiel | vabs([3,4]) | 5 |
| vin | Berechnet das innere Produkt von 2 Vektoren DEMO-Beispiel | vin([1,2,3],[4,5,6]) | 32 |
| vex | Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum DEMO-Beispiel | vex([1,2,3],[4,5,6]) | [-3,6,-3] |
| vadd | Addiert zwei Vektoren elementweise DEMO-Beispiel | vadd([1,2,3],[4,5,6]) | [5,7,9] |
| vsub | Subtrahiert zwei Vektoren elementweise DEMO-Beispiel | vsub([1,2,3],[4,5,6]) | [-3,-3,-3] |
| vmul | Multipliziert zwei Vektoren elementweise DEMO-Beispiel | vmul([1,2,3],[4,5,6]) | [4,10,18] |
| vdiv | Dividiert zwei Vektoren elementweise DEMO-Beispiel | vdiv([1,2,3],[4,5,6]) | [1/3,2/5,3/6] |
| vpow | Potenziert zwei Vektoren elementweise DEMO-Beispiel | vpow([1,2,3],[4,5,6]) | [1,32,729] |
| mrows | liefert die Anzahl der Zeilen einer Matrix DEMO-Beispiel | mrows([[3,4,4],[3,6,54,34,3,54]]) | 2 |
| mcols | liefert die Anzahl der Spalten einer Matrix DEMO-Beispiel | mcols([[3,4,4],[3,6,54,34,3,54]]) | 6 |
| mprod | Bildet das Matrixprodukt aus zwei Matrizen DEMO-Beispiel | mprod([[1,2],[3,4]],[[5,6],[7,8]]) | [[19,22],[43,50]] |
| mtrans | Bildet die transponierte Matrix DEMO-Beispiel | mtrans([[1,2],[3,4]]) | [[1,3],[2,4]] |
| minv | Bildet die inverse Matrix DEMO-Beispiel | minv([[1,2],[3,4]]) | [[-2,1],[3/2,-1/2]] |
| mdet | Bildet die Determinante einer quadratischen Matrix DEMO-Beispiel | mdet([[1,2],[3,4]]) | -2 |
| mcunion | Fügt mehrere Matrizen oder Vektoren spaltenweise(nebeneinander) zusammen DEMO-Beispiel | mcunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]]) | [[1,2,3,10,11],[4,5,6,12,13],[7,8,9,14,15]] |
| mrunion | Fügt mehrere Matrizen oder Vektoren zeileweise(untereinander) zusammen DEMO-Beispiel | mrunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]]) | [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]] |
| msub | msub(matrix,zeile,spalte,zeilen,spalten) Liefert eine Untermatrix beginnend bei Zeile und Spalten mit der angegebenen Anzahl von Zeilen und Spalten. Die Parameter Spalte,Zeilen und Spalten sind dabei optional. DEMO-Beispiel | msub([[1,2,3],[4,5,6],[7,8,9]],0,1,2,2) | [[2,3],[5,6]] |
| mcinsert | mcinsert(matrix,matrixodervektor,position) Fügt an der Spaltenposition eine Matrix oder einen Vektor als neue Spalten ein DEMO-Beispiel | mcinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]],1) | [[1,10,11,2,3],[4,12,13,5,6],[7,14,15,8,9]] |
| mrinsert | mrinsert(matrix,matrixodervektor,position) Fügt an der Zeilenposition eine Matrix oder einen Vektor als neue Zeilen ein DEMO-Beispiel | mrinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]],1) | [[1,2,3],[10,11,12],[13,14,15],[4,5,6],[7,8,9]] |
| mcdelete | mcdelete(matrix,position) Löscht die angegebene Spalte aus einer Matrix DEMO-Beispiel | mcdelete([[1,2,3],[4,5,6],[7,8,9]],1) | [[1,3],[4,6],[7,9]] |
| mrdelete | mrdelete(matrix,position) Löscht die angegebene Zeile aus einer Matrix DEMO-Beispiel | mrdelete([[1,2,3],[4,5,6],[7,8,9]],1) | [[1,2,3],[7,8,9]] |
| vindex | vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt DEMO-Beispiel | vindex([10,30,70],40) | 1 |
| vindexup | vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist DEMO-Beispiel | vindexup([10,30,70],40) | 2 |
| vindexdown | vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist DEMO-Beispiel | vindexdown([10,30,70],60) | 1 |
| verweis | verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt DEMO-Beispiel | verweis([[10,33],[20,77],[30,99]],21) | 77 |
| verweisup | verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt DEMO-Beispiel | verweisup([[10,33],[20,77],[30,99]],21) | 99 |
| verweisdown | verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt DEMO-Beispiel | verweisdown([[10,33],[20,77],[30,99]],27,1) | 77 |
| range | range(anzahl) liefert ein Feld von ganzzahligen Werten von 0 beginnend DEMO-Beispiel | range(5) | [0,1,2,3,4] |
| linspace | linspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem Abstand DEMO-Beispiel | linspace(4,8,5) | [4,5,6,7,8] |
| logspace | logspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem logarithmischen Abstand DEMO-Beispiel | logspace(10,10000,4) | [10,100,1000,10000] |
Variable
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| kill | löscht Variable aus dem Variablenspeicher DEMO-Beispiel | kill(x,y) kill(allbut(y)) kill(all) |
löscht die Variablen x und y löscht alle Variablen mit Ausnahme von y löscht alle Variable |
| allbut | Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen DEMO-Beispiel | allbut(x,y) | [a,b,c] |
Auswertung und Programmierung
| Funktion | Beschreibung | Beispiel | Ergebnis | Revision |
|---|---|---|---|---|
| ev | Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden DEMO-Beispiel | ev(x*y,y=4) | x*4 | |
| evruntime | Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das Einsetzen erfolgt erst bei der Ergebnisberechnung! DEMO-Beispiel | evruntime(x*y,y=4) | x*4 | |
| nv | Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! DEMO-Beispiel | nv(x*y,y=4) | x*4 | |
| if | Bedingungsfunktion if(bedingung,wahrwert,falschwert) DEMO-Beispiel | if(4<6,10,12) | 10 | |
| wenn | Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. DEMO-Beispiel | wenn(4<6,10,12) | 10 | |
| plugin | Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins. DEMO-Beispiel | plugin(“plugin1”,3) | führt die Berechnung des Plugins mit dem Namen “plugin1” mit dem Parameter 3 aus. | |
| symbolic | Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet DEMO-Beispiel | symbolic(x^2+2) | x^2+2 | |
| runtime | Bei dieser Funktion wird erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze das komplette Maxima-Feld mit dem internen Parser durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! DEMO-Beispiel | runtime(U) | ||
| dataset | liefert alle Datensätze einer Datensatz-Definition in einem Vektor DEMO-Beispiel | dataset(x) | ||
| parse | Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert DEMO-Beispiel | parse(“2+3”) | 5 | |
| foreach | Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion DEMO-Beispiel | foreach([2,-3,5,-6],p,cabs(p),”+”) | 16 | 6075 |
| pvforeachline | Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion DEMO-Beispiel | pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),”+”) | 10.890684873 | 6075 |
| forloop | Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. DEMO-Beispiel |
forloop(i,1,i<7,i++,i,”+”) forloop(i,1,i<7,i:i+2,i) |
21 [1,3,5] |
6077 |
Optimierung der Ausdrücke
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| opt | Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. DEMO-Beispiel | opt(x+x) | 2*x |
| optorder | Optimiert nur die symbolische Reihenfolge des Ausdrucks. Optional steuert ein zweiter ganzzahliger Modus, ob bzw. wie lange die Funktion im Ausdruck erhalten bleibt. | optorder(y+x) | x+y |
| number | Erzwingt die numerische Auswertung aller numerisch berechenbaren Teile. Bleibt bei einem weiterhin symbolischen Ergebnis als Funktion erhalten. | number(2+3+x) | number(5+x) |
| mathe | Wertet Ganzzahlen und Konstanten numerisch nur soweit aus, wie es der symbolische Mathematikmodus zulässt; ein symbolisches Ergebnis bleibt in mathe(...) erhalten. |
mathe(2+3+x) | mathe(5+x) |
| ratsimp | Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) DEMO-Beispiel | ratsimp(x+x) | 2*x |
| noopt | Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. DEMO-Beispiel | noopt(2+3) | 2+3 |
| nopt | Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. DEMO-Beispiel | noopt(2+3) | 2+3 |
| lopt | Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. DEMO-Beispiel | lopt(x+3) | lopt(x+3) |
| qopt | Im Maximafeld wird alles innerhalb der Funktion nicht ausgewertet und die Funktion bleibt erhalten, bei der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. Anwendung findet die Funktion bei boolschen Fragen und Folgefehlerbehandlung. |
qopt(x+3) | qopt(x+3) |
| lnoopt | Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. | lnoopt(x+3+2) | lnoopt(x+5) |
| loptnumeric | Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. | loptnumeric(x+y) | loptnumeric(x+y) |
| aopt | Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. | aopt(x) | x |
Anzeige und Lösungsberechnung
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.
- 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet
- 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten
- 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| viewpow | Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar DEMO-Beispiel | viewpow(sqrt(x)) | x^(1/2) |
| viewsqrt | Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus DEMO-Beispiel | viewsqrt(x^(1/2)) | sqrt(x) |
Datums und Zeitfunktionen
| Funktion | Beschreibung | Beispiel | Ergebnis | REvision |
|---|---|---|---|---|
| dateparse | Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 DEMO-Beispiel | 6530 | ||
| date | date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.0000 00:00:00 DEMO-Beispiel | 6530 | ||
| date | date(y,m,d) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.0000 00:00:00 DEMO-Beispiel | 6530 | ||
| time | time(h,min,sec) erzeugt eine Uhrzeit als Ganzzahl in Sekunden seit Mitternacht DEMO-Beispiel | 6762 | ||
| datestring | datestring(x) datestring(x,"format") erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe | 6530 | ||
| timestring | erzeugt eine Uhrzeit als String | 6530 | ||
| datetimestring | erzeugt Datum und Uhrzeit als String | 6530 | ||
| dateyear | Erzeugt aus einem Datum als Ganzzahl das Jahr | 6530 | ||
| datemonth | Erzeugt aus einem Datum als Ganzzahl das Monat | 6530 | ||
| dateday | Erzeugt aus einem Datum als Ganzzahl den Tag | 6530 | ||
| datehour | Erzeugt aus einem Datum als Ganzzahl die Stunde | 6530 | ||
| dateminute | Erzeugt aus einem Datum als Ganzzahl die Minute | 6530 | ||
| datesecond | Erzeugt aus einem Datum als Ganzzahl die Sekunde | 6530 | ||
| datemix | Erzeugt aus einem Datumswert (Sekunden seit 1.1.00 0:00:00) einen Vektor mit Jahr,Monat,Tag,Stunde,Minute,Sekunde | 6641 | ||
| datediff | Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden | 6530 | ||
| dateweekday | Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 | 6530 | ||
| dateweek | Liefert die Kalenderwoche des Tages innerhalb des Jahres | 6530 | ||
| datedayofyear | Liefert den Tag des Jahres | 6530 | ||
| years | Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit | 6530 | ||
| months | Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit | 6530 | ||
| weeks | Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit | 6530 | ||
| days | Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit | 6530 | ||
| hours | Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit | 6530 | ||
| minutes | Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit | 6530 | ||
| seconds | Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit | 6530 |
Spezialfunktionen LeTTo
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| points | Berechnet die erreichbare Gesamtpunkteanzahl einer Frage DEMO-Beispiel | points() | 2 |
| points | Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. | points(0) | 1 |
| parser | Markierungsfunktion für Ausdrücke, die von Maxima unverändert an den internen Parser weitergereicht werden sollen. Im internen Parser selbst wird lediglich der einzelne Parameter ausgewertet. | parser(x+1) | x+1 |
| declare | Deklariert Variablentypen für die Maxima-Kompatibilität. Die Funktion ist im internen Parser derzeit noch nicht funktional umgesetzt und liefert dort false. |
declare(x,real) | false |
| selective_kill | Löscht alle Variablen aus dem Variablenspeicher außer den angegebenen Variablen bzw. Variablenvektoren und liefert die Anzahl der gelöschten Variablen. | selective_kill(x,y) | Anzahl der gelöschten Variablen |
| stackoverflow | Test-/Diagnosefunktion: erzeugt absichtlich einen StackOverflow. Nicht für reguläre Aufgaben verwenden. | stackoverflow() | Fehler |
| runtimeexception | Test-/Diagnosefunktion: erzeugt absichtlich eine RuntimeException. Ein optionaler Parameter wird als Fehlermeldung verwendet. | runtimeexception(“Test”) | Fehler |
| infiniteloop | Test-/Diagnosefunktion: erzeugt absichtlich eine Endlosschleife und dient zum Testen der Timeout-Behandlung. Nicht für reguläre Aufgaben verwenden. | infiniteloop() | Timeout |
| delay | Test-/Diagnosefunktion: verzögert die Auswertung um die angegebene Anzahl Sekunden und prüft dabei regelmäßig auf einen Timeout/Abbruch. | delay(1) | nach ca. 1 s |
Spezialfunktionen Technik
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| color | Widerstandsfarbcode berechnen. 1. Parameter muss ein Double sein 2. Parameter sind die Anzahl der Farbringe 3. Parameter ist der Darstellungsmodus (0 = Deutsch ausgeschrieben, 1 = Abkürzung Deutsch mit drei Buchstaben, 2 = Abkürzung Deutsch mit zwei Buchstaben, 3 = Englisch ausgeschrieben, 4 = Abkürzung Englisch mit drei Buchstaben, 5 = Abkürzung Englisch mit zwei Buchstaben) DEMO-Beispiel |
color(120,3,0) | braun,rot,braun |
| parsecolor | Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert DEMO-Beispiel | parsecolor(“br-rt-br”) | 120 |
| ip | Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse DEMO-Beispiel | ip(1534536453) ip(10,20,30,40) |
“91.119.43.5” 169090600 |
| parseip | Wandelt einen String mit einer IP-Adresse in einen Long-Wert DEMO-Beispiel | parseip(“91.119.43.5”) | 1534536453 |
| e12 | rundet einen Zahlenwert auf den nächstliegenden Wert der Normreihe E12. Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. DEMO-Beispiel |
e12(700Ohm) | 680Ohm |
| e12up | rundet einen Zahlenwert auf den nächstgrößerern Wert der Normreihe E12 DEMO-Beispiel | e12(670Ohm) | 680Ohm |
| e12down | rundet einen Zahlenwert auf den nächstkleineren Wert der Normreihe E12 DEMO-Beispiel | e12(700Ohm) | 680Ohm |
| ise12 | prüft ob der als Parameter übergebenen Wert ein Wert der Normreihe E12 ist. DEMO-Beispiel | ise12(680Ohm) | true |
| norm | rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder Normreihe. Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. DEMO-Beispiel |
norm(700Ohm,E12) | 680Ohm |
| normup | rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder Normreihe. DEMO-Beispiel | normup(730Ohm[1,3,5,8]) | 800Ohm |
| normdown | rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder Normreihe. DEMO-Beispiel | normdown(700Ohm,E12) | 680Ohm |
| isnorm | prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder Normreihe ist. DEMO-Beispiel | isnorm(680Ohm,E12) | true |
Raumzeiger für elektrische Maschinen
| Funktion | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| svphtosv(a,b,c) | berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger DEMO-Beispiel | svphtosv(0.5,0.5,-1) | 1arg60° |
| svsvtoph(sv) svsvtoph(sv,index) |
berechnet aus einem komplexen Raumzeiger die Stranggrössen berechnet aus einem komplexen Raumzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert DEMO-Beispiel |
svsvtoph(1arg60°) svsvtoph(1arg60°,3) |
[0.5,0.5,-1] -1 |
Detaillierte Parameterreferenz der Funktionen
Die folgenden Angaben werden aus den registrierten Parserfunktionen und deren Implementierung abgeleitet. Bei Funktionen mit mehreren zulässigen Parameterzahlen sind alle Aufrufvarianten angegeben. Datentypen bezeichnen die vom Parser akzeptierte bzw. erwartete Art des Parameters.
abs(x)
Liefert den Absolutbetrag einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
**Beispiel:** `abs(3+4*%i)`
**Ergebnis:** 5
acos(x1)
Arcus-Cosinus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acos(1)`
**Ergebnis:** 0
acosh(x1)
Area-Cosinus-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acosh(1.5430806)`
**Ergebnis:** 1
acot(x1)
Arcus-Cotangens.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acot(1)`
**Ergebnis:** %pi/4
acoth(x1)
Area-Cotangens-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acoth(1.313035)`
**Ergebnis:** 1
acsc(x1)
Arcus-Kosekans, inverse Funktion zu `csc`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acsc(2)`
**Ergebnis:** %pi/6
acsch(x1)
Area-Kosekans-Hyperbolicus, inverse Funktion zu `csch`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `acsch(1)`
**Ergebnis:** 0.881373...
allbut(...)
Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable1` | Parameter der Funktion. | Variable | ja, beliebig oft |
**Beispiel:** `allbut(x,y)`
**Ergebnis:** [a,b,c]
aopt(x)
Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `aopt(x)`
**Ergebnis:** x
arccos(x1)
Arcus-Cosinus
Alias/Kompatibilitätsname zu `acos`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `acos(1)`
**Ergebnis:** 0
arccot(x1)
Arcus-Cotangens.
Alias/Kompatibilitätsname zu `acot`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `arccot(1)`
**Ergebnis:** %pi/4
arcsin(x1)
Arcus-Sinus
Alias/Kompatibilitätsname zu `asin`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `asin(1)`
**Ergebnis:** %pi/2
arctan(x1)
Arcus-Tangens
Alias/Kompatibilitätsname zu `atan`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `arctan(1)`
**Ergebnis:** %pi/4
arctan2(y, x)
Arcus-Tangens atan2(y,x)=arctan(y/x)
Alias/Kompatibilitätsname zu `atan2`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `y` | Y-Wert bzw. Ausdruck. | Zahl | nein |
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
**Beispiel:** `arctan2(-2,-2)`
**Ergebnis:** -%pi*3/4
argnorm(arg)
Wandelt einen Winkel auf den Bereich von 0°-360°
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `arg` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `argnorm(-50°)`
**Ergebnis:** 310°
asec(x1)
Arcus-Secans, inverse Funktion zu `sec`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `asec(2)`
**Ergebnis:** %pi/3
asech(x1)
Area-Secans-Hyperbolicus, inverse Funktion zu `sech`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `asech(1)`
**Ergebnis:** 0
asin(x1)
Arcus-Sinus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `asin(1)`
**Ergebnis:** %pi/2
asinh(x1)
Area-Sinus-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `asinh(1.1752012)`
**Ergebnis:** 1
atan(x1)
Arcus-Tangens
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `atan(1)`
**Ergebnis:** %pi/4
atan2(y, x)
Arcus-Tangens atan2(y,x)=arctan(y/x)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `y` | Y-Wert bzw. Ausdruck. | Zahl | nein |
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
**Beispiel:** `atan2(-2,-2)`
**Ergebnis:** -%pi*3/4
atanh(x1)
Area-Tangens-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `atanh(0.7615941)`
**Ergebnis:** 1
band(wert1, ...)
bitweises UND
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `band(4,12)`
**Ergebnis:** 4
bcd(x)
Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / Zahl | nein |
**Beispiel:** `bcd(124)`
**Ergebnis:** [1,2,4]
between(minimum, wert, maximum) / between(minimum, wert, maximum, toleranz, absolut)
prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 . Parameter 4 und 5 können optinal für die Toleranz verwendet werden.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `minimum` | Untere Grenze bzw. Startwert. | Zahl / Ausdruck | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `maximum` | Obere Grenze bzw. Endwert. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `between(3,4,5)`
**Ergebnis:** true
bimp(wert1, wert2)
bitweises Parameter1 impliziert Parameter2
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `bimp(13,10)`
**Ergebnis:** 8
bin(A)
Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Binär-String mit Präfix `0b` aus.
Alias/Kompatibilitätsname zu `decbin`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | String / Ganzzahl | nein |
**Beispiel:** `bin(10)`
**Ergebnis:** "0b1010"
binomial(x, y)
Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl | nein |
| `y` | Y-Wert bzw. Ausdruck. | Ganzzahl | nein |
**Beispiel:** `binomial(5,2)`
**Ergebnis:** 10
binv(x)
bitweises NICHT mit 8 bit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `binv(0x0F)`
**Ergebnis:** 0xF0
bitstream(x, bit) / bitstream(x, bit, groupSize)
Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl,Gruppengröße)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl | nein |
| `bit` | Parameter der Funktion. | Ganzzahl | nein |
| `groupSize` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `bitstream(0x184,12,4)`
**Ergebnis:** "0001 1000 0100"
blockparity(paritaet, codewortlaenge, codewortanzahl, datenwort, ...)
Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `paritaet` | Parameter der Funktion. | Variable / String | nein |
| `codewortlaenge` | Parameter der Funktion. | Ganzzahl | nein |
| `codewortanzahl` | Parameter der Funktion. | Ganzzahl | nein |
| `datenwort` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `blockparity(even,7,3,"abc")`
bor(wert1, ...)
bitweises ODER
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `bor(4,1)`
**Ergebnis:** 5
bxor(wert1, ...)
bitweises EXKLUSIV ODER
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `band(4,5)`
**Ergebnis:** 1
byte(x)
Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / Zahl | nein |
**Beispiel:** `byte(34.2)`
**Ergebnis:** 34
cabs(x)
Liefert den Absolutbetrag einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
**Beispiel:** `cabs(3+4*%i)`
**Ergebnis:** 5
cAbs(x)
Liefert den Absolutbetrag einer komplexen Zahl
Alias/Kompatibilitätsname zu `cabs`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
**Beispiel:** `cAbs(3+4*%i)`
**Ergebnis:** 5
carg(x)
Liefert das Argument einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
**Beispiel:** `carg(4*%e^(3*%i))`
**Ergebnis:** 3
cArg(x)
Liefert das Argument einer komplexen Zahl
Alias/Kompatibilitätsname zu `carg`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
**Beispiel:** `cArg(4*%e^(3*%i))`
**Ergebnis:** 3
cConjugate(x)
Liefert die konjugiert komplexe Zahl einer komplexen Zahl
Alias/Kompatibilitätsname zu `conjugate`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
**Beispiel:** `cConjugate(3+4*%i)`
**Ergebnis:** 3-4*%i
ccround(wert) / ccround(wert, kommastellen)
Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `kommastellen` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `ccround(2.4534+5.645*%i,2)`
**Ergebnis:** 2.45+5.65i
ceiling(x)
ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `ceiling(13.2)`
**Ergebnis:** 14
chr(...)
Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `code1` | Parameter der Funktion. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `chr(0x65,105)`
**Ergebnis:** "ei"
cIm(re)
Liefert den Imaginärteil einer komplexen Zahl
Alias/Kompatibilitätsname zu `imagpart`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `cIm(3+4*%i)`
**Ergebnis:** 4
cnewton(funktion, startwert)
Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `startwert` | Untere Grenze bzw. Startwert. | Zahl / Ausdruck | nein |
**Beispiel:** `cnewton (x^2+4,4)`
**Ergebnis:** 2*%i
cnewtonall(funktion, maximalerBetrag)
Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `maximalerBetrag` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `cnewtonall (x^2+4,4)`
**Ergebnis:** [-2*%i,2*%i]
code(codewortlaenge, datenwort1, ...)
Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `codewortlaenge` | Parameter der Funktion. | Ganzzahl | nein |
| `datenwort1` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `code(5,4,3,5)`
**Ergebnis:** 0b1000001100101
color(wert) / color(wert, farbringe, modus)
Widerstandsfarbcode berechnen. 1. Parameter muss ein Double sein 2. Parameter sind die Anzahl der Farbringe 3. Parameter ist der Darstellungsmodus (0 = Deutsch ausgeschrieben, 1 = Abkürzung Deutsch mit drei Buchstaben, 2 = Abkürzung Deutsch mit zwei Buchstaben, 3 = Englisch ausgeschrieben, 4 = Abkürzung Englisch mit drei Buchstaben, 5 = Abkürzung Englisch mit zwei Buchstaben)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `farbringe` | Parameter der Funktion. | Ganzzahl | ja |
| `modus` | Modus, der die Art der Verarbeitung oder Darstellung festlegt. | String / Ganzzahl | ja |
**Beispiel:** `color(120,3,0)`
**Ergebnis:** braun,rot,braun
conjugate(x)
Liefert die konjugiert komplexe Zahl einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
**Beispiel:** `conjugate(3+4*%i)`
**Ergebnis:** 3-4*%i
cos(x1)
Cosinus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `cos(%pi/2)`
**Ergebnis:** 0
cosh(x1)
Cosinus-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `cosh(1)`
**Ergebnis:** 1.5430806
cot(x1)
Cotangens, `cot(x)=1/tan(x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `cot(%pi/4)`
**Ergebnis:** 1
coth(x1)
Cotangens-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `coth(1)`
**Ergebnis:** 1.313035
cRe(re)
Liefert den Realteil einer komplexen Zahl
Alias/Kompatibilitätsname zu `realpart`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `cRe(3+4*%i)`
**Ergebnis:** 3
cRectform(x)
hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti}
Alias/Kompatibilitätsname zu `rectform`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
cround(wert) / cround(wert, kommastellen)
Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `kommastellen` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `cround(23.535,2) cround(2.435arg34.5364°,1)`
**Ergebnis:** 23.54 2.4arg34.5°
csc(x1)
Kosecans, `csc(x)=1/sin(x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `csc(%pi/2)`
**Ergebnis:** 1
csch(x1)
Kosecans-Hyperbolicus, `csch(x)=1/sinh(x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `csch(1)`
**Ergebnis:** 0.850918...
csin(zeiger) / csin(zeiger, frequenz, zeitvariable)
Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `zeiger` | Parameter der Funktion. | Zahl/Ausdruck | nein |
| `frequenz` | Parameter der Funktion. | Zahl / Ausdruck | ja |
| `zeitvariable` | Parameter der Funktion. | Variable | ja |
**Beispiel:** `csin(U)`
**Ergebnis:** sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))
cssin(zeiger) / cssin(zeiger, frequenz, zeitvariable)
Erzeugt aus einer komplexen Zahl, die als Spitzenwert interpretiert wird, eine Sinusfunktion. `cssin(U)`, `cssin(U,f)` oder `cssin(U,f,x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `zeiger` | Parameter der Funktion. | Zahl/Ausdruck | nein |
| `frequenz` | Parameter der Funktion. | Zahl / Ausdruck | ja |
| `zeitvariable` | Parameter der Funktion. | Variable | ja |
**Beispiel:** `cssin(U)`
**Ergebnis:** cabs(U)*sin(2*pi*f*t+carg(U))
curveHTML(mat, variable, variable)
Liefert eine HTML-Ansicht einer Tabelle.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `mat` | Parameter der Funktion. | Matrix / Vektor | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `curvHTML(KL,KL_names,curveunits(KL))`
**Ergebnis:** HTML-Code der Tabelle
curveinterpol(tabelle, xSpalte, ySpalte, wert)
Interpoliert in einer gespeicherten Tabelle zwischen den Stützpunkten. Als Ergebnis wird ein Vektor aller gefundenen Punkte auf der Kennlinie geliefert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `tabelle` | Parameter der Funktion. | Matrix | nein |
| `xSpalte` | Parameter der Funktion. | Vektor / Zahl | nein |
| `ySpalte` | Parameter der Funktion. | Vektor / Zahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `curveinterpol(KL,0,1,3.5)`
**Ergebnis:** [2.1]
curveinterpolfirst(tabelle, xSpalte, ySpalte, wert)
Interpoliert in einer gespeicherten Tabelle und liefert den ersten interpolierten Punkt auf der Kennlinie.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `tabelle` | Parameter der Funktion. | Matrix | nein |
| `xSpalte` | Parameter der Funktion. | Vektor / Zahl | nein |
| `ySpalte` | Parameter der Funktion. | Vektor / Zahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `curveinterpolfirst(KL,0,1,1.5)`
**Ergebnis:** 2.1
curvepv(tabelle, xSpalte, ySpalte)
Liest aus einer gespeicherten Tabelle die Spalte "spalteX" für die x-Werte und die Spalte "spalteY" für die Y-Werte eines pv-Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `tabelle` | Parameter der Funktion. | Matrix | nein |
| `xSpalte` | Parameter der Funktion. | Matrix / Zahl | nein |
| `ySpalte` | Parameter der Funktion. | Matrix / Zahl | nein |
**Beispiel:** `curvepv([[0,0,2],[1,2,3],[2,2.2,1.5],[3,1.4,1.8]],0,1)`
**Ergebnis:** [[0,0],[1,2],[2,2.2],[3,1.4]]
curveunits(mat)
Liefert einen Vektor aller Einheiten der Spalten einer Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `mat` | Parameter der Funktion. | Matrix / Vektor | nein |
**Beispiel:** `curveunits(curvepv([[3A,7V,2],[2A,2V,3],[2A,2.2V],[3A,1.4V]])`
**Ergebnis:** [1A,1V]
dataset(name)
liefert alle Datensätze einer Datensatz-Definition in einem Vektor
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `name` | Parameter der Funktion. | Variable | nein |
**Beispiel:** `dataset(x)`
date(year, month, day, hour, minute, second, ...)
date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.0000 00:00:00
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `year` | Parameter der Funktion. | String / Vektor | nein |
| `month` | Parameter der Funktion. | Ganzzahl | nein |
| `day` | Parameter der Funktion. | Ganzzahl | nein |
| `hour` | Parameter der Funktion. | Ganzzahl | nein |
| `minute` | Parameter der Funktion. | Ganzzahl | nein |
| `second` | Parameter der Funktion. | Ganzzahl | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
dateday(date)
Erzeugt aus einem Datum als Ganzzahl den Tag
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
datedayofyear(date)
Liefert den Tag des Jahres
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
datediff(date1, date2)
Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date1` | Parameter der Funktion. | String / Ganzzahl | nein |
| `date2` | Parameter der Funktion. | String / Ganzzahl | nein |
datehour(date)
Erzeugt aus einem Datum als Ganzzahl die Stunde
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
dateminute(date)
Erzeugt aus einem Datum als Ganzzahl die Minute
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
datemix(di)
Erzeugt aus einem Datumswert (Sekunden seit 1.1.00 0:00:00) einen Vektor mit Jahr,Monat,Tag,Stunde,Minute,Sekunde
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `di` | Parameter der Funktion. | String / Ganzzahl | nein |
datemonth(date)
Erzeugt aus einem Datum als Ganzzahl das Monat
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
dateparse(string)
Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
datesecond(date)
Erzeugt aus einem Datum als Ganzzahl die Sekunde
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
datestring(datum, format)
datestring(x) datestring(x,"format") erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `datum` | Parameter der Funktion. | String / Ganzzahl | nein |
| `format` | Formatangabe für die Ausgabe. | String | nein |
datetimestring(datum, format)
erzeugt Datum und Uhrzeit als String
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `datum` | Parameter der Funktion. | String / Ganzzahl | nein |
| `format` | Formatangabe für die Ausgabe. | String | nein |
dateweek(date)
Liefert die Kalenderwoche des Tages innerhalb des Jahres
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
dateweekday(date)
Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
dateyear(date)
Erzeugt aus einem Datum als Ganzzahl das Jahr
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `date` | Parameter der Funktion. | String / Ganzzahl | nein |
days(sec)
Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
dB(oe)
Wandelt einen Zahlenwert in eine nicht skalierende Dezibel-Einheit um. Einheitenlos wird in dB20 gewandelt, mit den Einheiten V,mV,uV,W,mW,uW wird in die zugehörige dB-Einheit gewandelt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dB(100) dB(100)+1`
**Ergebnis:** 40 dB20 41
dB10(oe)
wandelt eine Zahl in einen Dezibel Wert dB10 mit 10dB pro Dekade
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dB10(100)`
**Ergebnis:** 20dB10
dBm(oe)
Wandelt eine Leistung in dBm um. Bezugsleistung ist 1 mW: `10*log10(P/1mW)`. Bei komplexen Leistungen wird der Betrag verwendet; vorhandene dBW/dBm/dBu-Werte werden entsprechend umgerechnet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBm(1mW)`
**Ergebnis:** 0dBm
dBmV(oe)
Wandelt eine Spannung in dBmV um. Bezugsspannung ist 1 mV: `20*log10(U/1mV)`. Bei komplexen Spannungen wird der Betrag verwendet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBmV(1mV)`
**Ergebnis:** 0dBmV
dBu(oe)
Wandelt eine Leistung in den in LeTTo verwendeten dBu-Pegel mit Bezugsleistung 1 µW um: `10*log10(P/1uW)`. Hinweis: Dies ist die LeTTo-Definition von dBu und nicht die übliche Spannungsdefinition bezogen auf 0,775 V.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBu(1uW)`
**Ergebnis:** 0dBu
dBuV(oe)
Wandelt eine Spannung in dBuV um. Bezugsspannung ist 1 µV: `20*log10(U/1uV)`. Bei komplexen Spannungen wird der Betrag verwendet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBuV(1uV)`
**Ergebnis:** 0dBuV
dBV(oe)
Wandelt eine Spannung in dBV um. Bezugsspannung ist 1 V: `20*log10(U/1V)`. Bei komplexen Spannungen wird der Betrag verwendet; vorhandene dBV/dBmV/dBuV-Werte werden entsprechend umgerechnet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBV(1V)`
**Ergebnis:** 0dBV
dBW(oe)
wandelt eine Leistung in einen Dezibel Wert dBW mit 10dB pro Dekade
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `dBW(100)`
**Ergebnis:** 20dBW
decbin(A)
Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Binär-String mit Präfix `0b` aus.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | String / Ganzzahl | nein |
**Beispiel:** `decbin(10)`
**Ergebnis:** "0b1010"
dechex(A)
Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Hexadezimal-String mit Präfix `0x` aus.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | String / Ganzzahl | nein |
**Beispiel:** `dechex(12)`
**Ergebnis:** "0xC"
declare(variable)
Deklariert Variablentypen für die Maxima-Kompatibilität. Die Funktion ist im internen Parser derzeit noch nicht funktional umgesetzt und liefert dort `false`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `declare(x,real)`
**Ergebnis:** false
defrac(wertOderZaehler) / defrac(wertOderZaehler, nenner)
zerlegt eine rationale Zahl in Zähler und Nenner als Menge Die erhaltene Menge kann mit dem Format-Modfier frac als gemischter Bruch dargestellt werden
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wertOderZaehler` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `nenner` | Parameter der Funktion. | Vektor / Ganzzahl | ja (bei 2 Parametern) |
**Beispiel:** `defrac(14/12)`
**Ergebnis:** [13,12]
defracmix(wertOderGanzzahl) / defracmix(wertOderGanzzahl, nennerOderZaehler) / defracmix(wertOderGanzzahl, nennerOderZaehler, nenner)
zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge Die erhaltene Menge kann mit dem Format-Modfier frac als gemischter Bruch dargestellt werden (siehe Zahlendarstellung)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wertOderGanzzahl` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `nennerOderZaehler` | Parameter der Funktion. | Vektor / Ganzzahl | ja (bei 2/3 Parametern) |
| `nenner` | Parameter der Funktion. | Ganzzahl | ja (bei 3 Parametern) |
**Beispiel:** `defracmix(14/12) defracmix(-15/12) defracmix(3/12)`
**Ergebnis:** [1,2/12] [-1,3,12] [0,3,12]
deg(string)
erzeugt aus einem Vektor mit Grad, Minuten und Sekunden als Zahlenwerte oder einen WinkelString einen Winkel im Bogenmaß
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
**Beispiel:** `deg([2,15,22]) deg("2°15'22''")`
**Ergebnis:** 2.25611111111°
degmix(string)
zerlegt einen Winkel im Bogenmaß in einen Winkel in Grad, Minuten und Sekunden in einem Vektor
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
**Beispiel:** `degmix(0.5)`
**Ergebnis:** [28,38,52.4031239082]
degstring(winkel)
erzeugt aus einem Vektor mit Grad, Minuten und Sekunden als Zahlenwerte oder einen Winkel im Bogenmaß einen String der Winkeldarstellung
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `winkel` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `degstring(0.5)`
**Ergebnis:** "2°15'22''"
delay(t)
Test-/Diagnosefunktion: verzögert die Auswertung um die angegebene Anzahl Sekunden und prüft dabei regelmäßig auf einen Timeout/Abbruch.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `t` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `delay(1)`
**Ergebnis:** nach ca. 1 s
diff(funktion, variable) / diff(funktion, variable, anzahl)
Berechnet die Ableitung einer Funktion.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck, der abgeleitet wird. | Ausdruck | nein |
| `variable` | Variable, nach der abgeleitet wird. | Variable | nein |
| `anzahl` | Ordnung der Ableitung. | Ganzzahl | ja (bei 3 Parametern) |
**Beispiel:** `diff(x^2,x) diff(3*x^2,x,2)`
**Ergebnis:** x 6
div(dividend, divisor)
Ganzzahldivision, Ergebnis wird abgeschnitten
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `dividend` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
| `divisor` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `div(5,2)`
**Ergebnis:** 2
double(A)
Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `double(3.4V)`
**Ergebnis:** 3.4
e12(A)
rundet einen Zahlenwert auf den nächstliegenden Wert der Normreihe E12. Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `e12(700Ohm)`
**Ergebnis:** 680Ohm
e12down(A)
rundet einen Zahlenwert auf den nächstkleineren Wert der Normreihe E12
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `e12(700Ohm)`
**Ergebnis:** 680Ohm
e12up(A)
rundet einen Zahlenwert auf den nächstgrößerern Wert der Normreihe E12
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `e12(670Ohm)`
**Ergebnis:** 680Ohm
eh(wert)
Liefert zu einem numerischen Wert die zugehörige Einheit als Wert 1 zurück; bei einem einheitenlosen Wert wird `1` geliefert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `eh(2.3mA)`
**Ergebnis:** 1mA
eq(wert1, wert2) / eq(wert1, wert2, toleranz, absolut)
gleich eq(wert1,wert2),eq(wert1,wert2,toleranz),eq(wert1,wert2,toleranz,absolut)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `eq(4,4)`
**Ergebnis:** true
eqruntime(x1, x2)
symbolischer Vergleich, welcher symbolisch erst bei der Ergebnisberechnung ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
| `x2` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
**Beispiel:** `eqruntime(x+3*y,3*y+x)`
**Ergebnis:** true
ev(ausdruck, ...)
Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `zuweisungen` | Parameter der Funktion. | Ausdruck | ja, beliebig oft |
**Beispiel:** `ev(x*y,y=4)`
**Ergebnis:** x*4
evruntime(ausdruck, ...)
Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das Einsetzen erfolgt erst bei der Ergebnisberechnung!
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `zuweisungen` | Parameter der Funktion. | Ausdruck | ja, beliebig oft |
**Beispiel:** `evruntime(x*y,y=4)`
**Ergebnis:** x*4
exp(x1)
Exponentialfunktion
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `exp(1)`
**Ergebnis:** %e
factfrompolynom(polynom)
Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `polynom` | Parameter der Funktion. | Zahl/Ausdruck | nein |
**Beispiel:** `factfrompolynom(polynom((2+x)/(1+2*x)))`
**Ergebnis:** [[1,0.5],[0.5,1],"x",""]
factorial(wert)
Liefert die Fakultät einer positiven ganzen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `factorial(5)`
**Ergebnis:** 120
fifth() / fifth(variable)
liefert das fünfte Element mit dem Index 4 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `fifth ([12,13,14,15,16,17,18])`
**Ergebnis:** 16
first() / first(variable)
liefert das erste Element mit dem Index 0 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `first([12,13,14])`
**Ergebnis:** 12
floor(x)
Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `floor(24.5)`
**Ergebnis:** 24
foreach(menge, variable, ausdruck)
Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `menge` | Menge bzw. Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `foreach([2,-3,5,-6],p,cabs(p),"+")`
**Ergebnis:** 16
forloop(variable, startwert, bedingung, inkrement, ausdruck)
Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Schleifenvariable. | Variable | nein |
| `startwert` | Startwert der Schleifenvariable. | Zahl / Ausdruck | nein |
| `bedingung` | Bedingung für die Fortsetzung der Schleife. | Ausdruck | nein |
| `inkrement` | Ausdruck, der die Schleifenvariable verändert. | Ausdruck | nein |
| `ausdruck` | Pro Schleifendurchlauf auszuwertender Ausdruck. | Ausdruck | nein |
**Beispiel:** `forloop(i,1,i<7,i++,i,"+") forloop(i,1,i<7,i:i+2,i)`
**Ergebnis:** 21 [1,3,5]
fourth() / fourth(variable)
liefert das vierte Element mit dem Index 3 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `fourth ([12,13,14,15,16,17,18])`
**Ergebnis:** 15
frac(v1) / frac(v1, anzahl) / frac(v1, anzahl, anzahl)
erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | ja (bei 2/3 Parametern) |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | ja (bei 3 Parametern) |
**Beispiel:** `frac([3,7]) frac([1,2,3])`
**Ergebnis:** 3/7 5/3
fromdB(oe)
Wandelt eine nicht skalierende Dezibel-Einheit in einen normalen Zahlenwert um
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdB(40)`
**Ergebnis:** 100
fromdB10(oe)
wandelt einen Dezibel Wert mit 10dB pro Dekade in den Ausgangswert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdB10(20)`
**Ergebnis:** 100
fromdBm(oe)
Wandelt einen dBm-Wert in eine Leistung zurück. Ein einheitenloser Zahlenwert wird als dBm interpretiert und als Leistung in mW zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBm(0)`
**Ergebnis:** 1mW
fromdBmV(oe)
Wandelt einen dBmV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBmV interpretiert und als Spannung in mV zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBmV(0)`
**Ergebnis:** 1mV
fromdBu(oe)
Wandelt einen LeTTo-dBu-Wert in eine Leistung zurück. Ein einheitenloser Zahlenwert wird als dBu interpretiert und als Leistung in µW zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBu(0)`
**Ergebnis:** 1uW
fromdBuV(oe)
Wandelt einen dBuV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBuV interpretiert und als Spannung in µV zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBuV(0)`
**Ergebnis:** 1uV
fromdBV(oe)
Wandelt einen dBV-Wert in eine Spannung zurück. Ein einheitenloser Zahlenwert wird als dBV interpretiert und als Spannung in V zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBV(0)`
**Ergebnis:** 1V
fromdBW(oe)
wandelt einen Dezibel Wert mit 10dB pro Dekade in eine Leistung
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `fromdBW(20)`
**Ergebnis:** 100W
ge(wert1, wert2) / ge(wert1, wert2, toleranz, absolut)
größer gleich ge(wert1,wert2),ge(wert1,wert2,toleranz),ge(wert1,wert2,toleranz,absolut)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `ge(6,4)`
**Ergebnis:** true
getvars(variable)
Liefert alle im Ausdruck vorkommenden Variablennamen als Vektor von Strings.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `getvars(x^2+a*y)`
**Ergebnis:** ["a","x","y"]
ggT(wert1, ...)
berechnet den größten gemeinsamen Teiler von mehreren Zahlen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `ggT(12,10)`
**Ergebnis:** 2
ground(wert, gueltigeZiffern)
Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `gueltigeZiffern` | Parameter der Funktion. | Ganzzahl | nein |
**Beispiel:** `ground(2453.43,2)`
**Ergebnis:** 2500
gt(wert1, wert2) / gt(wert1, wert2, toleranz, absolut)
größer
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `gt(6,4)`
**Ergebnis:** true
hamming(codewort1, codewort2, ...)
Bestimmt den Hamming-Abstand von mehreren Codeworten
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `codewort1` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `codewort2` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `hamming(1,2,4,8,16)`
**Ergebnis:** 2
hex(A)
Wandelt eine Zahl in eine Ganzzahl um und gibt sie als Hexadezimal-String mit Präfix `0x` aus.
Alias/Kompatibilitätsname zu `dechex`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | String / Ganzzahl | nein |
**Beispiel:** `hex(12)`
**Ergebnis:** "0xC"
hours(sec)
Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
if(e1, e2, e3)
if(bedingung,wahr,falsch)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `e1` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
| `e2` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
| `e3` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
**Beispiel:** `Wenn-Funktion`
**Ergebnis:** 10
ilt(funktion, variable, zielvariable)
Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck in der Laplace-Domäne. | Ausdruck | nein |
| `variable` | Variable der Laplace-Domäne. | Variable | nein |
| `zielvariable` | Zielvariable der inversen Transformation. | Variable | nein |
**Beispiel:** `ilt(1/(1+s),s,t)`
**Ergebnis:** e^(-t)
imagpart(re)
Liefert den Imaginärteil einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `imagpart(3+4*%i)`
**Ergebnis:** 4
infiniteloop()
Test-/Diagnosefunktion: erzeugt absichtlich eine Endlosschleife und dient zum Testen der Timeout-Behandlung. Nicht für reguläre Aufgaben verwenden.
**Beispiel:** `infiniteloop()`
**Ergebnis:** Timeout
int(x)
Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / Zahl | nein |
**Beispiel:** `int(34.2)`
**Ergebnis:** 34
integrate(funktion, variable) / integrate(funktion, variable, untergrenze, obergrenze)
Berechnet das unbestimmte oder bestimmte Integral einer Funktion.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Zu integrierender Ausdruck. | Ausdruck | nein |
| `variable` | Integrationsvariable. | Variable | nein |
| `untergrenze` | Untere Integrationsgrenze. | Zahl / Ausdruck | ja (bei 4 Parametern) |
| `obergrenze` | Obere Integrationsgrenze. | Zahl / Ausdruck | ja (bei 4 Parametern) |
**Beispiel:** `integrate(x^2,x) integrate(x^2,x,0,2)`
**Ergebnis:** x^3/3 8/3
interpol(pv, py) / interpol(pv, py, x)
Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. interpol(WerteX,WerteY,x)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `pv` | Parameter der Funktion. | Matrix / Vektor | nein |
| `py` | Parameter der Funktion. | Matrix / Vektor | nein |
| `x` | X-Wert bzw. Ausdruck. | Vektor / Zahl | ja (bei 3 Parametern) |
**Beispiel:** `interpol([0,1,2],[0,3,3],1.5)`
**Ergebnis:** 3
inv(wertOderMatrix)
invertiert eine quadratische Matrix oder bildet 1/x
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wertOderMatrix` | Wert bzw. Ausdruck für die Berechnung. | Matrix | nein |
**Beispiel:** `inv(matrix([1,2],[3,4]))`
**Ergebnis:** [[-2,1],[3/2,-1/2]]
inv16(x)
bitweise Invertieren und die letzten 16 Bit bestimmen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `inv16(0xF0)`
**Ergebnis:** 0xFF0F
inv32(x)
bitweise Invertieren und die letzten 32 Bit bestimmen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `inv32(0xF0)`
**Ergebnis:** 0bFFFFFF0F
inv64(x)
bitweise Invertieren und die letzten 64 Bit bestimmen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `inv64(0xF0)`
**Ergebnis:** 0bFFFFFFFFFFFFFF0F
inv8(x)
bitweises NICHT mit 8 bit
Alias/Kompatibilitätsname zu `binv`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl/Ausdruck | nein |
**Beispiel:** `inv8(0b1001)`
**Ergebnis:** 0b11110110
ip(e1) / ip(e1, e2, e3, e4)
Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `e1` | Parameter der Funktion. | String / Ganzzahl | nein |
| `e2` | Parameter der Funktion. | Ganzzahl / Zahl | ja (bei 4 Parametern) |
| `e3` | Parameter der Funktion. | Ganzzahl / Zahl | ja (bei 4 Parametern) |
| `e4` | Parameter der Funktion. | Ganzzahl / Zahl | ja (bei 4 Parametern) |
**Beispiel:** `ip(1534536453) ip(10,20,30,40)`
**Ergebnis:** "91.119.43.5" 169090600
ise12(wert)
prüft ob der als Parameter übergebenen Wert ein Wert der Normreihe E12 ist.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `ise12(680Ohm)`
**Ergebnis:** true
islong(wert)
Prüft ob es sich um eine ganze Zahl handelt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `islong(12)`
**Ergebnis:** true
isNearInteger(wert) / isNearInteger(wert, toleranz)
prüft ob eine Zahl nahe genug an einer Ganzzahl liegt, um als Ganzzahl interpretiert zu werden. Es wird die Toleranz der Frage verwendet
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `isNearInteger(3.00000000001) isNearInteger(3.1)`
**Ergebnis:** true false
isnorm(wert, normreihe)
prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder Normreihe ist.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `normreihe` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
**Beispiel:** `isnorm(680Ohm,E12)`
**Ergebnis:** true
ispolynom(ausdruck) / ispolynom(ausdruck, variable, numerisch)
Prüft, ob der Ausdruck ein Polynom ist. Die Funktion wird ausgewertet, sobald der Parameter als Polynom erkannt bzw. nicht als Polynom erkannt werden kann.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
| `numerisch` | Parameter der Funktion. | Ausdruck / passender Datentyp | ja |
**Beispiel:** `ispolynom(polynom(x^2+1))`
**Ergebnis:** true
isprim(x1)
prüft ob die angegebene Zahl eine Primzahl ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / Boolean/Ausdruck | nein |
**Beispiel:** `isprim(13)`
**Ergebnis:** true
isset(wert)
Prüft ob es sich um eine Menge handelt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `isset([12,13,14])`
**Ergebnis:** true
issetlong(wert)
Prüft ob es sich um eine Menge aus ganzen Zahlen handelt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `issetlong([12,13,14])`
**Ergebnis:** true
issetnumeric(wert)
Prüft ob es sich um eine Menge aus reellen Zahlen handelt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `issetnumeric([12,13.4,14])`
**Ergebnis:** true
kgV(wert1, ...)
berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `kgV(3,10)`
**Ergebnis:** 30
kill(variable1)
löscht Variable aus dem Variablenspeicher
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable1` | Parameter der Funktion. | Variable | nein |
**Beispiel:** `kill(x,y) kill(allbut(y)) kill(all)`
**Ergebnis:** löscht die Variablen x und y löscht alle Variablen mit Ausnahme von y löscht alle Variable
komplement(x) / komplement(x, bit)
Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl | nein |
| `bit` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `komplement(-5,8)`
**Ergebnis:** 0b11111011
land(...)
logisches UND
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `land(a<b,b<c)`
laplace(funktion, variable, zielvariable)
Bestimmt die Laplace-Transformierte einer Funktion.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Zu transformierender Ausdruck. | Ausdruck | nein |
| `variable` | Ursprüngliche Variable, meist Zeitvariable. | Variable | nein |
| `zielvariable` | Variable der Laplace-Domäne. | Variable | nein |
**Beispiel:** `laplace(sin(t),t,s)`
**Ergebnis:** 1/(1+s^2)
last() / last(variable)
liefert das letzte Element eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `first([12,13,14])`
**Ergebnis:** 14
le(wert1, wert2) / le(wert1, wert2, toleranz, absolut)
kleiner gleich le(wert1,wert2),le(wert1,wert2,toleranz),le(wert1,wert2,toleranz,absolut)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `le(6,4)`
**Ergebnis:** false
lhs(ausdruck)
liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `lhs(x+y=c+2)`
**Ergebnis:** x+y
linspace(von, bis, anz)
linspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem Abstand
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `von` | Untere Grenze bzw. Startwert. | Ganzzahl / Zahl | nein |
| `bis` | Obere Grenze bzw. Endwert. | Ganzzahl / Zahl | nein |
| `anz` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `linspace(4,8,5)`
**Ergebnis:** [4,5,6,7,8]
ln(x1)
natürlicher Logarythmus
Alias/Kompatibilitätsname zu `log`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `ln(%e)`
**Ergebnis:** 1
lnoopt(ausdruck)
Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `lnoopt(x+3+2)`
**Ergebnis:** lnoopt(x+5)
lnot(bedingung)
logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen lnot )
Alias/Kompatibilitätsname zu `not`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `bedingung` | Parameter der Funktion. | Ausdruck | nein |
**Beispiel:** `lnot(a<b)`
log(x1)
natürlicher Logarythmus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `log(%e)`
**Ergebnis:** 1
log10(x1)
Logarythmus zur Basis 10
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `log10(100)`
**Ergebnis:** 2
logspace(von, bis, anz)
logspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem logarithmischen Abstand
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `von` | Untere Grenze bzw. Startwert. | Ganzzahl / Zahl | nein |
| `bis` | Obere Grenze bzw. Endwert. | Ganzzahl / Zahl | nein |
| `anz` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `logspace(10,10000,4)`
**Ergebnis:** [10,100,1000,10000]
long(A)
Zahl in eine Ganzzahl wandeln , Einheit geht verloren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `A` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `long(34.2)`
**Ergebnis:** 34
lopt(ausdruck)
Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `lopt(x+3)`
**Ergebnis:** lopt(x+3)
loptnumeric(ausdruck)
Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {= wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `loptnumeric(x+y)`
**Ergebnis:** loptnumeric(x+y)
lor(...)
logisches ODER
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `lor(a<b,b<c)`
lt(wert1, wert2) / lt(wert1, wert2, toleranz, absolut)
kleiner
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `lt(6,4)`
**Ergebnis:** false
matchstring(string, regexp)
Prüft ob eine String einem regulären Ausdruck entspricht.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `regexp` | Parameter der Funktion. | Boolean/Ausdruck | nein |
**Beispiel:** `matchstring("abcdefg","b.*e")`
**Ergebnis:** true
matrix(...)
erzeugt aus mehreren gleich langen Vektoren eine Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `zeile1` | Parameter der Funktion. | Zahl/Ausdruck | ja, beliebig oft |
**Beispiel:** `matrix([1,2],[3,4])`
**Ergebnis:** [[1,2],[3,4]]
max(werte, ...)
Maximum von mehreren Werten suchen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `werte` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `max(3,5,1)`
**Ergebnis:** 5
mcdelete(matrix, pos)
mcdelete(matrix,position) Löscht die angegebene Spalte aus einer Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `pos` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
**Beispiel:** `mcdelete([[1,2,3],[4,5,6],[7,8,9]],1)`
**Ergebnis:** [[1,3],[4,6],[7,9]]
mcinsert(matrix, matrixOderVektor, position)
mcinsert(matrix,matrixodervektor,position) Fügt an der Spaltenposition eine Matrix oder einen Vektor als neue Spalten ein
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `matrixOderVektor` | Parameter der Funktion. | Matrix | nein |
| `position` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `mcinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]],1)`
**Ergebnis:** [[1,10,11,2,3],[4,12,13,5,6],[7,14,15,8,9]]
mcols(m1)
liefert die Anzahl der Spalten einer Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `m1` | Parameter der Funktion. | Matrix / Vektor | nein |
**Beispiel:** `mcols([[3,4,4],[3,6,54,34,3,54]])`
**Ergebnis:** 6
mcunion(matrix1, wert2)
Fügt mehrere Matrizen oder Vektoren spaltenweise(nebeneinander) zusammen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix1` | Parameter der Funktion. | Matrix | nein |
| `wert2` | Wert bzw. Ausdruck des 2. Parameters. | Zahl / Ausdruck | nein |
**Beispiel:** `mcunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]])`
**Ergebnis:** [[1,2,3,10,11],[4,5,6,12,13],[7,8,9,14,15]]
mdet(matrix)
Bildet die Determinante einer quadratischen Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
**Beispiel:** `mdet([[1,2],[3,4]])`
**Ergebnis:** -2
min(werte, ...)
Minimum von mehrere Werten suchen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `werte` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `min(3,5,1)`
**Ergebnis:** 1
minutes(sec)
Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
minv(matrix)
Bildet die inverse Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
**Beispiel:** `minv([[1,2],[3,4]])`
**Ergebnis:** [[-2,1],[3/2,-1/2]]
mod(re1, re2)
Mathematische Implementierung von modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
| `re2` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `mod(5,2) mod(6.2,2.5) mod(-4,3)`
**Ergebnis:** 1 1.2 2
mod2(re1, re2)
Symmetrische Implementierung von modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments Siehe auch Divisionsrest des Parser-Operators % Berechnungen arithmetische-operatoren-
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
| `re2` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `mod2(5,2) mod2(6.2,2.5) mod2(-4,3)`
**Ergebnis:** 1 1.2 -1
months(sec)
Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
mprod(matrix1, matrix2)
Bildet das Matrixprodukt aus zwei Matrizen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix1` | Parameter der Funktion. | Matrix | nein |
| `matrix2` | Parameter der Funktion. | Matrix | nein |
**Beispiel:** `mprod([[1,2],[3,4]],[[5,6],[7,8]])`
**Ergebnis:** [[19,22],[43,50]]
mrdelete(matrix, pos)
mrdelete(matrix,position) Löscht die angegebene Zeile aus einer Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `pos` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
**Beispiel:** `mrdelete([[1,2,3],[4,5,6],[7,8,9]],1)`
**Ergebnis:** [[1,2,3],[7,8,9]]
mrinsert(matrix, matrixOderVektor, position)
mrinsert(matrix,matrixodervektor,position) Fügt an der Zeilenposition eine Matrix oder einen Vektor als neue Zeilen ein
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `matrixOderVektor` | Parameter der Funktion. | Matrix | nein |
| `position` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `mrinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]],1)`
**Ergebnis:** [[1,2,3],[10,11,12],[13,14,15],[4,5,6],[7,8,9]]
mrows(m1)
liefert die Anzahl der Zeilen einer Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `m1` | Parameter der Funktion. | Matrix / Vektor | nein |
**Beispiel:** `mrows([[3,4,4],[3,6,54,34,3,54]])`
**Ergebnis:** 2
mrunion(matrix1, wert2)
Fügt mehrere Matrizen oder Vektoren zeileweise(untereinander) zusammen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix1` | Parameter der Funktion. | Matrix | nein |
| `wert2` | Wert bzw. Ausdruck des 2. Parameters. | Zahl / Ausdruck | nein |
**Beispiel:** `mrunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]])`
**Ergebnis:** [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]]
msub(matrix, oz) / msub(matrix, oz, os, zeilen, spalten)
msub(matrix,zeile,spalte,zeilen,spalten) Liefert eine Untermatrix beginnend bei Zeile und Spalten mit der angegebenen Anzahl von Zeilen und Spalten. Die Parameter Spalte,Zeilen und Spalten sind dabei optional.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `oz` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
| `os` | Parameter der Funktion. | Matrix / Ganzzahl | ja |
| `zeilen` | Parameter der Funktion. | Vektor / Matrix | ja |
| `spalten` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `msub([[1,2,3],[4,5,6],[7,8,9]],0,1,2,2)`
**Ergebnis:** [[2,3],[5,6]]
mtrans(matrix)
Bildet die transponierte Matrix
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
**Beispiel:** `mtrans([[1,2],[3,4]])`
**Ergebnis:** [[1,3],[2,4]]
ne(wert1, wert2) / ne(wert1, wert2, toleranz, absolut)
ungleich ne(wert1,wert2),ne(wert1,wert2,toleranz),ne(wert1,wert2,toleranz,absolut)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
| `absolut` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | ja |
**Beispiel:** `ne(6,4)`
**Ergebnis:** true
newton(funktion, startwert)
Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `startwert` | Untere Grenze bzw. Startwert. | Zahl / Ausdruck | nein |
**Beispiel:** `newton(x^2-4,4)`
**Ergebnis:** 2
newtonall(funktion, maximalerBetrag)
Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `maximalerBetrag` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `newtonall (x^2-4,4)`
**Ergebnis:** [-2,2]
ni(wert) / ni(wert, toleranz)
prüft ob eine Zahl nahe genug an einer Ganzzahl liegt, um als Ganzzahl interpretiert zu werden. Es wird die Toleranz der Frage verwendet
Alias/Kompatibilitätsname zu `isNearInteger`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `ni(3.00000000001) ni(3.1)`
**Ergebnis:** true false
noopt(ausdruck)
Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `noopt(2+3)`
**Ergebnis:** 2+3
nopt(ausdruck)
Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `noopt(2+3)`
**Ergebnis:** 2+3
norm(wert, normreihe)
rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder Normreihe. Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `normreihe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `norm(700Ohm,E12)`
**Ergebnis:** 680Ohm
normdown(wert, normreihe)
rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder Normreihe.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `normreihe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `normdown(700Ohm,E12)`
**Ergebnis:** 680Ohm
normup(wert, normreihe)
rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder Normreihe.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `normreihe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `normup(730Ohm[1,3,5,8])`
**Ergebnis:** 800Ohm
not(bedingung)
logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen lnot )
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `bedingung` | Parameter der Funktion. | Ausdruck | nein |
**Beispiel:** `not(a<b)`
nullfrompolynom(polynom)
Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `polynom` | Parameter der Funktion. | Zahl/Ausdruck | nein |
**Beispiel:** `nullfrompolynom(polynom((2+x)/(1+2*x)))`
**Ergebnis:** [0.5,[-2],[-0.5],x]
number(ausdruck)
Erzwingt die numerische Auswertung aller numerisch berechenbaren Teile. Bleibt bei einem weiterhin symbolischen Ergebnis als Funktion erhalten.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `number(2+3+x)`
**Ergebnis:** number(5+x)
numdif(position, funktion, variable, schrittweite)
numerisches Differenzieren einer Funktion "funktion" nach einer Variablen "Variable" an der Stelle "position" mit einer Differenz der Variablen von "differenz" numdif(position,funktion,Variable,differenz)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `position` | Stelle, an der differenziert wird. | Zahl / Ausdruck | nein |
| `funktion` | Zu differenzierender Ausdruck. | Ausdruck | nein |
| `variable` | Variable, nach der differenziert wird. | Variable | nein |
| `schrittweite` | Differenz für die numerische Ableitung. | Zahl / Ausdruck | nein |
**Beispiel:** `numdif(0,sin(t),t,0.01)`
**Ergebnis:** 1
numeric(oE)
verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert (bezogen auf die Einheit!). Bei einer SI-Einheit wird der Zahlenwert bezogen auf die Basiseinheit geliefert, bei dimensonslosen Größen wird der Zahlenwert bezogen auf die verwendete dimensionslose Einheit gewählt. numeric(x)*unit(x) liefert wieder x
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oE` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `numeric(2.3mA) numeric(5%)`
**Ergebnis:** 0.0023 5
numint(untergrenze, obergrenze, funktion, variable, anzahl, ...)
numerische Integration numint(untereGrenze,obereGrenze,funktion,Variable) numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `untergrenze` | Untere Integrationsgrenze. | Zahl / Ausdruck | nein |
| `obergrenze` | Obere Integrationsgrenze. | Zahl / Ausdruck | nein |
| `funktion` | Zu integrierender Ausdruck. | Ausdruck | nein |
| `variable` | Integrationsvariable. | Variable | nein |
| `anzahl` | Optionale Anzahl der Integrationsschritte. | Ganzzahl | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `numint(0,2pi,sin(t),t)`
**Ergebnis:** 0
nv(ausdruck, ...)
Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt!
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `zuweisungen` | Parameter der Funktion. | Ausdruck | ja, beliebig oft |
**Beispiel:** `nv(x*y,y=4)`
**Ergebnis:** x*4
onlypos(variable)
liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) onlypos([x=-2,x=0,x=6,x=8])`
**Ergebnis:** [[x=4,y=5]] [x=7,x=8]
onlyreal(matrix)
liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
**Beispiel:** `onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) onlyreal([x=%i+1,x=1-%i,x=3,x=8])`
**Ergebnis:** [[x=3,y=4]] [x=3,x=8]
opt(ausdruck)
Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `opt(x+x)`
**Ergebnis:** 2*x
optorder(ausdruck)
Optimiert nur die symbolische Reihenfolge des Ausdrucks. Optional steuert ein zweiter ganzzahliger Modus, ob bzw. wie lange die Funktion im Ausdruck erhalten bleibt.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `optorder(y+x)`
**Ergebnis:** x+y
originnumeric(x)
liefert immer den Zahlenwert einer einheitenbehafteten Größe bezogen auf die vorhandene Einheit. Gibt es keine Originaleinheit da der Wert berechnet wurde wird der Zahlenwert bezogen auf die SI-Grundeinheit genommen. originnumeric(x)*originunit(x) liefert wieder x
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
**Beispiel:** `originnumeric(2.3mA) originnumeric(2.3mA*2Ohm) originnumeric(15°)`
**Ergebnis:** 2.3 0.0046 15
originunit(oE)
gibt die SI-Einheit eines einheitenbehafteten Wertes mit dem Zahlenwert 1 zurück. originnumeric(x)*originunit(x) liefert wieder x
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oE` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `unit(3.1kA) unit(5%)`
**Ergebnis:** 1kA 1%
par(wert1) / par(wert1, wert2)
Parallelschaltung von Widerständen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja (bei 2 Parametern) |
**Beispiel:** `par(x,y)`
**Ergebnis:** x*y/(x+y)
parity(paritaet, codewortlaenge, datenwort, ...)
Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `paritaet` | Parameter der Funktion. | Variable / String | nein |
| `codewortlaenge` | Parameter der Funktion. | Ganzzahl | nein |
| `datenwort` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `parity(even,7,"xy")`
parse(string)
Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
**Beispiel:** `parse("2+3")`
**Ergebnis:** 5
parsecolor(farbcode)
Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `farbcode` | Parameter der Funktion. | String | nein |
**Beispiel:** `parsecolor("br-rt-br")`
**Ergebnis:** 120
parseip(ipAdresse)
Wandelt einen String mit einer IP-Adresse in einen Long-Wert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ipAdresse` | Parameter der Funktion. | String | nein |
**Beispiel:** `parseip("91.119.43.5")`
**Ergebnis:** 1534536453
parser(ausdruck)
Markierungsfunktion für Ausdrücke, die von Maxima unverändert an den internen Parser weitergereicht werden sollen. Im internen Parser selbst wird lediglich der einzelne Parameter ausgewertet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `parser(x+1)`
**Ergebnis:** x+1
periodic(variable, periodeExtern, periodeIntern, funktion)
Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion periodic(Variable,Periodendauer,Funktion) periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `periodeExtern` | Parameter der Funktion. | Variable | nein |
| `periodeIntern` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `funktion` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `ch1(t):periodic(t,5ms,2'Vms-2'*t^2) ch1(t):periodic(t,5ms,1,2V*t^2)`
**Ergebnis:** !100px-ClipCapIt-190318-113524.PNG !100px-ClipCapIt-190318-113644.PNG
pi()
Funktionsschreibweise der Kreiszahl Pi. `pi()` hat keine Parameter und entspricht `%pi`.
**Beispiel:** `pi()`
**Ergebnis:** %pi
plugin(pluginname, ...)
Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `pluginname` | Parameter der Funktion. | String | nein |
| `wert2` | Wert bzw. Ausdruck des 2. Parameters. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `plugin("plugin1",3)`
**Ergebnis:** führt die Berechnung des Plugins mit dem Namen "plugin1" mit dem Parameter 3 aus.
points(teilfrage)
Berechnet die erreichbare Gesamtpunkteanzahl einer Frage
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `teilfrage` | Parameter der Funktion. | Ganzzahl | nein |
**Beispiel:** `points()`
**Ergebnis:** 2
pol(betrag, winkel)
erzeugt aus Betrag und Argument eine komplexe Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `betrag` | Parameter der Funktion. | Zahl | nein |
| `winkel` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `pol(5,0.9272952180016122)`
**Ergebnis:** 3+4*%i
polgrad(betrag, winkel)
Erzeugt aus Betrag und einem Winkel im Gradmaß eine komplexe Zahl.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `betrag` | Parameter der Funktion. | Zahl | nein |
| `winkel` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `polgrad(5,53.130102°/1°)`
**Ergebnis:** 3+4*%i
polynom() / polynom(polynom, varName, varEinheit, wert4)
Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `polynom` | Parameter der Funktion. | Zahl/Ausdruck | ja |
| `varName` | Parameter der Funktion. | Variable | ja |
| `varEinheit` | Parameter der Funktion. | String / Zahl | ja |
| `wert4` | Wert bzw. Ausdruck des 4. Parameters. | Zahl / Ausdruck | ja |
**Beispiel:** `polynom(1+x)`
**Ergebnis:** 1+x²
polynomfromfact(x) / polynomfromfact(x, varName, varName, ee)
Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Variable / String | nein |
| `varName` | Parameter der Funktion. | Variable / String | ja |
| `varName` | Parameter der Funktion. | Variable / String | ja |
| `ee` | Parameter der Funktion. | Variable / Vektor | ja |
**Beispiel:** `polynomfromfact([[1,0.5],[0.5,1],"x",""])`
**Ergebnis:** (2+x)/(1+2*x)
polynomfromnull(x, varName, varName)
Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Vektor / Zahl | nein |
| `varName` | Parameter der Funktion. | Zahl | nein |
| `varName` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `polynomfromnull([0.5,[-2],[-0.5],x])`
**Ergebnis:** (2+x)/(1+2*x)
polynomk(polynom)
Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `polynom` | Parameter der Funktion. | Zahl/Ausdruck | nein |
**Beispiel:** `polynomk(polynom((2+x)/(1+2*x)))`
**Ergebnis:** 0.5
pow(basis, exponent)
Potenzfunktion
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `basis` | Parameter der Funktion. | Zahl / Ausdruck | nein |
| `exponent` | Parameter der Funktion. | Zahl / Ausdruck | nein |
**Beispiel:** `pow(2,3)`
**Ergebnis:** 8
prims(x1)
zerlegt eine Ganzzahl in ihre Primfaktoren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / Zahl | nein |
**Beispiel:** `prims(12)`
**Ergebnis:** [2,2,3]
product(funktion, variable, untergrenze, obergrenze)
Produktbildung
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck des Faktors. | Ausdruck | nein |
| `variable` | Laufvariable des Produkts. | Variable | nein |
| `untergrenze` | Erster Wert der Laufvariable. | Zahl / Ausdruck | nein |
| `obergrenze` | Letzter Wert der Laufvariable. | Zahl / Ausdruck | nein |
**Beispiel:** `product(1/k,k,1,3)`
**Ergebnis:** 1/6
pulse(wert) / pulse(wert, wert, wert)
Rechteckfunktion: pulse(x,x0) ist gleich 1 für x0 < x < x0 + 1, sonst 0 pulse(x,x0,L) ist gleich 1 für x0 < x < x0 + L, sonst 0 !300px-Pulse.png
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja |
**Beispiel:** `pulse(x,2,4)`
**Ergebnis:** !100px-pulse_x_2_4.png
pvabs(punkte) / pvabs(punkte, index)
Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvabs([[2,3],[4,5],[6,3],[-2,4]]) pvabs([[2,3],[4,5],[6,3],[-2,4]],1)`
**Ergebnis:** [3.6056,6.4031,6.7082,4.4721] 6.4031
pvarg(punkte) / pvarg(punkte, index)
Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvarg([[2,3],[4,5],[6,3],[-2,4]]) pvarg([[2,3],[4,5],[6,3],[-2,4]],1)`
**Ergebnis:** [0.98279,0.89606,0.46365,2.0344] 0.89606
pvcompare(referenz, eingabe) / pvcompare(referenz, eingabe, toleranz) / pvcompare(referenz, eingabe, toleranz, minX, maxX, minY) / pvcompare(referenz, eingabe, toleranz, minX, maxX, minY, maxY)
Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz. Die Toleranz stellt eine relative Tolerenz bezogen auf den Bereich zwischen MinXY und MaxXY da, wobei eine Toleranz von 0.1 gleichbedeutend 10 Prozent bezogen auf Max-Min ist (Mit dem String "a0.1" könnte man auch ein absolute Toleranz von 0.1 für x und y realisieren) pvcompare(Referenz,Eingabe) pvcompare(Referenz,Eingabe,Toleranz) pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `referenz` | Referenz-Linienzug. | Vektor / Zahl | nein |
| `eingabe` | Zu vergleichender Linienzug. | Vektor / Zahl | nein |
| `toleranz` | Optionale Toleranz. | Zahl / Toleranzangabe | ja (bei 3/6/7 Parametern) |
| `minX` | Optionaler minimaler X-Wert des Bezugsbereichs. | Zahl | ja (bei 6/7 Parametern) |
| `maxX` | Optionaler maximaler X-Wert des Bezugsbereichs. | Zahl | ja (bei 6/7 Parametern) |
| `minY` | Optionaler minimaler Y-Wert des Bezugsbereichs. | Zahl | ja (bei 6/7 Parametern) |
| `maxY` | Optionaler maximaler Y-Wert des Bezugsbereichs. | Zahl/Ausdruck | ja (bei 7 Parametern) |
**Beispiel:** `pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5)`
**Ergebnis:** true
pvdistance(punkte)
Bestimmt die Abstände als Vektoren zwischen den Punkten. pvdistance([A,B,C]) liefert [AB,BC,CA]
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvdistance([[1,2],[3,4],[10,10]])`
**Ergebnis:** [[2,2],[7,6],[-9,-8]]
pvequals(referenz, eingabe) / pvequals(referenz, eingabe, toleranz)
Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `referenz` | Parameter der Funktion. | Vektor / Zahl | nein |
| `eingabe` | Parameter der Funktion. | Vektor / Zahl | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%)`
**Ergebnis:** true
pvforeachline(punkte, variable, ausdruck) / pvforeachline(punkte, variable, ausdruck, aggregation)
Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `aggregation` | Parameter der Funktion. | Ausdruck | ja |
**Beispiel:** `pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),"+")`
**Ergebnis:** 10.890684873
pvfunc(y, varlist, isnumeric, bis, schrittweite)
Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `y` | Y-Wert bzw. Ausdruck. | Vektor / Zahl | nein |
| `varlist` | Parameter der Funktion. | Variable / Zahl | nein |
| `isnumeric` | Parameter der Funktion. | Variable / Zahl | nein |
| `bis` | Obere Grenze bzw. Endwert. | Variable / Zahl | nein |
| `schrittweite` | Schrittweite bzw. Abstand zwischen zwei Berechnungsschritten. | Zahl / Ausdruck | nein |
**Beispiel:** `pvfunc(x^2,x,-2,2,0.5)`
**Ergebnis:** [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]]
pvget(punkte, index)
Liefert einen Punkt der Punkteliste.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | nein |
**Beispiel:** `pvget([[2,3],[4,5],[6,3],[-2,4]],1)`
**Ergebnis:** [4,5]
pvgetx(punkte) / pvgetx(punkte, index)
Bestimmt die x-Koordinate eines Punktes oder aller Punkte.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvgetx([[2,3],[4,5],[6,3],[-2,4]]) pvgetx([[2,3],[4,5],[6,3],[-2,4]],1)`
**Ergebnis:** [2,4,6,-2] 4
pvgety(punkte) / pvgety(punkte, index)
Bestimmt die y-Koordinate eines Punktes oder aller Punkte.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvgety([[2,3],[4,5],[6,3],[-2,4]]) pvgety([[2,3],[4,5],[6,3],[-2,4]],1)`
**Ergebnis:** [3,5,3,4] 3
pvhasline(punkte, linie) / pvhasline(punkte, linie, toleranz)
Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `linie` | Parameter der Funktion. | Vektor / Zahl | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `pvhasline([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%)`
**Ergebnis:** true
pvhaspoint(punkte, punkt) / pvhaspoint(punkte, punkt, toleranz)
Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `punkt` | Parameter der Funktion. | Vektor / Zahl | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%)`
**Ergebnis:** true
pvinsert(punkte, punkt, index)
Fügt einen Punkt in die Punktemenge ein
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `punkt` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | nein |
**Beispiel:** `pvinsert([[2,3],[4,5],[6,3],[-2,4]],[7,8],2)`
**Ergebnis:** [[2,3],[4,5],[7,8],[6,3],[-2,4]]
pvinsertlast(punkte, punkt)
Fügt am Ende der Punktemenge einen Punkt ein
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `punkt` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `pvinsertlast([[2,3],[4,5],[6,3],[-2,4]],[7,8])`
**Ergebnis:** [[2,3],[4,5],[6,3],[-2,4],[7,8]]
pvline(punkte) / pvline(punkte, index)
Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvline([[2,3],[4,5],[6,3],[-2,4]]) pvline([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [y=1+x,y=3.75−0.125⋅x] y=x+1
pvlineabs(punkte) / pvlineabs(punkte, index)
Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvlineabs([[2,3],[4,5],[6,3],[-2,4]]) pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [2.8284,8.0623] 2.82842712475
pvlinearg(punkte) / pvlinearg(punkte, index)
Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvlinearg([[2,3],[4,5],[6,3],[-2,4]]) pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [45°,172.87°] 45°
pvlined(punkte) / pvlined(punkte, index)
Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvlined([[2,3],[4,5],[6,3],[-2,4]]) pvlined([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [1,3.75] 1
pvlinek(punkte) / pvlinek(punkte, index)
Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvlinek([[2,3],[4,5],[6,3],[-2,4]]) pvlinek([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [1,−0.125] 1
pvlines(punkte) / pvlines(punkte, reserviert)
Bestimmt die Anzahl der Linien bzw. Punktepaare eines Punktevektors.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `reserviert` | Optionaler zusätzlicher Parameter; wird von der aktuellen Implementierung akzeptiert, aber nicht ausgewertet. | Ausdruck / passender Datentyp | ja |
**Beispiel:** `pvlines([[1,2],[3,4],[5,6],[7,8]])`
**Ergebnis:** 2
pvpoints(punkte) / pvpoints(punkte, reserviert)
Bestimmt die Anzahl der Punkte
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `reserviert` | Optionaler zusätzlicher Parameter; wird von der aktuellen Implementierung akzeptiert, aber nicht ausgewertet. | Ausdruck / passender Datentyp | ja |
**Beispiel:** `pvpoints([[2,3],[4,5],[6,3],[-2,4]])`
**Ergebnis:** 4
pvrect(punkte)
Liefert aus einer Punktewolke ein Rechteck als zwei Eckpunkte links-unten und rechts-oben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvrect([[1,2],[4,5],[2,3]])`
**Ergebnis:** [[1,2],[4,5]]
pvremove(punkte, index)
Löscht einen Punkt aus der Punktemenge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | nein |
**Beispiel:** `pvremove([[2,3],[4,5],[6,3],[-2,4]],2)`
**Ergebnis:** [[2,3],[4,5],[-2,4]]
pvsort(punkte)
Sortiert die Punkte zuerst nach steigender x-Koordinate und bei gleicher x-Koordinate nach steigender y-Koordinate.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsort([[2,3],[1,5],[1,2]])`
**Ergebnis:** [[1,2],[1,5],[2,3]]
pvsortabs(punkte)
Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]]
pvsortarg(punkte)
Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]]
pvsortlineabs(punkte)
Sortiert Punktepaare nach steigendem Betrag der Linienlänge.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]
pvsortlinearg(punkte)
Sortiert Punktepaare nach steigendem Winkel der Linienrichtung.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]]
pvsortlinex(punkte)
Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]]
pvsortliney(punkte)
Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]]
pvsortx(punkte)
Sortiert die Punkte nach steigender x-Koordinate
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]]
pvsorty(punkte)
Sortiert die Punkte nach steigender y-Koordinate
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
**Beispiel:** `pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]])`
**Ergebnis:** [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]]
pvunion(punktevektor1, wert2, ...)
hängt mehrere Punktevektoren zu einem größereren Punktevektor zusammen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punktevektor1` | Parameter der Funktion. | Vektor / Matrix | nein |
| `wert2` | Wert bzw. Ausdruck des 2. Parameters. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `pvunion([[1,2],[3,4]],[[5,6],[7,8]],[9,10])`
**Ergebnis:** [[1,2],[3,4],[5,6],[7,8],[9,10]]
pvvect(punkte) / pvvect(punkte, index)
Bestimmt einen Vector aus dem n-te Punktepaar
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `punkte` | Parameter der Funktion. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `pvvect([[2,3],[4,5],[6,3],[-2,4]],0)`
**Ergebnis:** [2,2]
qopt(ausdruck)
Im Maximafeld wird alles innerhalb der Funktion nicht ausgewertet und die Funktion bleibt erhalten, bei der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. Anwendung findet die Funktion bei boolschen Fragen und Folgefehlerbehandlung.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `qopt(x+3)`
**Ergebnis:** qopt(x+3)
quadrant(winkel) / quadrant(winkel, toleranz)
Liefert den Quadranten eines Winkels mit einer Toleranzangabe.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `winkel` | Parameter der Funktion. | Zahl / Ausdruck | nein |
| `toleranz` | Toleranz für Vergleich bzw. numerische Auswertung. | Zahl / Toleranzangabe | ja |
**Beispiel:** `quadrant(20°,5°)`
**Ergebnis:** 1
ramp(x) / ramp(x, wert, wert)
Rampenfunktion: ramp(x,x0) Rampe von x0 < x < x0 + 1 ramp(x,x0,L) Rampe von x0 < x < x0 + L !300px-Funktion_ramp.png
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja |
**Beispiel:** `ramp(x,2,4)`
**Ergebnis:** !100px-Ramp_Plot.png
random(minimum) / random(minimum, maximum)
Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal) VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen Datensatz statt einer Zufallszahl verwenden! Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden!
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `minimum` | Kleinster möglicher Wert. | Zahl / Ausdruck | nein |
| `maximum` | Größter möglicher Wert. | Zahl / Ausdruck | ja |
**Beispiel:** `random(2,8)`
**Ergebnis:** 3.4532
randomC(minimum) / randomC(minimum, maximum)
komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `minimum` | Kleinster möglicher Betrag. | Zahl / Ausdruck | nein |
| `maximum` | Größter möglicher Betrag. | Zahl / Ausdruck | ja |
**Beispiel:** `randomC(2,8)`
**Ergebnis:** 3.4532arg40.3°
range(x)
range(anzahl) liefert ein Feld von ganzzahligen Werten von 0 beginnend
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Vektor / Ganzzahl | nein |
**Beispiel:** `range(5)`
**Ergebnis:** [0,1,2,3,4]
ratsimp(ausdruck)
Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `ratsimp(x+x)`
**Ergebnis:** 2*x
realpart(re)
Liefert den Realteil einer komplexen Zahl
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `re` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `realpart(3+4*%i)`
**Ergebnis:** 3
rectform(x)
hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti}
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Zahl | nein |
removeunit(ausdruck)
entfernt bei einem Ausdruck alle Einheiten und ersetzt dabei alle einheitenbehafteten Größen durch den Zahlenwert bezogen auf die BasisEinheit des SI-Systems
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `removeunit(t*5'm/s'+4cm)`
**Ergebnis:** t*5+0.04
replaceallstring(string, sold, snew)
Ersetzt alle Vorkommen einer Zeichenkette (regulärer Ausdruck) durch eine andere Zeichenkette.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `sold` | Parameter der Funktion. | String | nein |
| `snew` | Parameter der Funktion. | String | nein |
**Beispiel:** `replaceallstring("abcdefg","b.*e","xy")`
**Ergebnis:** "axyfg"
replacefirststring(string, sold, snew)
Ersetzt das erste Vorkommen einer Zeichenkette (regulärer Ausdruck) durch eine andere Zeichenkette.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `sold` | Parameter der Funktion. | String | nein |
| `snew` | Parameter der Funktion. | String | nein |
**Beispiel:** `replacefirststring("abcdefg","b.*e","xy")`
**Ergebnis:** "axyfg"
replacestring(string, sold, snew)
Ersetzt alle Vorkommen einer Zeichenkette in einem String durch eine andere Zeichenkette.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `sold` | Parameter der Funktion. | String | nein |
| `snew` | Parameter der Funktion. | String | nein |
**Beispiel:** `replacestring("abcdefg","bc","xy")`
**Ergebnis:** "axydefg"
reverse(v1)
Alias zu `setreverse`: Dreht die Reihenfolge eines Vektors/einer Menge um.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Matrix / Vektor | nein |
**Beispiel:** `reverse([1,2,3])`
**Ergebnis:** [3,2,1]
rhs(ausdruck)
liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `rhs(x+y=c+2)`
**Ergebnis:** c+2
root(wert) / root(wert, wurzelexponent)
Quadratwurzel. Entspricht `root(x,2)`.
Alias/Kompatibilitätsname zu `sqrt`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wurzelexponent` | Parameter der Funktion. | Zahl / Ausdruck | ja |
**Beispiel:** `root(8,3)`
**Ergebnis:** 2
round(wert) / round(wert, kommastellen)
Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet.
Alias/Kompatibilitätsname zu `cround`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `kommastellen` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `round(23.535)`
**Ergebnis:** 24
runtime(ausdruck)
Bei dieser Funktion wird erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze das komplette Maxima-Feld mit dem internen Parser durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern!
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `runtime(U)`
runtimeexception(wert1)
Test-/Diagnosefunktion: erzeugt absichtlich eine RuntimeException. Ein optionaler Parameter wird als Fehlermeldung verwendet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck des 1. Parameters. | Zahl / Ausdruck | nein |
**Beispiel:** `runtimeexception("Test")`
**Ergebnis:** Fehler
sec(x1)
Secans, `sec(x)=1/cos(x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `sec(0)`
**Ergebnis:** 1
sech(x1)
Secans-Hyperbolicus, `sech(x)=1/cosh(x)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `sech(0)`
**Ergebnis:** 1
second() / second(variable)
liefert das zweite Element mit dem Index 1 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `second([12,13,14])`
**Ergebnis:** 13
seconds(sec)
Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
selective_kill(...)
Löscht alle Variablen aus dem Variablenspeicher außer den angegebenen Variablen bzw. Variablenvektoren und liefert die Anzahl der gelöschten Variablen.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable1` | Parameter der Funktion. | Variable | ja, beliebig oft |
**Beispiel:** `selective_kill(x,y)`
**Ergebnis:** Anzahl der gelöschten Variablen
setapply(variable, menge, ausdruck)
wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `menge` | Menge bzw. Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `setapply(y,[1,2,3],y*2)`
**Ergebnis:** [2,4,6]
setboxplot(v1)
Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das Plot-Plugin#definierte-zeichenelemente-
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setboxplot([1,2,3,10,8,9]`
**Ergebnis:** [1,2,5.5,9,10]
setcompare(p1, p2)
vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `p1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `p2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setcompare([1,3,2,4],[3,7]) setcompare([1,3,2],[1,2,3]) setcompare([1,3,2],[1,3,2,3]) setcompare([1,2,3],[1,2,3])`
**Ergebnis:** false true false true
setcomparend(p1, p2)
vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `p1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `p2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setcomparend([1,3,2,4],[3,7]) setcomparend([1,3,2],[1,2,3]) setcomparend([1,3,2],[1,3,2,3]) setcomparend([1,2,3],[1,2,3])`
**Ergebnis:** false true true true
setcount(menge) / setcount(menge, wert)
Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `menge` | Menge bzw. Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja (bei 2 Parametern) |
**Beispiel:** `setcount([31,-3,2,31,0,5,2],31) setcount([2,5,3,6])`
**Ergebnis:** 2 4
setcut()
Bildet die Schnittmenge aus mehreren Mengen
**Beispiel:** `setcut([1,3,2,4],[3,7])`
**Ergebnis:** [3]
setgeomittel(v1)
Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setgeomittel([10,20,30])`
**Ergebnis:** 18.171206
setget(variable, anzahl) / setget(variable, anzahl, string)
Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | nein |
| `string` | Zeichenkette, die verarbeitet werden soll. | String | ja (bei 3 Parametern) |
**Beispiel:** `setget([12,13,14],1) setget(matrix([9,2],[3,4]),0,1)`
**Ergebnis:** 13 2
setgetfirst(v1)
Liefert den ersten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setgetfirst([1,3,-2,4])`
**Ergebnis:** 1
setgetlast(v1)
Liefert den letzten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setgetlast([1,3,-2,4])`
**Ergebnis:** 4
setgetmax(v1)
Liefert den größten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setgetmax([1,3,-2,4])`
**Ergebnis:** 4
setgetmin(v1)
Liefert den kleinsten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setgetmin([1,3,-2,4])`
**Ergebnis:** -2
setinsert(menge, index, wert)
fügt ein Element in eine Menge an eine gegebene Stelle ein
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `menge` | Menge bzw. Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `setinsert([12,13,14],1,25)`
**Ergebnis:** [12,25,13,14]
setlength(v1)
liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setlength([3,6,54,34,3,54])`
**Ergebnis:** 6
setmakelist(ausdruck, variable, startOderMenge, stop, schrittweite, ...)
setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `startOderMenge` | Parameter der Funktion. | Vektor / Matrix | nein |
| `stop` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
| `schrittweite` | Schrittweite bzw. Abstand zwischen zwei Berechnungsschritten. | Zahl / Ausdruck | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
**Beispiel:** `setmakelist(x^2,x,1,4)`
**Ergebnis:** [ 1,4,9,16 ]
setmedian(v1)
Liefert den Median einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setmedian([4,3,1,5,6]`
**Ergebnis:** 4
setmittel(v1)
Bestimmt den Mittelwert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setmittel([1,3,2,4])`
**Ergebnis:** 2.5
setmodus(v1)
Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setmodus([3,-3,2,0,5,2])`
**Ergebnis:** 2
setnd(v1)
Löscht alle Duplikate aus der Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setnd([3,-3,2,0,5,2]))`
**Ergebnis:** [3,-3,2,0,5]
setpartof(p1, p2)
prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `p1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `p2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setpartof([1,4],[1,3,7]) setpartof([1,3],[1,2,3]) setpartof([1,3,3],[1,3,5,7]) setpartof([1,4,4],[1,2,3,4])`
**Ergebnis:** false true false false
setpartofnd(p1, p2)
prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `p1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `p2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setpartofnd([1,4],[1,3,7]) setpartofnd([1,3],[1,2,3]) setpartofnd([1,3,3],[1,3,5,7]) setpartofnd([1,4,4],[1,2,3,4])`
**Ergebnis:** false true true true
setprod(v1)
Bestimmt das Produkt aller Werte einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setprod([1,3,2,4])`
**Ergebnis:** 24
setquadratmittel(v1)
Bestimmt den quadratischen Mittelwert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setquadratmittel([10,20,30])`
**Ergebnis:** 21.6025
setremove(variable, anzahl)
löscht ein Element einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | nein |
**Beispiel:** `setremove([12,13,14],1)`
**Ergebnis:** [12,14]
setremovefirst(v1)
Entfernt den ersten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setremovefirst([1,3,-2,4])`
**Ergebnis:** [3,-2,4]
setremovelast(v1)
Entfernt den letzten Wert einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setremovelast([1,3,-2,4])`
**Ergebnis:** [1,3,-2]
setreverse(v1)
Alias zu `setreverse`: Dreht die Reihenfolge eines Vektors/einer Menge um.
Alias/Kompatibilitätsname zu `reverse`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Matrix / Vektor | nein |
**Beispiel:** `setreverse([3,-3,2,0,5,2])`
**Ergebnis:** [2,5,0,2,-3,3]
setset(mengeOderMatrix, indexOderZeile, wertOderSpalte) / setset(mengeOderMatrix, indexOderZeile, wertOderSpalte, wert)
setzt ein Element einer Menge oder einer Matrix (Menge von Mengen)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `mengeOderMatrix` | Parameter der Funktion. | Matrix | nein |
| `indexOderZeile` | Parameter der Funktion. | Ganzzahl | nein |
| `wertOderSpalte` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja (bei 4 Parametern) |
**Beispiel:** `setset([12,13,14],1,35) setset(matrix([9,2],[3,4]),0,0,-9)`
**Ergebnis:** [12,35,14] [[-9,2],[3,4]]
setshuffle(v1) / setshuffle(v1, nummer)
Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel erforderlich, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
| `nummer` | Nummer bzw. Auswahlindex. | Ganzzahl | ja (bei 2 Parametern) |
**Beispiel:** `setshuffle([3,-3,2,0,5,2],5)`
**Ergebnis:** [2,3,−3,2,0,5]
setsort(v1)
Sortiert die Elemente einer Menge aufsteigend
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setsort([3,-3,2,0,5,2])`
**Ergebnis:** [-3,0,2,2,3,5]
setsortnd(v1)
Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setsortnd([31,-3,2,31,0,5,2])`
**Ergebnis:** [-3,0,2,5,31]
setsub(v1, von, bis)
setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
| `von` | Untere Grenze bzw. Startwert. | Ganzzahl / Zahl | nein |
| `bis` | Obere Grenze bzw. Endwert. | Vektor / Ganzzahl | nein |
**Beispiel:** `setsub([1,3,-2,4],1,2)`
**Ergebnis:** [3,-2]
setsum(v1)
Bestimmt die Summe aller Werte einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setsum([1,3,2,4])`
**Ergebnis:** 10
setunion()
Fügt mehrere Mengen zu einer neuen Menge zusammen
**Beispiel:** `setunion([1,3,2,4],[3,7])`
**Ergebnis:** [1,3,2,4,3,7]
setunionnd()
Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente
**Beispiel:** `setunionnd([1,3,2,4],[3,7])`
**Ergebnis:** [1,2,3,4,7]
setvarianz(v1)
Bestimmt die empirische Varianz einer Menge
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `setvarianz([3,1,2,5,4])`
**Ergebnis:** ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2
shl(wert) / shl(wert, stellen)
Schiebe Ganzzahl bitweise nach links
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `stellen` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `shl(8,2)`
**Ergebnis:** 32
shr(wert) / shr(wert, stellen)
Schiebe Ganzzahl bitweise nach rechts
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `stellen` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `shr(8,2)`
**Ergebnis:** 2
sigma(x) / sigma(x, wert)
Sprungfunktion: sigma(x) liefert 0 für x<0 und 1 für x>=0
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | komplexe Zahl / Zahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja |
**Beispiel:** `sigma(243.3)`
**Ergebnis:** 1
signum(wert)
Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `signum(-4)`
**Ergebnis:** -1
sin(x1)
Sinus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `sin(%pi/2)`
**Ergebnis:** 1
sinh(x1)
Sinus-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `sinh(1)`
**Ergebnis:** 1.1752012
sixth() / sixth(variable)
liefert das sechste Element mit dem Index 5 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `sixth ([12,13,14,15,16,17,18])`
**Ergebnis:** 17
solve(gleichungen, varlist)
löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `gleichungen` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `varlist` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
**Beispiel:** `solve([2*x+y=3,x-y=0],[x,y])`
**Ergebnis:** [[ x=1,y=1 ]]
solvevalue(cc, varlist, ausdruck)
löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `cc` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `varlist` | Parameter der Funktion. | Ausdruck / passender Datentyp | nein |
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)`
**Ergebnis:** 1
splitoptunit(oE)
Zerlegt einen numerischen Wert in Zahlenwert und die optimale Einheit mit Zahlenwert 1 als Feld mit Zahlenwert als Index 0 und Einheit als Index 1
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oE` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
**Beispiel:** `splitoptunit(1300kVA)`
**Ergebnis:** [1.3,1MVA]
splitstring(string, tz)
Teilt einen String in ein Array von Strings splitstring(string,separator)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `tz` | Parameter der Funktion. | String | nein |
**Beispiel:** `splitstring("abcdefg","b")`
**Ergebnis:** "a","c","defg"
splitunit(oE)
Zerlegt einen numerischen Wert in Zahlenwert und die originale/optimale Einheit mit Zahlenwert 1 als Feld mit Zahlenwert als Index 0 und Einheit als Index 1
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oE` | Parameter der Funktion. | Vektor / Ganzzahl | nein |
**Beispiel:** `splitunit(1300kVA)`
**Ergebnis:** [1300,1kVA]
sqrt(wert) / sqrt(wert, wurzelexponent)
Quadratwurzel. Entspricht `root(x,2)`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wurzelexponent` | Parameter der Funktion. | Zahl / Ausdruck | ja |
**Beispiel:** `sqrt(9)`
**Ergebnis:** 3
stackoverflow()
Test-/Diagnosefunktion: erzeugt absichtlich einen StackOverflow. Nicht für reguläre Aufgaben verwenden.
**Beispiel:** `stackoverflow()`
**Ergebnis:** Fehler
strcat(...)
Fügt mehrere Strings zusammen.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `strcat("a","b")`
**Ergebnis:** "ab"
string(...)
Fügt mehrere Strings zusammen.
Alias/Kompatibilitätsname zu `strcat`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert1` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja, beliebig oft |
**Beispiel:** `string(123)`
**Ergebnis:** "123"
substring(string, startindex) / substring(string, startindex, endindex)
Liefert einen Teil eines Strings substring(string,startindex,endindex). Index beginnt bei 0 und endindex ist optional.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `startindex` | Parameter der Funktion. | Ganzzahl | nein |
| `endindex` | Parameter der Funktion. | Ganzzahl | ja |
**Beispiel:** `substring("abcdefg",2,3)`
**Ergebnis:** "cd"
sum(funktion, variable, untergrenze, obergrenze)
Summenbildung
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `funktion` | Ausdruck des Summanden. | Ausdruck | nein |
| `variable` | Laufvariable der Summe. | Variable | nein |
| `untergrenze` | Erster Wert der Laufvariable. | Zahl / Ausdruck | nein |
| `obergrenze` | Letzter Wert der Laufvariable. | Zahl / Ausdruck | nein |
**Beispiel:** `sum(1/k,k,1,2)`
**Ergebnis:** 3/2
svphtosv(phaseA) / svphtosv(phaseA, phaseB, phaseC)
berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `phaseA` | Parameter der Funktion. | Zahl / Ausdruck | nein |
| `phaseB` | Parameter der Funktion. | Zahl / Ausdruck | ja (bei 3 Parametern) |
| `phaseC` | Parameter der Funktion. | Zahl / Ausdruck | ja (bei 3 Parametern) |
**Beispiel:** `svphtosv(0.5,0.5,-1)`
**Ergebnis:** 1arg60°
svsvtoph(raumzeiger) / svsvtoph(raumzeiger, index)
berechnet aus einem komplexen Raumzeiger die Stranggrössen berechnet aus einem komplexen Raumzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `raumzeiger` | Parameter der Funktion. | Zahl / Ausdruck | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | ja |
**Beispiel:** `svsvtoph(1arg60°) svsvtoph(1arg60°,3)`
**Ergebnis:** [0.5,0.5,-1] -1
symbolic(ausdruck)
Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `symbolic(x^2+2)`
**Ergebnis:** x^2+2
tailstring(string, length)
liefert den letzten Teil eines Strings teilstring(tailstring,zeichenanzahl)
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
| `length` | Parameter der Funktion. | String / Ganzzahl | nein |
**Beispiel:** `tailstring("abcdefg",2)`
**Ergebnis:** "fg"
tan(x1)
Tangens
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `tan(%pi/4)`
**Ergebnis:** 1
tanh(x1)
Tangens-Hyperbolicus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x1` | Parameter der Funktion. | Ganzzahl / komplexe Zahl | nein |
**Beispiel:** `tanh(1)`
**Ergebnis:** 0.7615941
third() / third(variable)
liefert das dritte Element mit dem Index 2 eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | ja |
**Beispiel:** `third([12,13,14])`
**Ergebnis:** 14
time(hour, minute, second, ...)
time(h,min,sec) erzeugt eine Uhrzeit als Ganzzahl in Sekunden seit Mitternacht
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `hour` | Parameter der Funktion. | String / Vektor | nein |
| `minute` | Parameter der Funktion. | Ganzzahl | nein |
| `second` | Parameter der Funktion. | Ganzzahl | nein |
| `weitereParameter` | Weitere Parameter desselben Funktionsaufrufs; Anzahl ist variabel. | Ausdruck / passender Datentyp | ja, beliebig oft |
timestring(zeit, format)
erzeugt eine Uhrzeit als String
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `zeit` | Parameter der Funktion. | Zahl / Ausdruck | nein |
| `format` | Formatangabe für die Ausgabe. | String | nein |
todB(oe)
versieht einen Zahlenwert mit der skalierenden Dezibel-Einheit dB welche mit 20*log10 berechnet wird
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oe` | Parameter der Funktion. | Zahl | nein |
**Beispiel:** `todB(100) todB(100)*2`
**Ergebnis:** 40dB 200
tomaxima(ausdruck1) / tomaxima(ausdruck1, wert2)
Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck1` | Parameter der Funktion. | Ausdruck | nein |
| `wert2` | Wert bzw. Ausdruck des 2. Parameters. | Zahl / Ausdruck | ja |
**Beispiel:** `tomaxima(y:x^2,y+2)`
**Ergebnis:** x^2+2
trunc(wert)
Schneidet die Zahl nach dem Komma ab
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `trunc(24.5)`
**Ergebnis:** 24
unit(oE)
gibt die SI-Einheit eines einheitenbehafteten Wertes mit dem Zahlenwert 1 ohne Einheitenvielfache zurück. numeric(x)*unit(x) liefert wieder x
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `oE` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `unit(3.1kA) unit(5%)`
**Ergebnis:** 1A 1%
unitopt(calcPhysical)
liefert bei einem einheitenbehafteten Wert die optimale SI-Einheit mit optimierten Einheitenvielfachen
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `calcPhysical` | Parameter der Funktion. | komplexe Zahl / Zahl | nein |
**Beispiel:** `unitopt(1300kVA)`
**Ergebnis:** 1.3MVA
vabs(variable)
Berechnet den Betrag eines Vektors
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `vabs([3,4])`
**Ergebnis:** 5
vadd(v1, v2)
Addiert zwei Vektoren elementweise
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor | nein |
| `v2` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `vadd([1,2,3],[4,5,6])`
**Ergebnis:** [5,7,9]
val(string)
Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `string` | Zeichenkette, die verarbeitet werden soll. | String | nein |
**Beispiel:** `val("a")`
**Ergebnis:** 97
vdiv(v1, v2)
Dividiert zwei Vektoren elementweise
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor | nein |
| `v2` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `vdiv([1,2,3],[4,5,6])`
**Ergebnis:** [1/3,2/5,3/6]
verweis(matrix, wert, spalte)
verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `spalte` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
**Beispiel:** `verweis([[10,33],[20,77],[30,99]],21)`
**Ergebnis:** 77
verweisdown(matrix, wert, spalte)
verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `spalte` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
**Beispiel:** `verweisdown([[10,33],[20,77],[30,99]],27,1)`
**Ergebnis:** 77
verweisup(matrix, wert, spalte)
verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `matrix` | Matrix, auf der die Operation ausgeführt wird. | Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `spalte` | Parameter der Funktion. | Matrix / Ganzzahl | nein |
**Beispiel:** `verweisup([[10,33],[20,77],[30,99]],21)`
**Ergebnis:** 99
vex(v1, v2)
Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `v2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `vex([1,2,3],[4,5,6])`
**Ergebnis:** [-3,6,-3]
vget(variable, anzahl) / vget(variable, anzahl, string)
Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen)
Alias/Kompatibilitätsname zu `setget`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | nein |
| `string` | Zeichenkette, die verarbeitet werden soll. | String | ja (bei 3 Parametern) |
**Beispiel:** `vget([12,13,14],1) vget(matrix([9,2],[3,4]),0,1)`
**Ergebnis:** 13 2
vgetmaxima(variable, anzahl) / vgetmaxima(variable, anzahl, string)
liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | nein |
| `string` | Zeichenkette, die verarbeitet werden soll. | String | ja (bei 3 Parametern) |
**Beispiel:** `vgetmaxima([12,13,14],1)`
**Ergebnis:** 12
viewpow(ausdruck)
Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `viewpow(sqrt(x))`
**Ergebnis:** x^(1/2)
viewsqrt(ausdruck)
Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `ausdruck` | Ausdruck bzw. Funktion, die verarbeitet werden soll. | Ausdruck | nein |
**Beispiel:** `viewsqrt(x^(1/2))`
**Ergebnis:** sqrt(x)
vin(v1, v2)
Berechnet das innere Produkt von 2 Vektoren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor / Zahl | nein |
| `v2` | Parameter der Funktion. | Vektor / Zahl | nein |
**Beispiel:** `vin([1,2,3],[4,5,6])`
**Ergebnis:** 32
vindex(vektor, wert)
vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `vektor` | Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `vindex([10,30,70],40)`
**Ergebnis:** 1
vindexdown(vektor, wert)
vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `vektor` | Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `vindexdown([10,30,70],60)`
**Ergebnis:** 1
vindexup(vektor, wert)
vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `vektor` | Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `vindexup([10,30,70],40)`
**Ergebnis:** 2
vinsert(menge, index, wert)
fügt ein Element in eine Menge an eine gegebene Stelle ein
Alias/Kompatibilitätsname zu `setinsert`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `menge` | Menge bzw. Vektor, auf dem die Operation ausgeführt wird. | Vektor / Matrix | nein |
| `index` | Index des gewünschten Elements; die Zählweise richtet sich nach der jeweiligen Funktion. | Ganzzahl | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
**Beispiel:** `vinsert([12,13,14],1,25)`
**Ergebnis:** [12,25,13,14]
vmatrix(variable)
Erzeugt aus genau einem Vektor eine Matrix. Enthaltene Vektoren werden zu Matrixzeilen, einzelne Werte zu ein-elementigen Zeilen; eine Matrix wird unverändert zurückgegeben.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
**Beispiel:** `vmatrix([[1,2],[3,4]])`
**Ergebnis:** [[1,2],[3,4]]
vmul(v1, v2)
Multipliziert zwei Vektoren elementweise
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor | nein |
| `v2` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `vmul([1,2,3],[4,5,6])`
**Ergebnis:** [4,10,18]
vpow(v1, v2)
Potenziert zwei Vektoren elementweise
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor | nein |
| `v2` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `vpow([1,2,3],[4,5,6])`
**Ergebnis:** [1,32,729]
vremove(variable, anzahl)
löscht ein Element einer Menge
Alias/Kompatibilitätsname zu `setremove`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `variable` | Variable, auf die sich die Operation bezieht. | Variable | nein |
| `anzahl` | Anzahl der Elemente, Stellen oder Wiederholungen. | Ganzzahl | nein |
**Beispiel:** `vremove([12,13,14],1)`
**Ergebnis:** [12,14]
vset(mengeOderMatrix, indexOderZeile, wertOderSpalte) / vset(mengeOderMatrix, indexOderZeile, wertOderSpalte, wert)
setzt ein Element einer Menge oder einer Matrix (Menge von Mengen)
Alias/Kompatibilitätsname zu `setset`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `mengeOderMatrix` | Parameter der Funktion. | Matrix | nein |
| `indexOderZeile` | Parameter der Funktion. | Ganzzahl | nein |
| `wertOderSpalte` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja (bei 4 Parametern) |
**Beispiel:** `vset([12,13,14],1,35) vset(matrix([9,2],[3,4]),0,0,-9)`
**Ergebnis:** [12,35,14] [[-9,2],[3,4]]
vsetmaxima(vektorOderMatrix, indexOderZeile, wertOderSpalte) / vsetmaxima(vektorOderMatrix, indexOderZeile, wertOderSpalte, wert)
setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `vektorOderMatrix` | Parameter der Funktion. | Matrix | nein |
| `indexOderZeile` | Parameter der Funktion. | Ganzzahl | nein |
| `wertOderSpalte` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | nein |
| `wert` | Wert bzw. Ausdruck für die Berechnung. | Zahl / Ausdruck | ja (bei 4 Parametern) |
**Beispiel:** `vsetmaxima([12,13,14],1,35)`
**Ergebnis:** [35,13,14]
vsub(v1, v2)
Subtrahiert zwei Vektoren elementweise
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `v1` | Parameter der Funktion. | Vektor | nein |
| `v2` | Parameter der Funktion. | Vektor | nein |
**Beispiel:** `vsub([1,2,3],[4,5,6])`
**Ergebnis:** [-3,-3,-3]
weeks(sec)
Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
wenn(e1, e2, e3)
if(bedingung,wahr,falsch)
Alias/Kompatibilitätsname zu `if`.
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `e1` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
| `e2` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
| `e3` | Parameter der Funktion. | Boolean/Ausdruck / Zahl | nein |
**Beispiel:** `wenn(4<6,10,12)`
**Ergebnis:** 10
word(x)
Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `x` | X-Wert bzw. Ausdruck. | Ganzzahl / Zahl | nein |
**Beispiel:** `word(34.2)`
**Ergebnis:** 34
years(sec)
Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit
| Parameter | Beschreibung | Möglicher Datentyp | Optional |
|---|---|---|---|
| `sec` | Parameter der Funktion. | Zahl | nein |
Probleme mit großen Gleichungssystemen
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.
Achtung: Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden. Dabei werden allerdings alle Einheiten entfernt und können wieder über …. zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.
Ergebnisvorschau
Aufruf dieses Dialoges über den -Button aus dem Toolbar.
Die Berechnungen aus dem Maxima-Feld bei der Fragendefinition können auch über den -Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt.
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den -Button möchlich.
Kategorie:Berechnung

