6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 2 "cells": [
3 {
4 "cell_type": "markdown",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 5 "id": "in-0",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 6 "metadata": {},
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 7 "source": "# numbl in the browser\n\nThis is **numbl** running as a JupyterLite kernel: MATLAB-syntax numerical\ncomputing that executes entirely in your browser tab. There is no server, no\nkernel process, and nothing to install.\n\nRun each cell with **Shift+Enter**. Variables persist from one cell to the\nnext, just like a MATLAB session."
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 10 "cell_type": "markdown",
11 "id": "in-1",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 12 "metadata": {},
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 13 "source": "## Compute with matrices"
15 {
16 "cell_type": "code",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 17 "id": "in-2",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 18 "metadata": {},
19 "execution_count": null,
20 "outputs": [],
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 21 "source": "A = magic(4)\nb = (1:4)';\nx = A \\ b;\nfprintf('solved a 4x4 system, residual = %.2e\\n', norm(A * x - b));"
23 {
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 24 "cell_type": "markdown",
25 "id": "in-3",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 26 "metadata": {},
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 27 "source": "## Plot, right in the notebook"
29 {
30 "cell_type": "code",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 31 "id": "in-4",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 32 "metadata": {},
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 33 "execution_count": null,
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 34 "outputs": [],
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 35 "source": "x = linspace(0, 2 * pi, 400);\nplot(x, sin(x), 'b-');\nhold on;\nplot(x, sin(2 * x), 'r--');\nhold off;\nlegend('sin(x)', 'sin(2x)');\ntitle('plotting works client-side');\nxlabel('x'); ylabel('y');"
37 {
38 "cell_type": "markdown",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 39 "id": "in-5",
40 "metadata": {},
41 "source": "## 3-D figures are interactive (drag to rotate)"
43 {
44 "cell_type": "code",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 45 "id": "in-6",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 46 "metadata": {},
47 "execution_count": null,
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 48 "outputs": [],
49 "source": "surf(peaks(40));\ntitle('peaks');"
51 {
52 "cell_type": "markdown",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 53 "id": "in-7",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 54 "metadata": {},
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 55 "source": "## What's in this demo\n\nA guided tour of the language:\n\n1. [Data types and operators](./02-data-types-and-operators.ipynb)\n2. [Matrices and indexing](./03-matrices-and-indexing.ipynb)\n3. [Control flow and functions](./04-control-flow-and-functions.ipynb)\n4. [Linear algebra](./05-linear-algebra.ipynb)\n5. [Data structures and strings](./06-data-structures-and-strings.ipynb)\n6. [Numerical methods](./07-numerical-methods.ipynb)\n7. [Plotting gallery](./08-plotting.ipynb)\n\nAdvanced MATLAB features:\n\n8. [Classes and object-oriented programming](./09-classes-and-oop.ipynb)\n9. [Namespaces and packages](./10-namespaces-and-packages.ipynb)\n\nAnd finally:\n\n10. [Installing packages with mip](./11-mip-packages.ipynb)"
57 ],
58 "metadata": {
59 "kernelspec": {
f44f6a3Rebrand numbl-first: this runs numbl (which uses MATLAB syntax)Jeremy Magland 60 "display_name": "numbl (MATLAB syntax)",
61 "language": "numbl",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 62 "name": "numbl"
63 },
64 "language_info": {
65 "codemirror_mode": "octave",
66 "file_extension": ".m",
67 "mimetype": "text/x-octave",
f44f6a3Rebrand numbl-first: this runs numbl (which uses MATLAB syntax)Jeremy Magland 68 "name": "numbl",
9ff4e5bRestructure demo into a full guided tour with OOP and namespacesJeremy Magland 69 "nbconvert_exporter": "script",
6b31a9aSync .m workspace files from the notebook directory into the sessionJeremy Magland 70 "pygments_lexer": "matlab"
71 }
72 },
73 "nbformat": 4,
74 "nbformat_minor": 5