runmat 0.4.3-rc.2 → 0.4.4-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/stdlib.snapshot +0 -0
- package/dist/builtins.d.ts +12 -0
- package/dist/builtins.d.ts.map +1 -1
- package/dist/builtins.js.map +1 -1
- package/dist/generated/builtin-examples-catalog.d.ts.map +1 -1
- package/dist/generated/builtin-examples-catalog.js +1 -1
- package/dist/generated/builtin-examples-catalog.js.map +1 -1
- package/dist/generated/builtins/area.d.ts.map +1 -1
- package/dist/generated/builtins/area.js +36 -0
- package/dist/generated/builtins/area.js.map +1 -1
- package/dist/generated/builtins/axis.d.ts.map +1 -1
- package/dist/generated/builtins/axis.js +30 -0
- package/dist/generated/builtins/axis.js.map +1 -1
- package/dist/generated/builtins/bar.d.ts.map +1 -1
- package/dist/generated/builtins/bar.js +36 -0
- package/dist/generated/builtins/bar.js.map +1 -1
- package/dist/generated/builtins/box.d.ts.map +1 -1
- package/dist/generated/builtins/box.js +26 -0
- package/dist/generated/builtins/box.js.map +1 -1
- package/dist/generated/builtins/cellfun.d.ts.map +1 -1
- package/dist/generated/builtins/cellfun.js +20 -0
- package/dist/generated/builtins/cellfun.js.map +1 -1
- package/dist/generated/builtins/chol.d.ts.map +1 -1
- package/dist/generated/builtins/chol.js +32 -0
- package/dist/generated/builtins/chol.js.map +1 -1
- package/dist/generated/builtins/colorbar.d.ts.map +1 -1
- package/dist/generated/builtins/colorbar.js +30 -0
- package/dist/generated/builtins/colorbar.js.map +1 -1
- package/dist/generated/builtins/colormap.d.ts.map +1 -1
- package/dist/generated/builtins/colormap.js +30 -0
- package/dist/generated/builtins/colormap.js.map +1 -1
- package/dist/generated/builtins/containers.Map.d.ts.map +1 -1
- package/dist/generated/builtins/containers.Map.js +29 -0
- package/dist/generated/builtins/containers.Map.js.map +1 -1
- package/dist/generated/builtins/contour.d.ts.map +1 -1
- package/dist/generated/builtins/contour.js +36 -0
- package/dist/generated/builtins/contour.js.map +1 -1
- package/dist/generated/builtins/contourf.d.ts.map +1 -1
- package/dist/generated/builtins/contourf.js +36 -0
- package/dist/generated/builtins/contourf.js.map +1 -1
- package/dist/generated/builtins/conv2.d.ts.map +1 -1
- package/dist/generated/builtins/conv2.js +36 -0
- package/dist/generated/builtins/conv2.js.map +1 -1
- package/dist/generated/builtins/cross.d.ts +4 -0
- package/dist/generated/builtins/cross.d.ts.map +1 -0
- package/dist/generated/builtins/cross.js +131 -0
- package/dist/generated/builtins/cross.js.map +1 -0
- package/dist/generated/builtins/cumtrapz.d.ts +4 -0
- package/dist/generated/builtins/cumtrapz.d.ts.map +1 -0
- package/dist/generated/builtins/cumtrapz.js +125 -0
- package/dist/generated/builtins/cumtrapz.js.map +1 -0
- package/dist/generated/builtins/datetime.js +1 -1
- package/dist/generated/builtins/datetime.js.map +1 -1
- package/dist/generated/builtins/eig.d.ts.map +1 -1
- package/dist/generated/builtins/eig.js +42 -0
- package/dist/generated/builtins/eig.js.map +1 -1
- package/dist/generated/builtins/errorbar.d.ts.map +1 -1
- package/dist/generated/builtins/errorbar.js +36 -0
- package/dist/generated/builtins/errorbar.js.map +1 -1
- package/dist/generated/builtins/exist.d.ts.map +1 -1
- package/dist/generated/builtins/exist.js +25 -1
- package/dist/generated/builtins/exist.js.map +1 -1
- package/dist/generated/builtins/fgets.d.ts.map +1 -1
- package/dist/generated/builtins/fgets.js +24 -0
- package/dist/generated/builtins/fgets.js.map +1 -1
- package/dist/generated/builtins/flipud.d.ts.map +1 -1
- package/dist/generated/builtins/flipud.js +23 -0
- package/dist/generated/builtins/flipud.js.map +1 -1
- package/dist/generated/builtins/fopen.d.ts.map +1 -1
- package/dist/generated/builtins/fopen.js +26 -0
- package/dist/generated/builtins/fopen.js.map +1 -1
- package/dist/generated/builtins/get.d.ts.map +1 -1
- package/dist/generated/builtins/get.js +30 -0
- package/dist/generated/builtins/get.js.map +1 -1
- package/dist/generated/builtins/getfield.js +1 -1
- package/dist/generated/builtins/getfield.js.map +1 -1
- package/dist/generated/builtins/gradient.d.ts +4 -0
- package/dist/generated/builtins/gradient.d.ts.map +1 -0
- package/dist/generated/builtins/gradient.js +129 -0
- package/dist/generated/builtins/gradient.js.map +1 -0
- package/dist/generated/builtins/grid.d.ts.map +1 -1
- package/dist/generated/builtins/grid.js +30 -0
- package/dist/generated/builtins/grid.js.map +1 -1
- package/dist/generated/builtins/hist.d.ts.map +1 -1
- package/dist/generated/builtins/hist.js +26 -0
- package/dist/generated/builtins/hist.js.map +1 -1
- package/dist/generated/builtins/histcounts2.d.ts.map +1 -1
- package/dist/generated/builtins/histcounts2.js +25 -0
- package/dist/generated/builtins/histcounts2.js.map +1 -1
- package/dist/generated/builtins/histogram.d.ts.map +1 -1
- package/dist/generated/builtins/histogram.js +36 -0
- package/dist/generated/builtins/histogram.js.map +1 -1
- package/dist/generated/builtins/image.d.ts.map +1 -1
- package/dist/generated/builtins/image.js +30 -0
- package/dist/generated/builtins/image.js.map +1 -1
- package/dist/generated/builtins/imagesc.d.ts.map +1 -1
- package/dist/generated/builtins/imagesc.js +36 -0
- package/dist/generated/builtins/imagesc.js.map +1 -1
- package/dist/generated/builtins/isfield.js +1 -1
- package/dist/generated/builtins/isfield.js.map +1 -1
- package/dist/generated/builtins/isnan.d.ts.map +1 -1
- package/dist/generated/builtins/isnan.js +23 -0
- package/dist/generated/builtins/isnan.js.map +1 -1
- package/dist/generated/builtins/join.js +2 -2
- package/dist/generated/builtins/join.js.map +1 -1
- package/dist/generated/builtins/legend.d.ts.map +1 -1
- package/dist/generated/builtins/legend.js +30 -0
- package/dist/generated/builtins/legend.js.map +1 -1
- package/dist/generated/builtins/log1p.d.ts.map +1 -1
- package/dist/generated/builtins/log1p.js +23 -0
- package/dist/generated/builtins/log1p.js.map +1 -1
- package/dist/generated/builtins/loglog.d.ts.map +1 -1
- package/dist/generated/builtins/loglog.js +30 -0
- package/dist/generated/builtins/loglog.js.map +1 -1
- package/dist/generated/builtins/mesh.d.ts.map +1 -1
- package/dist/generated/builtins/mesh.js +36 -0
- package/dist/generated/builtins/mesh.js.map +1 -1
- package/dist/generated/builtins/meshc.d.ts.map +1 -1
- package/dist/generated/builtins/meshc.js +30 -0
- package/dist/generated/builtins/meshc.js.map +1 -1
- package/dist/generated/builtins/num2str.d.ts.map +1 -1
- package/dist/generated/builtins/num2str.js +24 -0
- package/dist/generated/builtins/num2str.js.map +1 -1
- package/dist/generated/builtins/numel.d.ts.map +1 -1
- package/dist/generated/builtins/numel.js +19 -0
- package/dist/generated/builtins/numel.js.map +1 -1
- package/dist/generated/builtins/pie.d.ts.map +1 -1
- package/dist/generated/builtins/pie.js +36 -0
- package/dist/generated/builtins/pie.js.map +1 -1
- package/dist/generated/builtins/plot.d.ts.map +1 -1
- package/dist/generated/builtins/plot.js +36 -0
- package/dist/generated/builtins/plot.js.map +1 -1
- package/dist/generated/builtins/plot3.d.ts.map +1 -1
- package/dist/generated/builtins/plot3.js +30 -0
- package/dist/generated/builtins/plot3.js.map +1 -1
- package/dist/generated/builtins/polyder.js +1 -1
- package/dist/generated/builtins/polyder.js.map +1 -1
- package/dist/generated/builtins/polyval.d.ts.map +1 -1
- package/dist/generated/builtins/polyval.js +37 -0
- package/dist/generated/builtins/polyval.js.map +1 -1
- package/dist/generated/builtins/quiver.d.ts.map +1 -1
- package/dist/generated/builtins/quiver.js +36 -0
- package/dist/generated/builtins/quiver.js.map +1 -1
- package/dist/generated/builtins/readmatrix.d.ts.map +1 -1
- package/dist/generated/builtins/readmatrix.js +24 -0
- package/dist/generated/builtins/readmatrix.js.map +1 -1
- package/dist/generated/builtins/replace.js +2 -2
- package/dist/generated/builtins/replace.js.map +1 -1
- package/dist/generated/builtins/round.d.ts.map +1 -1
- package/dist/generated/builtins/round.js +20 -0
- package/dist/generated/builtins/round.js.map +1 -1
- package/dist/generated/builtins/scatter.d.ts.map +1 -1
- package/dist/generated/builtins/scatter.js +30 -0
- package/dist/generated/builtins/scatter.js.map +1 -1
- package/dist/generated/builtins/scatter3.d.ts.map +1 -1
- package/dist/generated/builtins/scatter3.js +36 -0
- package/dist/generated/builtins/scatter3.js.map +1 -1
- package/dist/generated/builtins/semilogx.d.ts.map +1 -1
- package/dist/generated/builtins/semilogx.js +30 -0
- package/dist/generated/builtins/semilogx.js.map +1 -1
- package/dist/generated/builtins/semilogy.d.ts.map +1 -1
- package/dist/generated/builtins/semilogy.js +30 -0
- package/dist/generated/builtins/semilogy.js.map +1 -1
- package/dist/generated/builtins/set.d.ts.map +1 -1
- package/dist/generated/builtins/set.js +30 -0
- package/dist/generated/builtins/set.js.map +1 -1
- package/dist/generated/builtins/setfield.js +1 -1
- package/dist/generated/builtins/setfield.js.map +1 -1
- package/dist/generated/builtins/sgtitle.d.ts +4 -0
- package/dist/generated/builtins/sgtitle.d.ts.map +1 -0
- package/dist/generated/builtins/sgtitle.js +99 -0
- package/dist/generated/builtins/sgtitle.js.map +1 -0
- package/dist/generated/builtins/shading.d.ts.map +1 -1
- package/dist/generated/builtins/shading.js +30 -0
- package/dist/generated/builtins/shading.js.map +1 -1
- package/dist/generated/builtins/sortrows.d.ts.map +1 -1
- package/dist/generated/builtins/sortrows.js +20 -0
- package/dist/generated/builtins/sortrows.js.map +1 -1
- package/dist/generated/builtins/split.js +2 -2
- package/dist/generated/builtins/split.js.map +1 -1
- package/dist/generated/builtins/stairs.d.ts.map +1 -1
- package/dist/generated/builtins/stairs.js +36 -0
- package/dist/generated/builtins/stairs.js.map +1 -1
- package/dist/generated/builtins/std.d.ts.map +1 -1
- package/dist/generated/builtins/std.js +37 -0
- package/dist/generated/builtins/std.js.map +1 -1
- package/dist/generated/builtins/stem.d.ts.map +1 -1
- package/dist/generated/builtins/stem.js +36 -0
- package/dist/generated/builtins/stem.js.map +1 -1
- package/dist/generated/builtins/strcat.js +2 -2
- package/dist/generated/builtins/strcat.js.map +1 -1
- package/dist/generated/builtins/strcmpi.d.ts.map +1 -1
- package/dist/generated/builtins/strcmpi.js +24 -0
- package/dist/generated/builtins/strcmpi.js.map +1 -1
- package/dist/generated/builtins/subplot.d.ts.map +1 -1
- package/dist/generated/builtins/subplot.js +30 -0
- package/dist/generated/builtins/subplot.js.map +1 -1
- package/dist/generated/builtins/surf.d.ts.map +1 -1
- package/dist/generated/builtins/surf.js +36 -0
- package/dist/generated/builtins/surf.js.map +1 -1
- package/dist/generated/builtins/surfc.d.ts.map +1 -1
- package/dist/generated/builtins/surfc.js +30 -0
- package/dist/generated/builtins/surfc.js.map +1 -1
- package/dist/generated/builtins/trapz.d.ts +4 -0
- package/dist/generated/builtins/trapz.d.ts.map +1 -0
- package/dist/generated/builtins/trapz.js +129 -0
- package/dist/generated/builtins/trapz.js.map +1 -0
- package/dist/generated/builtins/view.d.ts.map +1 -1
- package/dist/generated/builtins/view.js +30 -0
- package/dist/generated/builtins/view.js.map +1 -1
- package/dist/generated/builtins/zlabel.d.ts.map +1 -1
- package/dist/generated/builtins/zlabel.js +30 -0
- package/dist/generated/builtins/zlabel.js.map +1 -1
- package/dist/generated/builtins-manifest.d.ts.map +1 -1
- package/dist/generated/builtins-manifest.js +115 -15
- package/dist/generated/builtins-manifest.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lsp/runmat_lsp.d.ts +2 -2
- package/dist/lsp/runmat_lsp.js +4 -4
- package/dist/lsp/runmat_lsp_bg.wasm +0 -0
- package/dist/lsp/runmat_lsp_bg.wasm.d.ts +2 -2
- package/dist/pkg-web/runmat_wasm_web.d.ts +21 -24
- package/dist/pkg-web/runmat_wasm_web.js +94 -96
- package/dist/pkg-web/runmat_wasm_web_bg.wasm +0 -0
- package/dist/pkg-web/runmat_wasm_web_bg.wasm.d.ts +13 -13
- package/dist/runtime/stdlib.snapshot +0 -0
- package/package.json +1 -1
|
@@ -37,6 +37,20 @@ const builtinDoc = {
|
|
|
37
37
|
"output": "% Both axes report 'log'"
|
|
38
38
|
}
|
|
39
39
|
],
|
|
40
|
+
"faqs": [
|
|
41
|
+
{
|
|
42
|
+
"question": "Why do power-law relationships appear as straight lines on a log-log plot?",
|
|
43
|
+
"answer": "Taking the log of both sides of `y = a * x^b` gives `log(y) = log(a) + b * log(x)`, which is linear in log-space. The slope of the line equals the exponent `b`, and the y-intercept gives `log(a)`. That's why log-log is the standard way to identify and compare power laws."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"question": "How is loglog different from semilogx or semilogy?",
|
|
47
|
+
"answer": "`semilogx` only logs the x-axis (linear y), `semilogy` only logs the y-axis (linear x), and `loglog` logs both. Use `loglog` when both dimensions span orders of magnitude — spectrum plots, scaling benchmarks, fractal dimension analysis."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"question": "Can I mix loglog with other scale modes in a subplot layout?",
|
|
51
|
+
"answer": "Yes. Axes scale state is subplot-local, so `loglog` in one panel doesn't affect neighbors.\n\n```matlab\nsubplot(1, 2, 1);\nloglog(x, x.^(-2));\nsubplot(1, 2, 2);\nplot(x, x.^(-2)); % linear axes here\n```"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
40
54
|
"links": [
|
|
41
55
|
{
|
|
42
56
|
"label": "plot",
|
|
@@ -53,6 +67,22 @@ const builtinDoc = {
|
|
|
53
67
|
{
|
|
54
68
|
"label": "axis",
|
|
55
69
|
"url": "./axis"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"label": "Choosing the right plot type",
|
|
73
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"label": "Styling plots and axes",
|
|
77
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"label": "Plot replay and export",
|
|
81
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"label": "Complete plotting guide",
|
|
85
|
+
"url": "/blog/matlab-plotting-guide"
|
|
56
86
|
}
|
|
57
87
|
],
|
|
58
88
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loglog.js","sourceRoot":"","sources":["../../../src/generated/builtins/loglog.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,QAAQ;QACR,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,kBAAkB;KACnB;IACD,SAAS,EAAE,0GAA0G;IACrH,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,mCAAmC;KAC5C;IACD,aAAa,EAAE,6QAA6Q;IAC5R,WAAW,EAAE;QACX,8CAA8C;QAC9C,iEAAiE;QACjE,yCAAyC;QACzC,2EAA2E;KAC5E;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,4CAA4C;YAC3D,OAAO,EAAE,iDAAiD;SAC3D;QACD;YACE,aAAa,EAAE,+BAA+B;YAC9C,OAAO,EAAE,uKAAuK;SACjL;QACD;YACE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,gHAAgH;YACzH,QAAQ,EAAE,0BAA0B;SACrC;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,0GAA0G;KAClH;IACD,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"loglog.js","sourceRoot":"","sources":["../../../src/generated/builtins/loglog.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,QAAQ;QACR,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,kBAAkB;KACnB;IACD,SAAS,EAAE,0GAA0G;IACrH,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,mCAAmC;KAC5C;IACD,aAAa,EAAE,6QAA6Q;IAC5R,WAAW,EAAE;QACX,8CAA8C;QAC9C,iEAAiE;QACjE,yCAAyC;QACzC,2EAA2E;KAC5E;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,4CAA4C;YAC3D,OAAO,EAAE,iDAAiD;SAC3D;QACD;YACE,aAAa,EAAE,+BAA+B;YAC9C,OAAO,EAAE,uKAAuK;SACjL;QACD;YACE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,gHAAgH;YACzH,QAAQ,EAAE,0BAA0B;SACrC;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,4EAA4E;YACxF,QAAQ,EAAE,iRAAiR;SAC5R;QACD;YACE,UAAU,EAAE,oDAAoD;YAChE,QAAQ,EAAE,8OAA8O;SACzP;QACD;YACE,UAAU,EAAE,8DAA8D;YAC1E,QAAQ,EAAE,+MAA+M;SAC1N;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,0GAA0G;KAClH;IACD,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/mesh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/mesh.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAyHjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -11,6 +11,7 @@ const builtinDoc = {
|
|
|
11
11
|
"3-D grid visualization"
|
|
12
12
|
],
|
|
13
13
|
"summary": "Create wireframe surface plots for grids, height fields, and MATLAB `mesh` style visualization.",
|
|
14
|
+
"hero_image": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-mesh-hyperbolic-paraboloid.webp",
|
|
14
15
|
"gpu_support": {
|
|
15
16
|
"elementwise": false,
|
|
16
17
|
"reduction": false,
|
|
@@ -52,6 +53,25 @@ const builtinDoc = {
|
|
|
52
53
|
"description": "Inspect the returned surface handle from mesh",
|
|
53
54
|
"input": "[X, Y] = meshgrid(1:20, 1:20);\nZ = X + Y;\nh = mesh(X, Y, Z);\nget(h, 'Type')",
|
|
54
55
|
"output": "ans =\n 'surface'"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"description": "Saddle surface showing grid structure",
|
|
59
|
+
"input": "[X, Y] = meshgrid(linspace(-3, 3, 60), linspace(-3, 3, 60));\nZ = X.^2 - Y.^2;\n\nmesh(X, Y, Z);\ncolormap('jet');\ncolorbar;\ntitle('Hyperbolic Paraboloid');\nxlabel('x');\nylabel('y');\nzlabel('z = x^2 - y^2');\nview(40, 30);",
|
|
60
|
+
"image_webp": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-mesh-hyperbolic-paraboloid.webp"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"faqs": [
|
|
64
|
+
{
|
|
65
|
+
"question": "Can I get a filled surface instead of wireframe?",
|
|
66
|
+
"answer": "That's what `surf` is for. `mesh` draws only the grid lines with transparent faces, while `surf` fills the faces with colormap-derived colors. If you want the wireframe look but with partial fill, there's no built-in blend — use `surf` with a low alpha or switch to `mesh` and accept the wireframe."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"question": "How do I combine a mesh with contour lines underneath?",
|
|
70
|
+
"answer": "Use `meshc` instead of `mesh`. It draws the same wireframe surface but projects contour lines onto the base plane automatically.\n\n```matlab\n[X, Y] = meshgrid(linspace(-2, 2, 50));\nZ = sin(X.^2 + Y.^2);\nmeshc(X, Y, Z);\n```"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"question": "Can I control transparency on a mesh plot?",
|
|
74
|
+
"answer": "Mesh plots don't have filled faces to make transparent — the faces are already open. If you need a semi-transparent surface, use `surf` and set the `FaceAlpha` property on the returned handle. The wireframe edges on `mesh` are always fully opaque."
|
|
55
75
|
}
|
|
56
76
|
],
|
|
57
77
|
"links": [
|
|
@@ -74,6 +94,22 @@ const builtinDoc = {
|
|
|
74
94
|
{
|
|
75
95
|
"label": "colormap",
|
|
76
96
|
"url": "./colormap"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"label": "Choosing the right plot type",
|
|
100
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"label": "Styling plots and axes",
|
|
104
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"label": "Plot replay and export",
|
|
108
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"label": "Complete plotting guide",
|
|
112
|
+
"url": "/blog/matlab-plotting-guide"
|
|
77
113
|
}
|
|
78
114
|
],
|
|
79
115
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../../src/generated/builtins/mesh.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,MAAM;QACN,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;QACb,wBAAwB;KACzB;IACD,SAAS,EAAE,iGAAiG;IAC5G,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,wFAAwF;KAClG;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,iCAAiC;KAC1C;IACD,aAAa,EAAE,8SAA8S;IAC7T,WAAW,EAAE;QACX,gHAAgH;QAChH,gHAAgH;QAChH,kHAAkH;QAClH,8JAA8J;QAC9J,mGAAmG;KACpG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,6CAA6C;YAC5D,OAAO,EAAE,qGAAqG;SAC/G;QACD;YACE,aAAa,EAAE,yDAAyD;YACxE,OAAO,EAAE,+KAA+K;SACzL;QACD;YACE,aAAa,EAAE,+CAA+C;YAC9D,OAAO,EAAE,gFAAgF;YACzF,QAAQ,EAAE,sBAAsB;SACjC;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,wGAAwG;KAChH;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../../src/generated/builtins/mesh.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,MAAM;QACN,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;QACb,wBAAwB;KACzB;IACD,SAAS,EAAE,iGAAiG;IAC5G,YAAY,EAAE,+FAA+F;IAC7G,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,wFAAwF;KAClG;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,iCAAiC;KAC1C;IACD,aAAa,EAAE,8SAA8S;IAC7T,WAAW,EAAE;QACX,gHAAgH;QAChH,gHAAgH;QAChH,kHAAkH;QAClH,8JAA8J;QAC9J,mGAAmG;KACpG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,6CAA6C;YAC5D,OAAO,EAAE,qGAAqG;SAC/G;QACD;YACE,aAAa,EAAE,yDAAyD;YACxE,OAAO,EAAE,+KAA+K;SACzL;QACD;YACE,aAAa,EAAE,+CAA+C;YAC9D,OAAO,EAAE,gFAAgF;YACzF,QAAQ,EAAE,sBAAsB;SACjC;QACD;YACE,aAAa,EAAE,uCAAuC;YACtD,OAAO,EAAE,qOAAqO;YAC9O,YAAY,EAAE,+FAA+F;SAC9G;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,kDAAkD;YAC9D,QAAQ,EAAE,4SAA4S;SACvT;QACD;YACE,UAAU,EAAE,wDAAwD;YACpE,QAAQ,EAAE,qOAAqO;SAChP;QACD;YACE,UAAU,EAAE,4CAA4C;YACxD,QAAQ,EAAE,yPAAyP;SACpQ;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,wGAAwG;KAChH;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshc.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/meshc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"meshc.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/meshc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAmHjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -54,6 +54,20 @@ const builtinDoc = {
|
|
|
54
54
|
"output": "ans =\n 'surface'"
|
|
55
55
|
}
|
|
56
56
|
],
|
|
57
|
+
"faqs": [
|
|
58
|
+
{
|
|
59
|
+
"question": "Where does the contour overlay appear in a meshc plot?",
|
|
60
|
+
"answer": "The contour lines are projected onto the base plane beneath the wireframe, at the z-minimum of the axes. This gives you a top-down height map below the 3-D wireframe so you can read both the grid structure and the level sets at the same time."
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"question": "What's the difference between meshc and mesh?",
|
|
64
|
+
"answer": "`mesh` draws only the wireframe surface. `meshc` draws the same wireframe plus contour lines projected onto the base plane underneath. If you don't need the contour overlay, use `mesh` — it's the same surface rendering with less visual clutter."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"question": "Should I use meshc or surfc?",
|
|
68
|
+
"answer": "Both add contour projections to the base plane. The difference is the surface itself: `meshc` uses a wireframe (transparent faces, grid lines only), while `surfc` uses a shaded, filled surface. Pick `meshc` when you want to see through the geometry, and `surfc` when you want a solid surface on top."
|
|
69
|
+
}
|
|
70
|
+
],
|
|
57
71
|
"links": [
|
|
58
72
|
{
|
|
59
73
|
"label": "mesh",
|
|
@@ -74,6 +88,22 @@ const builtinDoc = {
|
|
|
74
88
|
{
|
|
75
89
|
"label": "view",
|
|
76
90
|
"url": "./view"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "Choosing the right plot type",
|
|
94
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"label": "Styling plots and axes",
|
|
98
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"label": "Plot replay and export",
|
|
102
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"label": "Complete plotting guide",
|
|
106
|
+
"url": "/blog/matlab-plotting-guide"
|
|
77
107
|
}
|
|
78
108
|
],
|
|
79
109
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meshc.js","sourceRoot":"","sources":["../../../src/generated/builtins/meshc.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,OAAO;QACP,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,cAAc;KACf;IACD,SAAS,EAAE,oHAAoH;IAC/H,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,8IAA8I;KACxJ;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,kCAAkC;KAC3C;IACD,aAAa,EAAE,6QAA6Q;IAC5R,WAAW,EAAE;QACX,+FAA+F;QAC/F,yFAAyF;QACzF,gEAAgE;QAChE,2FAA2F;QAC3F,qGAAqG;KACtG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,kDAAkD;YACjE,OAAO,EAAE,sGAAsG;SAChH;QACD;YACE,aAAa,EAAE,2DAA2D;YAC1E,OAAO,EAAE,yIAAyI;SACnJ;QACD;YACE,aAAa,EAAE,6CAA6C;YAC5D,OAAO,EAAE,iFAAiF;YAC1F,QAAQ,EAAE,sBAAsB;SACjC;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"meshc.js","sourceRoot":"","sources":["../../../src/generated/builtins/meshc.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,OAAO;QACP,mBAAmB;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,cAAc;KACf;IACD,SAAS,EAAE,oHAAoH;IAC/H,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,8IAA8I;KACxJ;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,kCAAkC;KAC3C;IACD,aAAa,EAAE,6QAA6Q;IAC5R,WAAW,EAAE;QACX,+FAA+F;QAC/F,yFAAyF;QACzF,gEAAgE;QAChE,2FAA2F;QAC3F,qGAAqG;KACtG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,kDAAkD;YACjE,OAAO,EAAE,sGAAsG;SAChH;QACD;YACE,aAAa,EAAE,2DAA2D;YAC1E,OAAO,EAAE,yIAAyI;SACnJ;QACD;YACE,aAAa,EAAE,6CAA6C;YAC5D,OAAO,EAAE,iFAAiF;YAC1F,QAAQ,EAAE,sBAAsB;SACjC;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,wDAAwD;YACpE,QAAQ,EAAE,oPAAoP;SAC/P;QACD;YACE,UAAU,EAAE,+CAA+C;YAC3D,QAAQ,EAAE,sPAAsP;SACjQ;QACD;YACE,UAAU,EAAE,8BAA8B;YAC1C,QAAQ,EAAE,6SAA6S;SACxT;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"num2str.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/num2str.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"num2str.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/num2str.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA2LjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -102,6 +102,18 @@ const builtinDoc = {
|
|
|
102
102
|
{
|
|
103
103
|
"question": "What happens with non-numeric inputs?",
|
|
104
104
|
"answer": "Passing structs, objects, handles, or text raises a MATLAB-compatible error. Convert the data to numeric form first or use `string` for rich text conversions."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"question": "What is `num2str` in MATLAB?",
|
|
108
|
+
"answer": "— `num2str(A)` converts a numeric value `A` (scalar, vector, or matrix) into a MATLAB `char` array so you can display, concatenate, or log it as text. Each row of `A` becomes one row of text, and values are rendered in MATLAB's short `g` style by default. RunMat implements the same signature so MATLAB code that builds labels with `num2str` runs unchanged."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"question": "How do I control the format or precision of `num2str`?",
|
|
112
|
+
"answer": "— Pass either a precision (the number of significant digits) or an explicit printf-style format string as the second argument. For example, `num2str(pi, 8)` returns `'3.1415927'`, `num2str(pi, '%.3f')` returns `'3.142'`, and `num2str(1234.5, '%10.2e')` right-aligns the value in scientific notation. Width and the `+`, `-`, and `0` flags are all honoured."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"question": "How do I convert a number to a string with `num2str`?",
|
|
116
|
+
"answer": "— Call `s = num2str(A)`. The result is a `char` array (MATLAB's classical string). If you need a modern `string` scalar, wrap the result with `string(...)`; for a round-trippable MATLAB literal, use `mat2str`; for full printf-style control over multiple variables, reach for `sprintf`."
|
|
105
117
|
}
|
|
106
118
|
],
|
|
107
119
|
"links": [
|
|
@@ -157,6 +169,18 @@ const builtinDoc = {
|
|
|
157
169
|
"gpu_behavior": [
|
|
158
170
|
"When the input resides on the GPU, RunMat gathers the data back to host memory using the active RunMat Accelerate provider before applying the formatting logic. The formatted character array always lives on the CPU, so providers do not need to implement specialised kernels."
|
|
159
171
|
],
|
|
172
|
+
"syntax": {
|
|
173
|
+
"example": {
|
|
174
|
+
"description": "Syntax",
|
|
175
|
+
"input": "s = num2str(A)\ns = num2str(A, precision)\ns = num2str(A, format)"
|
|
176
|
+
},
|
|
177
|
+
"points": [
|
|
178
|
+
"`A` is the numeric input: scalar, vector, or matrix. Complex and logical values are accepted; each row of `A` becomes one row of output text.",
|
|
179
|
+
"`precision` is an integer giving the maximum number of significant digits (default `5`, matching MATLAB's short format). Values between `0` and `52` are accepted. Use it when you want concise output without hand-writing a printf string.",
|
|
180
|
+
"`format` is a single-value printf-style format specifier such as `'%10.2f'`, `'%.3e'`, or `'%.5g'`. Width and the `+`, `-`, and `0` flags are supported; more elaborate formats belong to `sprintf`.",
|
|
181
|
+
"Returns `s`, a MATLAB `char` array aligned so that every row is the same width. Wrap the result with `string(s)` if you need a modern `string` scalar instead."
|
|
182
|
+
]
|
|
183
|
+
},
|
|
160
184
|
"key": "num2str",
|
|
161
185
|
"slug": "num2str",
|
|
162
186
|
"categoryPath": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"num2str.js","sourceRoot":"","sources":["../../../src/generated/builtins/num2str.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"num2str.js","sourceRoot":"","sources":["../../../src/generated/builtins/num2str.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numel.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/numel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"numel.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/numel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAkLjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -106,6 +106,14 @@ const builtinDoc = {
|
|
|
106
106
|
{
|
|
107
107
|
"question": "Can I use numel with cell arrays and structs?",
|
|
108
108
|
"answer": "Yes. `numel` counts the number of cells in a cell array or the number of elements in a struct array. It does not recurse into cell contents or struct fields."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"question": "What is the difference between `numel` and `length`?",
|
|
112
|
+
"answer": "— `numel` counts every element across all dimensions, while `length` returns the size of the largest dimension. For example, `numel(rand(3,4,5))` returns `60`, but `length(rand(3,4,5))` returns `5` (the largest dim). Use `numel` whenever you want the total element count."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"question": "Should I use `numel` or `size` to count elements?",
|
|
116
|
+
"answer": "— Use `numel(A)` when you want the total number of elements (a single scalar). Use `size(A, dim)` when you need the length of a specific dimension, and `size(A)` when you need the full shape vector. `numel(A)` is equivalent to `prod(size(A))`."
|
|
109
117
|
}
|
|
110
118
|
],
|
|
111
119
|
"links": [
|
|
@@ -153,6 +161,17 @@ const builtinDoc = {
|
|
|
153
161
|
"gpu_behavior": [
|
|
154
162
|
"`numel` does not launch GPU kernels or register provider hooks. When the input is a GPU tensor, the runtime consults the shape metadata stored in the handle to compute the count. If the active provider omits this metadata, RunMat downloads the tensor once to recover the correct answer. The builtin always returns a host double scalar and never allocates device memory, so it can safely be used inside fused GPU expressions without breaking residency."
|
|
155
163
|
],
|
|
164
|
+
"syntax": {
|
|
165
|
+
"example": {
|
|
166
|
+
"description": "Syntax",
|
|
167
|
+
"input": "n = numel(A)\nn = numel(A, dim1, dim2, ...)"
|
|
168
|
+
},
|
|
169
|
+
"points": [
|
|
170
|
+
"`A` is the input array. Any class is accepted: numeric, logical, char, string, cell, struct, or table.",
|
|
171
|
+
"`dim1, dim2, ...` are optional positive-integer subscripts. When supplied, `numel` returns the number of elements of the selected submatrix, equivalent to `numel(A(index1, index2, ...))`. This form is rarely used and is included for MathWorks parity.",
|
|
172
|
+
"Returns `n`, a double-precision scalar giving the total element count (or the element count of the requested subregion)."
|
|
173
|
+
]
|
|
174
|
+
},
|
|
156
175
|
"key": "numel",
|
|
157
176
|
"slug": "numel",
|
|
158
177
|
"categoryPath": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numel.js","sourceRoot":"","sources":["../../../src/generated/builtins/numel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numel.js","sourceRoot":"","sources":["../../../src/generated/builtins/numel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/pie.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"pie.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/pie.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAiGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -11,6 +11,7 @@ const builtinDoc = {
|
|
|
11
11
|
"matlab pie"
|
|
12
12
|
],
|
|
13
13
|
"summary": "Create pie charts for part-to-whole comparisons, exploded slices, and MATLAB `pie` workflows.",
|
|
14
|
+
"hero_image": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-apie-budget.webp",
|
|
14
15
|
"requires_feature": null,
|
|
15
16
|
"tested": {
|
|
16
17
|
"unit": "builtins::plotting::pie::tests",
|
|
@@ -36,6 +37,25 @@ const builtinDoc = {
|
|
|
36
37
|
{
|
|
37
38
|
"description": "Use labels for slice names",
|
|
38
39
|
"input": "values = [5 3 2];\nlabels = {'compute', 'io', 'render'};\npie(values, labels);"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"description": "Budget allocation",
|
|
43
|
+
"input": "values = [35 25 20 12 8];\nlabels = {'Engineering', 'Marketing', 'Operations', 'R&D', 'Admin'};\nexplode = [1 0 0 0 0];\n\npie(values, explode);\ntitle('Annual Budget Allocation');\nlegend(labels);",
|
|
44
|
+
"image_webp": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-apie-budget.webp"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"faqs": [
|
|
48
|
+
{
|
|
49
|
+
"question": "How do I explode specific slices out of the pie?",
|
|
50
|
+
"answer": "Pass an explode vector the same length as your values. A `1` pulls that slice outward; a `0` keeps it flush.\n\n```matlab\npie([4 2 3 1], [0 1 0 0]);\n```\n\nThis explodes only the second slice. You can explode multiple slices by setting more entries to `1`."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "How do I add percentage labels to slices?",
|
|
54
|
+
"answer": "By default, `pie` displays percentage labels on each slice. To use custom labels instead, pass a cell array of strings as the second argument.\n\n```matlab\npie([5 3 2], {'compute 50%', 'io 30%', 'render 20%'});\n```\n\nIf you want no labels at all, pass empty strings for each slice."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "When should I use a pie chart vs a bar chart?",
|
|
58
|
+
"answer": "Pie charts work well when you have a small number of slices (2–5) and the point is to show each slice's share of a whole. Once you go beyond ~6 slices or need to compare absolute values across categories, `bar` is almost always clearer—humans are better at comparing lengths than angles. If two slices are close in size and the difference matters, use `bar`."
|
|
39
59
|
}
|
|
40
60
|
],
|
|
41
61
|
"links": [
|
|
@@ -50,6 +70,22 @@ const builtinDoc = {
|
|
|
50
70
|
{
|
|
51
71
|
"label": "legend",
|
|
52
72
|
"url": "./legend"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"label": "Choosing the right plot type",
|
|
76
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"label": "Styling plots and axes",
|
|
80
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"label": "Plot replay and export",
|
|
84
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"label": "Complete plotting guide",
|
|
88
|
+
"url": "/blog/matlab-plotting-guide"
|
|
53
89
|
}
|
|
54
90
|
],
|
|
55
91
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie.js","sourceRoot":"","sources":["../../../src/generated/builtins/pie.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,KAAK;QACL,WAAW;QACX,oBAAoB;QACpB,cAAc;QACd,YAAY;KACb;IACD,SAAS,EAAE,+FAA+F;IAC1G,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,qCAAqC;KACrD;IACD,aAAa,EAAE,oSAAoS;IACnT,WAAW,EAAE;QACX,mEAAmE;QACnE,8EAA8E;QAC9E,mIAAmI;QACnI,8GAA8G;QAC9G,iHAAiH;KAClH;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,0BAA0B;YACzC,OAAO,EAAE,eAAe;SACzB;QACD;YACE,aAAa,EAAE,8BAA8B;YAC7C,OAAO,EAAE,kEAAkE;SAC5E;QACD;YACE,aAAa,EAAE,4BAA4B;YAC3C,OAAO,EAAE,gFAAgF;SAC1F;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,aAAa;SACrB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,0DAA0D;QACnE,KAAK,EAAE,uGAAuG;KAC/G;IACD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"pie.js","sourceRoot":"","sources":["../../../src/generated/builtins/pie.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,KAAK;QACL,WAAW;QACX,oBAAoB;QACpB,cAAc;QACd,YAAY;KACb;IACD,SAAS,EAAE,+FAA+F;IAC1G,YAAY,EAAE,gFAAgF;IAC9F,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,qCAAqC;KACrD;IACD,aAAa,EAAE,oSAAoS;IACnT,WAAW,EAAE;QACX,mEAAmE;QACnE,8EAA8E;QAC9E,mIAAmI;QACnI,8GAA8G;QAC9G,iHAAiH;KAClH;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,0BAA0B;YACzC,OAAO,EAAE,eAAe;SACzB;QACD;YACE,aAAa,EAAE,8BAA8B;YAC7C,OAAO,EAAE,kEAAkE;SAC5E;QACD;YACE,aAAa,EAAE,4BAA4B;YAC3C,OAAO,EAAE,gFAAgF;SAC1F;QACD;YACE,aAAa,EAAE,mBAAmB;YAClC,OAAO,EAAE,uMAAuM;YAChN,YAAY,EAAE,gFAAgF;SAC/F;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,kDAAkD;YAC9D,QAAQ,EAAE,oQAAoQ;SAC/Q;QACD;YACE,UAAU,EAAE,2CAA2C;YACvD,QAAQ,EAAE,8RAA8R;SACzS;QACD;YACE,UAAU,EAAE,+CAA+C;YAC3D,QAAQ,EAAE,wWAAwW;SACnX;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,aAAa;SACrB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,0DAA0D;QACnE,KAAK,EAAE,uGAAuG;KAC/G;IACD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plot.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/plot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"plot.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/plot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA0JjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -13,6 +13,7 @@ const builtinDoc = {
|
|
|
13
13
|
"runmat plotting"
|
|
14
14
|
],
|
|
15
15
|
"summary": "Create 2-D line plots with handle-based styling, multi-series support, and MATLAB `plot(x, y)` semantics.",
|
|
16
|
+
"hero_image": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-damped-oscillation.webp",
|
|
16
17
|
"gpu_support": {
|
|
17
18
|
"elementwise": false,
|
|
18
19
|
"reduction": false,
|
|
@@ -68,6 +69,25 @@ const builtinDoc = {
|
|
|
68
69
|
"description": "Inspect and update a plotted line through handles",
|
|
69
70
|
"input": "x = 0:0.1:1;\nh = plot(x, x.^2);\nget(h, 'Type')\nset(h, 'Color', 'r', 'Marker', 'o', 'MarkerSize', 6);",
|
|
70
71
|
"output": "ans =\n 'line'"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"description": "Damped oscillation with envelope",
|
|
75
|
+
"input": "t = linspace(0, 4*pi, 500);\nenvelope = exp(-0.3*t);\nsignal = envelope .* sin(5*t);\n\nh1 = plot(t, signal);\nset(h1, 'DisplayName', 'Damped signal', 'LineWidth', 1.5);\nhold on;\nh2 = plot(t, envelope, '--');\nset(h2, 'DisplayName', 'Envelope', 'LineWidth', 1.5, 'Color', [0.85 0.33 0.1]);\nh3 = plot(t, -envelope, '--');\nset(h3, 'DisplayName', '-Envelope', 'LineWidth', 1.5, 'Color', [0.85 0.33 0.1]);\nhold off;\n\ntitle('Damped Oscillation');\nxlabel('Time (s)');\nylabel('Amplitude');\nlegend;\ngrid on;",
|
|
76
|
+
"image_webp": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-damped-oscillation.webp"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"faqs": [
|
|
80
|
+
{
|
|
81
|
+
"question": "How do I plot multiple series on the same axes?",
|
|
82
|
+
"answer": "Call `hold on` between `plot` calls. Each subsequent `plot` adds a new line to the current axes instead of replacing the previous one.\n\n```matlab\nx = linspace(0, 2*pi, 200);\nplot(x, sin(x));\nhold on;\nplot(x, cos(x));\nlegend('sin', 'cos');\n```\n\nYou can also pass multiple x/y pairs in a single `plot` call, e.g. `plot(x, sin(x), x, cos(x))`, though you lose per-series handle control that way."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"question": "What line styles and markers does plot accept?",
|
|
86
|
+
"answer": "Style strings combine a color code, a line style, and a marker in any order. Line styles: `'-'` (solid), `'--'` (dashed), `':'` (dotted), `'-.'` (dash-dot). Markers: `'o'`, `'x'`, `'+'`, `'*'`, `'s'` (square), `'d'` (diamond), `'^'`, `'v'`. Colors: `'r'`, `'g'`, `'b'`, `'k'`, `'m'`, `'c'`, `'y'`. For example, `plot(x, y, 'r--o')` draws a red dashed line with circle markers."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"question": "When should I use plot vs scatter?",
|
|
90
|
+
"answer": "`plot` draws connected lines between points and is the right choice for continuous data or time-series. `scatter` draws unconnected markers and supports per-point size and color encoding through `SizeData` and `CData`. If you just want a line chart, use `plot`. If you need to encode a third variable via marker size or color, use `scatter`."
|
|
71
91
|
}
|
|
72
92
|
],
|
|
73
93
|
"links": [
|
|
@@ -102,6 +122,22 @@ const builtinDoc = {
|
|
|
102
122
|
{
|
|
103
123
|
"label": "set",
|
|
104
124
|
"url": "./set"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"label": "Choosing the right plot type",
|
|
128
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"label": "Styling plots and axes",
|
|
132
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"label": "Plot replay and export",
|
|
136
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"label": "Complete plotting guide",
|
|
140
|
+
"url": "/blog/matlab-plotting-guide"
|
|
105
141
|
}
|
|
106
142
|
],
|
|
107
143
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plot.js","sourceRoot":"","sources":["../../../src/generated/builtins/plot.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,MAAM;QACN,WAAW;QACX,cAAc;QACd,UAAU;QACV,aAAa;QACb,cAAc;QACd,iBAAiB;KAClB;IACD,SAAS,EAAE,2GAA2G;IACtH,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,wJAAwJ;KAClK;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,iCAAiC;QACzC,aAAa,EAAE,qCAAqC;KACrD;IACD,aAAa,EAAE,4bAA4b;IAC3c,WAAW,EAAE;QACX,kFAAkF;QAClF,wGAAwG;QACxG,+JAA+J;QAC/J,wJAAwJ;QACxJ,iKAAiK;QACjK,uKAAuK;KACxK;IACD,SAAS,EAAE;QACT,qIAAqI;QACrI,gIAAgI;QAChI,wGAAwG;KACzG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,4CAA4C;YAC3D,OAAO,EAAE,2DAA2D;YACpE,QAAQ,EAAE,mDAAmD;SAC9D;QACD;YACE,aAAa,EAAE,mCAAmC;YAClD,OAAO,EAAE,wCAAwC;YACjD,QAAQ,EAAE,gDAAgD;SAC3D;QACD;YACE,aAAa,EAAE,gEAAgE;YAC/E,OAAO,EAAE,oLAAoL;YAC7L,QAAQ,EAAE,mDAAmD;SAC9D;QACD;YACE,aAAa,EAAE,mDAAmD;YAClE,OAAO,EAAE,yGAAyG;YAClH,QAAQ,EAAE,mBAAmB;SAC9B;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,wGAAwG;KAChH;IACD,eAAe,EAAE,4PAA4P;IAC7Q,cAAc,EAAE;QACd,yIAAyI;QACzI,yJAAyJ;KAC1J;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"plot.js","sourceRoot":"","sources":["../../../src/generated/builtins/plot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plot3.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/plot3.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"plot3.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/plot3.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAqHjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -55,6 +55,20 @@ const builtinDoc = {
|
|
|
55
55
|
"output": "ans =\n 'line'"
|
|
56
56
|
}
|
|
57
57
|
],
|
|
58
|
+
"faqs": [
|
|
59
|
+
{
|
|
60
|
+
"question": "How do I plot a 3-D trajectory from parametric equations?",
|
|
61
|
+
"answer": "Generate a parameter vector `t`, compute x(t), y(t), z(t), and pass all three to `plot3`. The line connects points in parameter order.\n\n```matlab\nt = linspace(0, 10*pi, 500);\nplot3(sin(t), cos(t), t);\nzlabel('z');\n```"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"question": "Can I overlay plot3 lines with scatter3 points?",
|
|
65
|
+
"answer": "Yes — use `hold on` between calls. Both `plot3` and `scatter3` share the same 3-D axes and camera state, so they compose directly.\n\n```matlab\nt = linspace(0, 4*pi, 200);\nplot3(cos(t), sin(t), t);\nhold on;\nscatter3(cos(t(1:20:end)), sin(t(1:20:end)), t(1:20:end));\n```"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"question": "How do I control the camera angle on a plot3 figure?",
|
|
69
|
+
"answer": "Call `view(az, el)` after plotting. `az` is the azimuth (horizontal rotation) and `el` is the elevation (vertical tilt), both in degrees. `view(3)` gives the default 3-D perspective. Camera state is subplot-local, so each subplot can have its own angle."
|
|
70
|
+
}
|
|
71
|
+
],
|
|
58
72
|
"links": [
|
|
59
73
|
{
|
|
60
74
|
"label": "scatter3",
|
|
@@ -71,6 +85,22 @@ const builtinDoc = {
|
|
|
71
85
|
{
|
|
72
86
|
"label": "legend",
|
|
73
87
|
"url": "./legend"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"label": "Choosing the right plot type",
|
|
91
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"label": "Styling plots and axes",
|
|
95
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"label": "Plot replay and export",
|
|
99
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"label": "Complete plotting guide",
|
|
103
|
+
"url": "/blog/matlab-plotting-guide"
|
|
74
104
|
}
|
|
75
105
|
],
|
|
76
106
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plot3.js","sourceRoot":"","sources":["../../../src/generated/builtins/plot3.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,OAAO;QACP,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,cAAc;KACf;IACD,SAAS,EAAE,6GAA6G;IACxH,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,oHAAoH;KAC9H;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,kCAAkC;KAC3C;IACD,aAAa,EAAE,kPAAkP;IACjQ,WAAW,EAAE;QACX,wEAAwE;QACxE,kGAAkG;QAClG,kHAAkH;QAClH,4GAA4G;QAC5G,8GAA8G;KAC/G;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,wDAAwD;SAClE;QACD;YACE,aAAa,EAAE,+CAA+C;YAC9D,OAAO,EAAE,yLAAyL;SACnM;QACD;YACE,aAAa,EAAE,8CAA8C;YAC7D,OAAO,EAAE,8GAA8G;YACvH,QAAQ,EAAE,mBAAmB;SAC9B;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,eAAe,EAAE,mMAAmM;IACpN,cAAc,EAAE;QACd,+HAA+H;QAC/H,sGAAsG;KACvG;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"plot3.js","sourceRoot":"","sources":["../../../src/generated/builtins/plot3.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,OAAO;QACP,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,cAAc;KACf;IACD,SAAS,EAAE,6GAA6G;IACxH,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,oHAAoH;KAC9H;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,kCAAkC;KAC3C;IACD,aAAa,EAAE,kPAAkP;IACjQ,WAAW,EAAE;QACX,wEAAwE;QACxE,kGAAkG;QAClG,kHAAkH;QAClH,4GAA4G;QAC5G,8GAA8G;KAC/G;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,wDAAwD;SAClE;QACD;YACE,aAAa,EAAE,+CAA+C;YAC9D,OAAO,EAAE,yLAAyL;SACnM;QACD;YACE,aAAa,EAAE,8CAA8C;YAC7D,OAAO,EAAE,8GAA8G;YACvH,QAAQ,EAAE,mBAAmB;SAC9B;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,2DAA2D;YACvE,QAAQ,EAAE,iOAAiO;SAC5O;QACD;YACE,UAAU,EAAE,iDAAiD;YAC7D,QAAQ,EAAE,oRAAoR;SAC/R;QACD;YACE,UAAU,EAAE,sDAAsD;YAClE,QAAQ,EAAE,+PAA+P;SAC1Q;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,eAAe,EAAE,mMAAmM;IACpN,cAAc,EAAE;QACd,+HAA+H;QAC/H,sGAAsG;KACvG;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -34,7 +34,7 @@ const builtinDoc = {
|
|
|
34
34
|
"tested": {
|
|
35
35
|
"unit": "builtins::math::poly::polyder::tests",
|
|
36
36
|
"integration": "builtins::math::poly::polyder::tests::{gpu_inputs_remain_on_device,gpu_product_matches_cpu,gpu_quotient_matches_cpu,wgpu_polyder_single_matches_cpu,wgpu_polyder_product_matches_cpu,wgpu_polyder_quotient_matches_cpu}",
|
|
37
|
-
"vm": "
|
|
37
|
+
"vm": "vm polyder multi-output dispatch"
|
|
38
38
|
},
|
|
39
39
|
"description": "`polyder` differentiates polynomials represented by their coefficient vectors. The coefficients follow MATLAB’s convention: the first element corresponds to the highest power of `x`. The builtin supports three related operations:\n\n1. `polyder(p)` returns the derivative of a polynomial `p`. 2. `polyder(p, a)` applies the product rule to the convolution `conv(p, a)`. 3. `[num, den] = polyder(u, v)` returns the derivative of a rational function `u(x) / v(x)` using the quotient rule, yielding the numerator `num` and denominator `den`.",
|
|
40
40
|
"behaviors": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyder.js","sourceRoot":"","sources":["../../../src/generated/builtins/polyder.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE;QACV,SAAS;QACT,uBAAuB;QACvB,cAAc;QACd,eAAe;QACf,KAAK;KACN;IACD,SAAS,EAAE,6FAA6F;IACxG,YAAY,EAAE;QACZ,yCAAyC;KAC1C;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;YACL,KAAK;SACN;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,+MAA+M;KACzN;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,sCAAsC;QAC9C,aAAa,EAAE,yNAAyN;QACxO,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"polyder.js","sourceRoot":"","sources":["../../../src/generated/builtins/polyder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyval.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/polyval.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"polyval.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/polyval.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAqMjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -111,6 +111,18 @@ const builtinDoc = {
|
|
|
111
111
|
{
|
|
112
112
|
"question": "Does `polyval` support sparse inputs?",
|
|
113
113
|
"answer": "Not yet. Dense inputs (including gpuArray tensors) are supported today. Sparse support will arrive once RunMat's sparse infrastructure stabilises."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"question": "What does `polyval` do?",
|
|
117
|
+
"answer": "— `polyval(p, x)` evaluates the polynomial whose coefficients are stored in `p` at every point in `x`. Coefficients are listed highest degree first, so `p = [2 -3 5]` represents `2*x^2 - 3*x + 5`. The output has the same shape as `x`."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"question": "How does `polyval` evaluate a polynomial?",
|
|
121
|
+
"answer": "— `polyval` uses Horner's method (nested multiplication), which rewrites `p(1)*x^n + p(2)*x^(n-1) + ... + p(end)` as `((p(1)*x + p(2))*x + p(3))*x + ...`. Horner's method needs only `n` multiplications and `n` additions and is more numerically stable than computing each power of `x` explicitly."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"question": "How do I use `polyval` with `polyfit`?",
|
|
125
|
+
"answer": "— Fit a polynomial with `polyfit`, then evaluate it on a smooth grid with `polyval`. For example:\n\n```matlab\np = polyfit(x, y, 3);\nxfine = linspace(min(x), max(x), 200);\nyfit = polyval(p, xfine);\nplot(x, y, 'o', xfine, yfit, '-');\n```\n\nWhen `polyfit` returns `[p, S, mu]`, pass them through (`polyval(p, xfine, S, mu)`) to get centring-aware evaluation and prediction intervals."
|
|
114
126
|
}
|
|
115
127
|
],
|
|
116
128
|
"links": [
|
|
@@ -154,6 +166,31 @@ const builtinDoc = {
|
|
|
154
166
|
"gpu_behavior": [
|
|
155
167
|
"When a GPU provider is active, RunMat first attempts to evaluate the polynomial in device memory using a dedicated Horner kernel. Coefficients and inputs are uploaded automatically when required. If the call requests complex arithmetic, prediction intervals, or otherwise falls outside the GPU kernel’s contract, RunMat gathers to the host, executes the CPU implementation, and (for real-valued results) pushes the output back to the GPU so downstream kernels retain residency."
|
|
156
168
|
],
|
|
169
|
+
"syntax": {
|
|
170
|
+
"example": {
|
|
171
|
+
"description": "Syntax",
|
|
172
|
+
"input": "y = polyval(p, x)\ny = polyval(p, x, [], mu)\n[y, delta] = polyval(p, x, S)\n[y, delta] = polyval(p, x, S, mu)"
|
|
173
|
+
},
|
|
174
|
+
"points": [
|
|
175
|
+
"`p` is the coefficient vector with the **highest-degree term first**: `p = [2 -3 5]` represents `2*x^2 - 3*x + 5`.",
|
|
176
|
+
"`x` is the scalar, vector, matrix, or N-D array of points at which to evaluate the polynomial. The output `y` has the same shape as `x`.",
|
|
177
|
+
"`S` is an optional error-estimation structure produced by `polyfit`. It must contain the fields `R`, `normr`, and `df`. When requested with two outputs, `polyval` returns `delta`, the standard error (1σ prediction interval) at each point.",
|
|
178
|
+
"`mu` is an optional two-element centring/scaling vector `[mean(x), std(x)]` returned by `polyfit`. When supplied, the polynomial is evaluated at `(x - mu(1)) / mu(2)`. Pass `[]` for `S` if you want centring without prediction intervals.",
|
|
179
|
+
"Returns `y`, the evaluated polynomial values, and optionally `delta`, the element-wise standard error from the fit."
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"validation": {
|
|
183
|
+
"summary": "`polyval` evaluates the polynomial using the standard Horner recurrence, the same scheme MATLAB and NumPy's `polyval` use. The CPU implementation covers real and complex coefficients plus the `polyfit` prediction-interval form. The GPU path has a dedicated Horner kernel for real inputs and falls back to CPU for complex or prediction-interval calls.",
|
|
184
|
+
"implementation": {
|
|
185
|
+
"label": "crates/runmat-runtime/src/builtins/math/poly/polyval.rs",
|
|
186
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/poly/polyval.rs"
|
|
187
|
+
},
|
|
188
|
+
"parity_test": {
|
|
189
|
+
"label": "polyval unit tests",
|
|
190
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/poly/polyval.rs"
|
|
191
|
+
},
|
|
192
|
+
"tolerance": "1e-9 (f64), 1e-3 (f32)"
|
|
193
|
+
},
|
|
157
194
|
"key": "polyval",
|
|
158
195
|
"slug": "polyval",
|
|
159
196
|
"categoryPath": [
|