Bedienung 01 Kernel wählen JavaScript und MATLAB / Octave laufen lokal; Python (Pyodide) und R (webR) brauchen einen Laufzeit-Download.02 An der Eingabeaufforderung tippen und Enter drücken. Shift+Enter fügt eine neue Zeile ein, ↑/↓ wandern durch die Historie, Ctrl/Cmd+L löscht. Eine unvollendete Anweisung — offene Klammer, MATLAB-Zeile mit ..., Python-Zeile mit : am Ende — verwandelt die Eingabeaufforderung in … und Enter setzt sie fort. 03 Für das Notebook zu Cells wechseln. Jede Zelle hat ihre eigene Kernel-Auswahl, sodass JavaScript- und Python-Zellen in einem Dokument stehen können; Ctrl+Enter führt eine Zelle aus, „Run above“ führt sie und die Zellen davor aus, „Run all“ geht die Liste durch. 04 Daten im Vars-Bereich bewegen. „Pull all“ kopiert Sitzungsvariablen in den Daten-Arbeitsbereich; „Push all“ injiziert sie in die Sitzung — die einzige Brücke zwischen den Sprachen. 05 Den Figures-Bereich prüfen. plot-Ausgaben von MATLAB und JavaScript werden als SVG oder PNG heruntergeladen; matplotlib-Abbildungen kommen als PNG-Bilder an.
Rechenbeispiel Lösen Sie ein System im MATLAB-Kernel und prüfen Sie es anschließend in JavaScript über den gemeinsamen Arbeitsbereich. Jede Ausgabe unten reproduziert sich aus derselben Eingabe.
Drücken Sie im Vars-Bereich Pull all : Der Arbeitsbereich erhält A (3×3-Matrix ) sowie b, x (3-Vektoren mit Vorschau 8 -11 -3 und 2 3 -1). Wechseln Sie zu JavaScript, drücken Sie Push all , und dieselben Werte sind in der Sitzung:
Das Residuum ist nicht null — die Lösung erfolgt in doppelter Genauigkeit, daher ist 8.8817841970013e-16 so nah, wie Gleitkomma herankommt.
#1 >> A = [2 1 -1; -3 -1 2; -2 1 2]; b = [8; -11; -3];
>> x = A\b
x =
2.0000
3.0000
-1.0000
>> norm(A*x - b)
ans = 8.8818e-16#2 > math.multiply(A, x)
[8, -11, -3]
> math.norm(math.subtract(math.multiply(A, x), b))
8.8817841970013e-16
Was die einzelnen Kernel sind
JavaScript läuft auf mathjs mit injizierten Projektbibliotheken (math, cas, stats, fin, logic, graph, latex, currency, date, family, print, ws, plot); kein Download; die Sitzung wird aus der Quelle neu aufgebaut (siehe die Stolperfalle).
MATLAB / Octave ist ein TypeScript-Interpreter für die gängige Teilmenge: spaltenweise Doubles, Cells, Strings, Kontrollfluss und etwa 120 eingebaute Funktionen, ohne Structs, Klassen, komplexe Zahlen, Sparse- oder Integer-Typen. Er läuft lokal unter einem Budget von 4 × 10⁷ Operationen oder 8 Sekunden.
Python (Pyodide 0.28.3) lädt bei der ersten Verwendung etwa 12 MB herunter; Importe lösen den Paketlader aus, matplotlib-Abbildungen kommen als erfasste PNGs zurück, und gezogene numpy-Arrays und pandas-DataFrames werden zu Matrix-/Vektor- und Tabellenvariablen.
R (webR 0.6.0) lädt etwa 30 MB herunter, behält webRs globales Basis-R-Umfeld zwischen Ausführungen bei und liefert keine Plots — verwenden Sie Text in R oder matplotlib in Python.
Grenzen, die man kennen sollte
Kein Abbruch. Der Code läuft synchron im Hauptthread — kein Ctrl+C oder Stopp-Button; teilen Sie lange Arbeit auf, und nur MATLAB hat ein internes Budget.
Sitzungen enden mit der Seite. Transkript, Historie und Notebook-Text überstehen ein Neuladen; Sitzungsvariablen nicht. Nur Arbeitsbereichsvariablen bleiben erhalten (je bis zu 20,000 Elemente) — der Vars-Bereich ist die Speichern-Taste.
Die erste Nutzung braucht das Netzwerk. Python und R werden von cdn.jsdelivr.net geladen; ein fehlgeschlagener Download bietet einen erneuten Versuch an, und ein erfolgreicher wird zwischengespeichert. Was es nicht tut. Es ist nicht MathWorks MATLAB und kein Paketmanager: keine Toolboxen, Simulink, Structs, komplexen oder Sparse-Typen; Python ist auf das Paketset von Pyodide beschränkt; R liefert keine Grafiken. Bringen Sie Daten über den Daten-Arbeitsbereich ; für Matrixarbeit ohne Code nutzen Sie die Mathematik-Werkzeuge , für Zusammenfassungen und Tests die Statistik , für einen einzelnen getippten Ausdruck den wissenschaftlichen Rechner .
Die JavaScript-Sitzung wird gescannt, nicht interpretiert Nur let/const/var-Deklarationen auf oberster Ebene und einfache Zuweisungen name = … werden erfasst. Zwei Konsequenzen überraschen fast alle:
Eine Variable, die zuerst in einem Block oder Funktionskörper erzeugt wird, gelangt nie in die Sitzung. Nach if (true) { let hidden = 41; } liest typeof hidden undefined — keine Fehlerzeile warnt Sie.
Ein Lauf, der eine Ausnahme auslöst, schreibt nichts zurück, sodass vor dem Fehler berechnete Variablen verloren gehen. Führen Sie let before = 1; throw new Error('boom') aus, lesen Sie den boom-Fehler und dann liest typeof before undefined ; ein let kept = 41 auf oberster Ebene beantwortet kept + 1 weiterhin mit 42 .
Python, R und MATLAB behalten Sitzungen nativ, daher gilt dies speziell für JavaScript.
Wofür es passt Eine Berechnung in einer zweiten Sprache gegenprüfen Lösen Sie in MATLAB und berechnen Sie das Residuum in JavaScript über den gemeinsamen Arbeitsbereich neu, wie oben: Zwei Implementierungen stimmen bis 8.8817841970013e-16 überein. Exportieren Sie das Notebook als JSON, um den Code zu behalten (Ergebnisse werden verworfen und eine erneute Ausführung reproduziert sie), oder exportieren Sie die Zellen einer Sprache als natives Skript (notebook.js, notebook.m, notebook.py, notebook.R).
Daten zwischen Sprachen bewegen Bereinigen Sie eine Tabelle in Python, holen Sie dann mit Pull all alles in den Arbeitsbereich und schieben Sie es mit Push all nach R oder MATLAB für den nächsten Schritt — oder behalten Sie die Variablen seitenübergreifend im Daten-Arbeitsbereich . Ein gezogener Vektor geht direkt in die Statistik für Zusammenfassungen und Tests.
Datenschutz Ihr Code, das Konsolentranskript und Ihre Variablen bleiben in Ihrem Browser; nur die Python- und R-Laufzeiten werden einmalig von cdn.jsdelivr.net geladen.
Quellen
Pyodide, Pyodide-Dokumentation , pyodide.org (访问日期:2026-10-01)— Python und wissenschaftliche Pakete in WebAssembly.
webR, webR-Dokumentation , docs.r-wasm.org (访问日期:2026-10-01)— R im Browser: Konsolen- und Sitzungssemantik.
MathWorks, mldivide, \ , mathworks.com (访问日期:2026-10-01)— der Backslash-Operator löst quadratische lineare Systeme.
MDN Web Docs, let , developer.mozilla.org (访问日期:2026-10-01)— Blockscope hinter der Sitzungsfalle.
mathjs, Dokumentation , mathjs.org (访问日期:2026-10-01)— die in JavaScript-Läufe injizierte Bibliothek.
R Core Team, An Introduction to R , cran.r-project.org (访问日期:2026-10-01)— Basis-R-Objekte und -Sitzungen.
本页计算器
精选工具,点开即用;小工具可直接试算,数值会带入完整计算器。