Zum Inhalt springen
Varlig-Handbuch
Varlig-Startseite

Höhere Mathematik: Möglichkeiten und Grenzen

Diese Seite fasst die höhere Mathematik in Varlig Calc zusammen: Listen, Vektoren und Matrizen, komplexe Zahlen, Summen und Produkte, das Lösen von Gleichungen und Analysis. Für jeden Bereich ist aufgeführt, was die Funktionen tun, was sie akzeptieren, wie genau die Ergebnisse sind und wo die Grenzen liegen. Hier prüfst du die Details, wenn dich ein Ergebnis überrascht.

Einführungen mit mehr Beispielen findest du im Handbuch: Listen und Statistik, Vektoren und Matrizen, Komplexe Zahlen und Summen, Gleichungen lösen und Analysis.

Auf einen Blick

Thema Beispiel Ergebnis
Liste [1, 2+3, 4*2] [1, 5, 8]
Element einer Liste [10, 20, 30][1] 20
Element einer verschachtelten Liste [[1,2],[3,4]][1][0] 3
Summe von Größen sum([1 kg, 500 g]) 1.5 kg
Statistik average([1,2,3]), median([5,1,3]) 2, 3
Bereich, abwärts zählend range(5, 1, -2) [5, 3, 1]
Listen addieren [1,2] + [3,4] [4, 6]
Matrixprodukt [[1,2],[3,4]] * [[1,0],[0,1]] [[1, 2], [3, 4]]
Inverse inverse([[1,2],[3,4]]) [[-2, 1], [1.5, -0.5]]
Determinante det([[1,2],[3,4]]) -2
Transponierte transpose([[1,2],[3,4]]) [[1, 3], [2, 4]]
Lineares Gleichungssystem solve_system([[2,1],[1,2]], [34,29]) [13, 8]
Rechnen mit komplexen Zahlen (2+3i) * (2-3i) 13
Komplexe Quadratwurzel sqrt(complex(-4,0)) 2i
Häufigster Wert mode([1,2,2,3]) 2
Perzentil percentile([1,2,3,4],25) 1.75
Standardabweichung der Grundgesamtheit population_stddev([1,2,3,4]) 1.1180339887
Summe über einen Bereich sum(k^2, k, 1, 10) 385
Produkt über einen Bereich product(k, k, 1, 5) 120
Gleichung exakt lösen solve(x^2 - 5x + 6 = 0) [2, 3]
Gleichung im Bereich lösen solve(x^2 = 4, x, 0, 3) 2
Symbolische Ableitung differentiate(sin(x), x) cos(x)
Ableitung an einer Stelle derivative(x^3, x, 2) 12
Bestimmtes Integral integrate(x^2, x, 0, 3) 9

Listen, Matrizen und komplexe Zahlen sind ganz normale Werte. Du kannst ihnen Namen geben und sie an eigene Funktionen übergeben, und sie werden neu berechnet, wenn du eine frühere Zeile bearbeitest.

calc
Quadrate(n) = sum(k^2, k, 1, n)
Quadrate(3) ergibt 14
erstes(Liste) = Liste[0]
erstes([10, 20]) ergibt 10
Wurzel(y) = solve(x^2 = y, x, 0, 10)
Wurzel(9) ergibt 3

Was der Rechner garantiert

Hinter allem auf dieser Seite steht eine Regel: Eine Rechnung hat entweder ein Ergebnis, für das Varlig geradesteht, oder sie zeigt einen Fehler mit der Begründung. Sie fällt nie von einer exakten Rechnung auf eine plausibel aussehende Zahl zurück.

Wie exakt ein Ergebnis ist

Gerechnet als Was das umfasst
Exakte Brüche Koeffizienten einer Gleichung und die Lösung einer linearen Gleichung; die Lösungen einer quadratischen Gleichung, deren Diskriminante eine Quadratzahl ist; bei Matrizen +, -, *, die Multiplikation mit einer Zahl, transpose, det, inverse, rank und solve_system; median, mode, modes, percentile, quartile und alle drei Varianzen
Dezimale Quadratwurzel stddev, sample_stddev, population_stddev und die Lösungen jeder anderen quadratischen Gleichung
Binäre Gleitkommazahlen eigenvalues, qr, lu, svd, integrate und das solve mit vier Argumenten

Exakt heißt exakt: Zwischen dem Lesen der Zeile und dem Anzeigen des Ergebnisses wird nichts gerundet, ein exaktes Ergebnis übersteht also das Benennen, Speichern und Weiterverwenden. Ein Näherungswert ist dieselbe begrenzte Dezimalzahl, die sqrt zurückgibt. Er ist nicht korrekt auf seine letzte angezeigte Stelle gerundet, deshalb ist der Vergleich zweier Näherungswerte mit == kein verlässlicher Test — solve(x^2 - 2 = 0) und sqrt(2) zeigen beide 1.4142135624 und sind nicht gleich.

Ein Ergebnis mischt nie beides. Bei einer quadratischen Gleichung, deren Diskriminante keine Quadratzahl ist, sind beide Lösungen Näherungswerte.

Einheiten

Operation Regel
Matrizen Nur reine Zahlen; Einheiten, Geld und komplexe Einträge werden abgelehnt
Gleichungen Nur reine Zahlen, auf beiden Seiten
median, mode, modes, percentile, quartile, stddev, population_stddev Eine einheitliche Dimension oder reine Zahlen. Kompatible Einheiten werden in der Einheit des ersten Werts gelesen, und das Ergebnis behält sie
variance, sample_variance, population_variance Nur reine Zahlen: Eine Varianz quadriert ihre Beobachtungen, und keine Einheit übersteht das

Werte mit Einheiten und Werte ohne zu mischen ist ein Fehler, statt dass die nackten Zahlen stillschweigend gelesen werden — mit einer altbekannten Ausnahme: Eine nackte 0 zählt in der Einheit der anderen.

Was abgelehnt wird

Nichts davon liefert eine Zahl oder einen Satz. Jedes ist ein Fehler, der benennt, was nicht geht, und — wo es eine gibt — die unterstützte Schreibweise dazu:

  • Eine Polynomgleichung über Grad 2, eine nicht polynomiale Gleichung, die Unbekannte in einem Nenner oder einem Exponenten, zwei Namen, die beide keinen Wert haben, eine Gleichung ohne Unbekannte oder eine mit Einheiten oder Geld. Jedes verweist auf das numerische solve mit vier Argumenten.
  • Eine Gleichung ohne reelle Lösung, statt einer komplexen, und eine Gleichung, die jeder Wert erfüllt, statt eines einzelnen Werts.
  • Eine Matrixoperation mit unpassenden oder nicht quadratischen Dimensionen, die Inverse einer singulären Matrix oder ein Eintrag, der keine reine Zahl ist.
  • mode ohne Wiederholung oder mit mehreren gleich häufigen Werten, ein Perzentil außerhalb von 0 bis 100, ein Quartil außerhalb von 0 bis 4 und jede Statistik außer sum, product und count über einer leeren Liste.

Nirgends unterstützt, und zwar mit Absicht: symbolisches Umformen über das Sammeln von Polynomkoeffizienten hinaus, nicht lineare Gleichungssysteme, komplexe Lösungen einer reellen Gleichung, Matrizen mit Einheiten oder Geld, symbolisches Integrieren und das Zeichnen von Graphen.

Die Meldungen selbst sind unter Fehler, Diagnosen und Grenzen aufgeführt.

Listen und Mathefunktionen schreiben

  • Kommas trennen Elemente und Argumente. Ein Komma mit einem Leerzeichen danach trennt immer, und ein Komma, auf das genau drei Ziffern folgen, gruppiert Tausender. [1,200, 1,800] hat also zwei Elemente. Ohne Leerzeichen trennt jedes Komma, wie in [12,-51,4]. Wo sich Kommas auf beide Arten lesen lassen, wie in [1,234], zeigt die Fehlermeldung beide möglichen Schreibweisen. Für Nachkommastellen verwendest du einen Dezimalpunkt.
  • Matrizen sind Listen von Zeilen, etwa [[1,2],[3,4]]. Eine Kurzschreibweise mit Semikolon wie [1,2;3,4] gibt es nicht.
  • Indizes beginnen bei 0 und müssen ganze Zahlen ab 0 sein. Ein Index hinter dem Ende der Liste ist ein Fehler; er springt nie an den Anfang zurück und wird auch nicht passend gekürzt.
  • Die Anzahl der Argumente wird geprüft. sqrt(4,9) ist ein Fehler, statt dass Varlig rät.

Listen und Statistik

Diese Funktionen akzeptieren eine Liste: length oder count, sum, product, average oder mean, median, min, max, mode und modes, percentile und quartile sowie die Streuungsfunktionen variance, sample_variance, population_variance, stddev, sample_stddev und population_stddev.

  • mode antwortet nur, wenn genau ein Wert der häufigste ist; ein Gleichstand und eine Liste ohne Wiederholung sind beides Fehler, die modes, median oder average nennen. modes gibt alle häufigsten Werte zurück.
  • percentile(list, rank) nimmt einen Rang von 0 bis 100 und interpoliert linear zwischen den beiden nächstgelegenen Rängen, nach der inklusiven Definition: Das 50. Perzentil ist der Median, das 0. und das 100. sind der kleinste und der größte Wert. quartile(list, k) nimmt ein ganzzahliges k von 0 bis 4 und ist percentile(list, 25k).
  • variance und stddev sind die Stichprobenformen, teilen durch n - 1 und brauchen zwei Werte. population_variance und population_stddev teilen durch n und brauchen einen. sample_variance und sample_stddev sind längere Namen für die kurzen.
  • Eine leere Liste hat die sum 0, das product 1 und den count 0. Andere Statistiken einer leeren Liste sind Fehler.
  • Zwei gleich lange Listen werden elementweise addiert und subtrahiert. Du kannst eine Liste mit einer Zahl multiplizieren oder durch eine Zahl dividieren und zwei Listen mit == vergleichen.
  • range(start, end, step) schließt beide Enden ein. Die Schrittweite ist optional.
  • dot(a, b) multipliziert zwei reelle Vektoren.
calc
Ausgaben = [420, 385, 510, 460] ergibt [420, 385, 510, 460]
sum(Ausgaben) ergibt 1,775
average(Ausgaben) ergibt 443.75
median(Ausgaben) ergibt 440
Ausgaben[0] ergibt 420
Ausgaben * 1.1 ergibt [462, 423.5, 561, 506]
range(0, 1, 0.25) ergibt [0, 0.25, 0.5, 0.75, 1]

Listen umformen

Aufruf Ergebnis Wirkung
sort([3,1,2]) [1, 2, 3] Sortiert Zahlen ohne Einheiten aufsteigend; gleiche Elemente behalten ihre Reihenfolge
reverse([1,2,3]) [3, 2, 1] Kehrt jede Liste um
unique([3,1,3,2]) [3, 1, 2] Behält das erste Vorkommen jedes Werts; Elemente müssen exakt übereinstimmen, auch in der Einheit
slice([10,20,30,40], 1, 3) [20, 30] Nimmt Elemente vom Startindex bis ausschließlich zum Endindex
map(x^2, x, [1,2,3]) [1, 4, 9] Berechnet den Ausdruck für jedes Element
filter(x > 1, x, [1,2,3]) [2, 3] Behält die Elemente, für die die Bedingung wahr ist
variance([1,2,3]) 1 Exakte Stichprobenvarianz, geteilt durch die Anzahl minus eins
  • slice braucht ganze Zahlen mit 0 ≤ Start ≤ Ende ≤ Länge der Liste. Andere Grenzen sind Fehler.
  • variance braucht mindestens zwei Zahlen ohne Einheiten.
  • map und filter erwarten zuerst den Ausdruck, dann den Namen für das jeweilige Element und dann die Liste. Der Name gilt nur innerhalb des Aufrufs und ändert keinen Namen, den du anderswo definiert hast. Der Ausdruck in filter muss true oder false ergeben.

Vektoren und Matrizen

Vektoren sind flache Listen, Matrizen sind Listen von Zeilen. Matrizen müssen rechteckig sein, reelle Zahlen ohne Einheiten enthalten und 1 bis 32 Zeilen und Spalten haben.

Funktion Wirkung
A * B Matrixprodukt; die Spaltenzahl von A muss der Zeilenzahl von B entsprechen
transpose(A) Vertauscht Zeilen und Spalten
shape(A) [Zeilen, Spalten]
identity(n) Eine Einheitsmatrix der Größe n × n
trace(A) Summe der Diagonale einer quadratischen Matrix
det(A) Determinante einer quadratischen Matrix
inverse(A) Inverse einer quadratischen Matrix; eine singuläre Matrix ist ein Fehler
rank(A) Rang durch exakte Elimination, für jede rechteckige Matrix
dot(a, b) Skalarprodukt zweier gleich langer Vektoren
cross(a, b) Kreuzprodukt zweier Vektoren mit je drei Elementen
solve_system(A, b) Löst A*x = b für eine quadratische Matrix A und einen flachen Vektor b
eigenvalues(A) Eigenwerte einer reellen quadratischen Matrix, auch komplexe Paare, in keiner festen Reihenfolge
qr(A) [Q, R], wobei Q*R ungefähr A ergibt
lu(A) [P, L, U], wobei P*A ungefähr L*U ergibt; nur quadratische Matrizen
svd(A) [U, s, Vt], wobei s eine flache Liste der Singulärwerte ist und A ungefähr U*diag(s)*Vt ergibt

Exakte Ergebnisse. det, inverse, rank und solve_system rechnen mit exakten Brüchen. rank hat keine Rundungstoleranz. solve_system meldet bei einem singulären System einen Fehler und kann weder nichtlineare Systeme noch Systeme mit unendlich vielen Lösungen behandeln.

Näherungswerte. eigenvalues, qr, lu und svd verwenden Gleitkommazahlen und prüfen, ob ihre Ausgabe endlich ist. qr und svd akzeptieren rechteckige Matrizen und liefern die kompakten („dünnen“) Faktoren. Berechnungen von Eigenwerten und Singulärwertzerlegungen stoppen nach 10.000 Iterationen. Im angezeigten Ergebnis erscheint ein Eintrag, der neben dem größten Eintrag nur Rundungsrauschen ist, als 0; greifst du per Index darauf zu, erhältst du den gespeicherten Wert. Schlecht konditionierte Matrizen können an Genauigkeit verlieren, prüfe diese Ergebnisse also nicht mit ==.

calc
# Zwei Erwachsenenkarten und eine Kinderkarte kosten 34; eine Erwachsenen- und zwei Kinderkarten kosten 29
solve_system([[2,1],[1,2]], [34,29]) ergibt [13, 8]
det([[2,1],[1,2]]) ergibt 3
rank([[1,2],[2,4]]) ergibt 1

Komplexe Zahlen

i ist die imaginäre Einheit, sofern du keinen Namen und keine eigene Einheit namens i definiert hast.

  • Funktionen: complex(real, imaginary), real, imag, conj, abs, arg (im Bogenmaß) und sqrt (die Hauptwurzel) akzeptieren alle komplexe Zahlen.
  • Exaktheit: Real- und Imaginärteil, Grundrechenarten und ganzzahlige Potenzen bleiben exakt. Allgemeine Wurzeln und arg sind Näherungswerte.
  • Reelle Ergebnisse: Heben sich die Imaginärteile auf, wie bei (2+3i) * (2-3i), ist das Ergebnis eine normale reelle Zahl. Ein Wert, den du als komplexe Zahl schreibst, etwa -4 + 0i oder complex(-4,0), bleibt bei Rechnungen und in Namen komplex, auch wenn er als -4 angezeigt wird.
  • Quadratwurzeln und Logarithmen negativer Zahlen: sqrt(-4), ln(-1) und log(-100) bleiben bei den reellen Zahlen und zeigen einen Fehler zu imaginären Zahlen an, der die komplexe Schreibweise nennt, die du stattdessen verwenden kannst, etwa sqrt(-4 + 0i). Diese Schreibweise oder sqrt(complex(-4,0)) ergibt 2i.
  • Anzeige: Ein Anteil, der nur Rundungsrauschen der Gleitkommarechnung ist, wird als 0 angezeigt; exp(i*pi) zeigt also -1. Der gespeicherte Wert behält seine Ziffern.
  • Vergleiche: < und > funktionieren nur, wenn beide Imaginärteile null sind.
  • Weitere Funktionen: sin, cos, tan und ihre Umkehrfunktionen, die Hyperbelfunktionen und ihre Umkehrfunktionen, exp, ln, log oder log10, log2, cbrt sowie gebrochene oder komplexe Potenzen akzeptieren alle komplexe Zahlen. Sie verwenden Gleitkommazahlen und Hauptzweige. Der Logarithmus von null und jedes nicht endliche Ergebnis sind Fehler.
calc
(2+3i) * (2-3i) ergibt 13
abs(3+4i) ergibt 5
sqrt(-4 + 0i) ergibt 2i
sqrt(complex(-4,0)) ergibt 2i
sqrt(-4) ergibt Error: imaginary number. For a complex answer, write sqrt(-4 + 0i)
exp(i*pi) ergibt -1

Summen und Produkte

sum(expression, name, from, to) addiert den Ausdruck für jede ganze Zahl von from bis to, beide Enden eingeschlossen. summation ist ein anderer Name dafür, und product multipliziert stattdessen.

  • Der Name gilt nur innerhalb des Aufrufs. Er ändert keinen bereits definierten Namen, und die Zeile hängt auch nicht von einem solchen ab.
  • Du kannst eine Summe oder ein Produkt in eine andere Summe oder ein anderes Produkt setzen.
  • Ist to kleiner als from, ist der Bereich leer: Die Summe ist 0 und das Produkt 1.
  • Ein einzelner Aufruf kann höchstens 10.000 Terme haben.
calc
sum(k^2, k, 1, 10) ergibt 385
product(k, k, 1, 5) ergibt 120
k = 7 ergibt 7
sum(k, k, 1, 3) ergibt 6
k ergibt 7

Gleichungen lösen

solve(equation) liest eine Polynomgleichung vom Grad 1 oder 2 mit einer Unbekannten und rechnet ihre Lösungen aus. Die Unbekannte ist der eine Name in der Gleichung, der keinen Wert hat; ein Name, der einen hat, wird als sein Betrag gelesen, und die rechte Seite darf fehlen — dann wird der Ausdruck gleich null gesetzt.

  • Eine lineare Gleichung antwortet mit der Zahl. Eine quadratische antwortet mit der Liste ihrer verschiedenen reellen Lösungen in aufsteigender Reihenfolge, eine doppelte Lösung ist also eine Liste mit einem Element. Die Form richtet sich nach dem geschriebenen Grad, nicht nach den gefundenen Lösungen.
  • Die Koeffizienten und ihre Umformung sind exakt, und die Lösungen ebenfalls, wenn die Diskriminante eine Quadratzahl ist. Jede andere quadratische Gleichung liefert zwei dezimale Quadratwurzeln.
  • Beide Seiten müssen reine Zahlen sein. Einheiten, Geld und komplexe Werte werden abgelehnt.
  • Eine Gleichung ohne reelle Lösung liefert Error: no real solution statt einer komplexen Lösung, und eine Gleichung, die jeder Wert erfüllt, sagt das, statt sich einen Wert herauszupicken.
  • Alles andere — Grad 3 und höher, eine nicht polynomiale Gleichung, die Unbekannte in einem Nenner oder einem Exponenten, ein zweiter Name ohne Wert — wird mit einer Meldung abgelehnt, die die Form mit vier Argumenten weiter unten nennt.
calc
solve(2x + 6 = 10) ergibt 2
solve(x^2 - 5x + 6 = 0) ergibt [2, 3]
solve(x^2 - 2 = 0) ergibt [-1.4142135624, 1.4142135624]
solve(x^2 + 1 = 0) ergibt Error: no real solution

solve(expression, name, lower, upper) ist eine andere Funktion: Sie findet einen reellen Wert von name zwischen lower und upper, an dem der Ausdruck null ist. solve(left = right, name, lower, upper) findet die Stelle, an der beide Seiten gleich sind.

  • Die Grenzen müssen endliche Zahlen sein, und lower muss kleiner als upper sein.
  • Eine Nullstelle genau auf einer Grenze wird akzeptiert. Ansonsten muss der Ausdruck an einer Grenze positiv und an der anderen negativ sein und sollte dazwischen stetig sein.
  • Die Suche halbiert das Intervall mit jedem Schritt. Sie ist erfolgreich, wenn der Ausdruck innerhalb von 128 Schritten bis auf 1e-10 an null herankommt und das Intervall schmal genug ist. Ist der Ausdruck an einer geprüften Stelle nicht definiert oder kommt die Suche nicht zur Ruhe, zeigt die Zeile einen Fehler an.
  • Sie findet eine Nullstelle, nicht alle. Für lineare Gleichungssysteme verwendest du solve_system.
calc
solve(1500 + 12*x = 20*x, x, 0, 1000) ergibt 187.5
solve(x^2 = 2, x, 0, 2) ergibt 1.4142135624

Analysis

Symbolische Ableitungen

differentiate(expression, name), auch derivative(expression, name) geschrieben, liefert die Ableitung als Text.

  • Sie verwendet Summen-, Produkt-, Quotienten-, Potenz- und Kettenregel für reelle Arithmetik ohne Einheiten sowie sin, cos, tan, sinh, cosh, exp, ln und sqrt.
  • Andere Namen im Ausdruck werden als Konstanten behandelt, egal ob sie in der Notiz einen Wert haben: differentiate(a*x^2, x) ergibt (a*(2*(x^(2-1)))).
  • Das Ergebnis wird nicht vereinfacht und ist auf 8192 Zeichen begrenzt.
  • Andere Funktionen wie abs sind Fehler; verwende für sie eine Ableitung an einer Stelle. Dies ist kein vollständiges Computeralgebrasystem.
  • Die Ableitung hat dieselben Einschränkungen des Definitionsbereichs wie der ursprüngliche Ausdruck.
calc
differentiate(sin(x), x) ergibt cos(x)
differentiate(x^3, x) ergibt (3*(x^(3-1)))

Ableitungen an einer Stelle

derivative(expression, name, point) oder differentiate mit drei Argumenten berechnet die Steigung an einer Stelle numerisch. Dazu werden verfeinerte zentrale Differenzenquotienten verwendet und mit einseitigen Schätzungen abgeglichen. Der Ausdruck kann eigene Funktionen verwenden, muss aber in der Nähe der Stelle glatt sein und reelle Zahlen ohne Einheiten verwenden. Kommt die Schätzung nicht zur Ruhe oder ist ein Stützwert nicht definiert, zeigt die Zeile einen Fehler an.

Da die numerischen Formen eine Zahl berechnen, braucht jeder Name außer der Variablen einen Wert. Das gilt für Ableitungen an einer Stelle, sum, product, solve und integrate; ein Name ohne Wert zeigt Unsupported: Unknown name: gefolgt vom Namen an.

calc
derivative(x^3, x, 2) ergibt 12
f(x) = x^2
derivative(f(x), x, 3) ergibt 6
differentiate(a*x^2, x) ergibt (a*(2*(x^(2-1))))
derivative(a*x^2, x, 3) ergibt Unsupported: Unknown name: a

Bestimmte Integrale

integrate(expression, name, lower, upper) berechnet die Fläche unter dem Ausdruck zwischen zwei endlichen Grenzen.

  • Vertauschte Grenzen ändern das Vorzeichen des Ergebnisses, und gleiche Grenzen ergeben null.
  • Das Verfahren nutzt adaptive Gauß-Kronrod-Regeln mit 7 und 15 Stützstellen, die an ungleichmäßig verteilten Stellen abtasten. So lässt es sich von einer regelmäßigen Schwingung wie cos(128*pi*x) nicht täuschen: integrate(cos(128*pi*x), x, 0, 1) ergibt etwa -1.3e-15, also null im Rahmen der Rundung.
  • Es strebt eine geschätzte Gesamtabweichung von höchstens dem 1e-9-Fachen der Größe des Ergebnisses an (oder 1e-9 bei Ergebnissen kleiner als 1). Es vergleicht mindestens zwei Detailstufen, berücksichtigt Rundungsfehler und verfeinert zuerst den Abschnitt mit der größten geschätzten Abweichung.
  • Es stoppt nach 2048 Verfeinerungen, 20 Unterteilungsebenen oder den 100.000 Schritten, die es sich mit anderer höherer Mathematik in der Zeile teilt. Das Erreichen einer Grenze oder ein nicht definierter Stützwert ist ein Fehler.
  • Die Fehlerschätzung ist ein guter Anhaltspunkt, aber keine Garantie. Verwende glatte, endliche Ausdrücke. Ergebnisse für Ausdrücke mit Spitzen, Sprüngen oder schnellen Schwingungen können ungenau sein.
  • Unbestimmte Integrale und unendliche Grenzen werden nicht unterstützt.
calc
integrate(x^2, x, 0, 3) ergibt 9
integrate(x^2, x, 3, 0) ergibt -9

Argumente und Einheiten in Mathefunktionen

  • factorial ist ein anderer Name für fact, und trunc für int.
  • sign liefert -1, 0 oder 1. atan2(y, x) liefert einen Winkel im Bogenmaß als einfache Zahl.
  • Das optionale zweite Argument von round, floor und ceil ist eine Schrittweite, keine Anzahl von Nachkommastellen: round(17, 5) rundet auf das nächste Vielfache von 5. Wie du auf Nachkommastellen rundest, erfährst du unter Runden.
  • Logarithmen, Exponentialfunktionen und Hyperbelfunktionen akzeptieren keine Einheiten und keine Geldbeträge. Die normalen Winkelfunktionen akzeptieren Winkel wie 30°.
  • Quadrat- und Kubikwurzeln behalten Einheiten, wenn die Potenz glatt aufgeht, und Potenzen von Größen behalten ihre Einheiten. Temperaturen in Celsius oder Fahrenheit lassen sich weder quadrieren noch radizieren.
calc
gcd(12, 18) ergibt 6
round(17, 5) ergibt 15
sin(30°) ergibt 0.5
sqrt(9 m²) ergibt 3 m
(2 kg)^2 ergibt 4 kg²

Grenzen

Grenzen werden geprüft, bevor ein Ergebnis angezeigt wird:

  • 1024 Elemente in einer Liste oder einem range
  • Matrizen bis 32 × 32
  • 10.000 Terme in einer sum oder einem product
  • 16 Ebenen verschachtelter Listen und Funktionsaufrufe
  • 100.000 Schritte, die sich die gesamte höhere Mathematik einer Zeile teilt, verschachtelte Aufrufe eingeschlossen
  • 4096 Bit im Zähler oder Nenner eines Bruchs, wie überall in Varlig Calc

Wird eine Grenze erreicht, erscheint in dieser Zeile ein Fehler, und der Rest der Notiz funktioniert weiter. Eine Teilsumme, eine Inverse oder eine nicht konvergierte Nullstelle wird nie als Ergebnis ausgegeben. Alle Grenzen und Details zur Genauigkeit der Ergebnisse findest du unter Ergebnisse lesen: Anzeige und Genauigkeit.