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
|
@@ -11,6 +11,7 @@ const builtinDoc = {
|
|
|
11
11
|
"matlab errorbar"
|
|
12
12
|
],
|
|
13
13
|
"summary": "Plot data with symmetric or asymmetric error bars for uncertainty, intervals, and MATLAB `errorbar` workflows.",
|
|
14
|
+
"hero_image": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-error-measurements-intervals.webp",
|
|
14
15
|
"gpu_support": {
|
|
15
16
|
"elementwise": false,
|
|
16
17
|
"reduction": false,
|
|
@@ -52,6 +53,25 @@ const builtinDoc = {
|
|
|
52
53
|
{
|
|
53
54
|
"description": "Style an error-bar object and label it for the legend",
|
|
54
55
|
"input": "x = 1:5;\ny = [1 2 1.5 3 2.5];\nh = errorbar(x, y, 0.2*ones(size(x)), 0.2*ones(size(x)));\nset(h, 'LineWidth', 2, 'DisplayName', 'measurement');\nlegend;"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"description": "Measurements with confidence intervals",
|
|
59
|
+
"input": "x = 1:8;\ny = [2.1 3.4 4.2 5.8 5.5 6.1 7.3 8.0];\nneg = [0.3 0.4 0.2 0.5 0.6 0.3 0.4 0.3];\npos = [0.4 0.3 0.3 0.6 0.5 0.4 0.5 0.4];\n\nerrorbar(x, y, neg, pos, 'o-', 'LineWidth', 1.5);\ntitle('Tensile Strength vs. Sample');\nxlabel('Sample #');\nylabel('Strength (MPa)');\ngrid on;",
|
|
60
|
+
"image_webp": "https://web.runmatstatic.com/builtin-image/runmat-matlab-plot-error-measurements-intervals.webp"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"faqs": [
|
|
64
|
+
{
|
|
65
|
+
"question": "How do I plot asymmetric error bars?",
|
|
66
|
+
"answer": "Pass separate lower and upper error vectors. For vertical-only asymmetric bars, use `errorbar(x, y, neg, pos)` where `neg` is the downward extent and `pos` is the upward extent.\n\n```matlab\nx = 1:5;\ny = [2 3 2.5 4 3.5];\nneg = [0.1 0.2 0.15 0.3 0.1];\npos = [0.3 0.4 0.2 0.5 0.25];\nerrorbar(x, y, neg, pos);\n```"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"question": "Can I add horizontal error bars?",
|
|
70
|
+
"answer": "Yes. Use the six-argument form `errorbar(x, y, yneg, ypos, xneg, xpos)` to get both vertical and horizontal bars. If you only want horizontal bars, set the vertical error vectors to zero.\n\n```matlab\nx = 1:4; y = [3 4 2 5];\nerrorbar(x, y, zeros(size(x)), zeros(size(x)), 0.2*ones(size(x)), 0.3*ones(size(x)));\n```"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"question": "Can I combine error bars with a line or scatter plot?",
|
|
74
|
+
"answer": "Yes—`errorbar` already draws a line through the data points by default. To overlay error bars on a separate plot, call `hold on` first. The error bar handle supports the same `set` properties as line handles, so you can match colors and widths.\n\n```matlab\nplot(x, y, 'b-', 'LineWidth', 2);\nhold on;\nerrorbar(x, y, err, err, 'LineStyle', 'none', 'Color', 'b');\n```"
|
|
55
75
|
}
|
|
56
76
|
],
|
|
57
77
|
"links": [
|
|
@@ -74,6 +94,22 @@ const builtinDoc = {
|
|
|
74
94
|
{
|
|
75
95
|
"label": "set",
|
|
76
96
|
"url": "./set"
|
|
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":"errorbar.js","sourceRoot":"","sources":["../../../src/generated/builtins/errorbar.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,0BAA0B;QAC1B,iBAAiB;KAClB;IACD,SAAS,EAAE,gHAAgH;IAC3H,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,qCAAqC;QAC7C,aAAa,EAAE,qCAAqC;KACrD;IACD,aAAa,EAAE,2SAA2S;IAC1T,WAAW,EAAE;QACX,6GAA6G;QAC7G,mGAAmG;QACnG,kIAAkI;QAClI,sFAAsF;QACtF,2LAA2L;KAC5L;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,yFAAyF;SACnG;QACD;YACE,aAAa,EAAE,2CAA2C;YAC1D,OAAO,EAAE,+JAA+J;SACzK;QACD;YACE,aAAa,EAAE,uDAAuD;YACtE,OAAO,EAAE,2JAA2J;SACrK;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;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,+DAA+D;QACxE,KAAK,EAAE,4GAA4G;KACpH;IACD,eAAe,EAAE,2KAA2K;IAC5L,cAAc,EAAE;QACd,qGAAqG;QACrG,6HAA6H;KAC9H;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"errorbar.js","sourceRoot":"","sources":["../../../src/generated/builtins/errorbar.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,0BAA0B;QAC1B,iBAAiB;KAClB;IACD,SAAS,EAAE,gHAAgH;IAC3H,YAAY,EAAE,iGAAiG;IAC/G,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,qCAAqC;QAC7C,aAAa,EAAE,qCAAqC;KACrD;IACD,aAAa,EAAE,2SAA2S;IAC1T,WAAW,EAAE;QACX,6GAA6G;QAC7G,mGAAmG;QACnG,kIAAkI;QAClI,sFAAsF;QACtF,2LAA2L;KAC5L;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,yFAAyF;SACnG;QACD;YACE,aAAa,EAAE,2CAA2C;YAC1D,OAAO,EAAE,+JAA+J;SACzK;QACD;YACE,aAAa,EAAE,uDAAuD;YACtE,OAAO,EAAE,2JAA2J;SACrK;QACD;YACE,aAAa,EAAE,wCAAwC;YACvD,OAAO,EAAE,4RAA4R;YACrS,YAAY,EAAE,iGAAiG;SAChH;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,sCAAsC;YAClD,QAAQ,EAAE,8TAA8T;SACzU;QACD;YACE,UAAU,EAAE,kCAAkC;YAC9C,QAAQ,EAAE,+TAA+T;SAC1U;QACD;YACE,UAAU,EAAE,uDAAuD;YACnE,QAAQ,EAAE,mXAAmX;SAC9X;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;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;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,+DAA+D;QACxE,KAAK,EAAE,4GAA4G;KACpH;IACD,eAAe,EAAE,2KAA2K;IAC5L,cAAc,EAAE;QACd,qGAAqG;QACrG,6HAA6H;KAC9H;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exist.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/exist.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"exist.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/exist.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwOjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -32,7 +32,7 @@ const builtinDoc = {
|
|
|
32
32
|
"unit": "builtins::io::repl_fs::exist::tests",
|
|
33
33
|
"integration": "builtins::io::repl_fs::exist::tests::exist_detects_workspace_variables"
|
|
34
34
|
},
|
|
35
|
-
"description": "`exist(name)` returns an integer code that identifies which kind of item named `name` is currently available. The codes match MATLAB:\n\n| Code | Meaning
|
|
35
|
+
"description": "`exist(name)` returns an integer code that identifies which kind of item named `name` is currently available. The codes match MATLAB:\n\n| Code | Meaning |\n| ---- | ------- |\n| 0 | Item not found |\n| 1 | Variable in the active workspace |\n| 2 | File (including scripts and most data files) |\n| 3 | MEX-file |\n| 4 | Simulink® model (`.slx` / `.mdl`) |\n| 5 | Built-in MATLAB function |\n| 6 | P-code (`.p` / `.pp`) |\n| 7 | Folder |\n| 8 | Class definition |\n\nPass a second argument to restrict the lookup (for example, `'file'`, `'dir'`, `'builtin'`, `'class'`, `'mex'`, `'pcode'`, `'method'`, or `'handle'`). The builtin mirrors MATLAB semantics for string handling, search order, and numeric return values.",
|
|
36
36
|
"behaviors": [
|
|
37
37
|
"Searches follow MATLAB's precedence: variables first, then built-ins, classes, compiled code (MEX/P-code), standard files, and finally folders.",
|
|
38
38
|
"When you omit the type, `exist` returns the first match respecting this precedence.",
|
|
@@ -114,6 +114,18 @@ const builtinDoc = {
|
|
|
114
114
|
{
|
|
115
115
|
"question": "What are the return codes for exist in MATLAB?",
|
|
116
116
|
"answer": "`exist` returns `0` (not found), `1` (variable in workspace), `2` (file on path), `3` (MEX file), `4` (Simulink model), `5` (built-in function), `7` (folder), or `8` (Java class). RunMat supports codes 0, 1, 2, 5, and 7."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"question": "What does each `exist` return value mean?",
|
|
120
|
+
"answer": "— The complete MATLAB table is:\n\n| Code | Meaning |\n|------|---------|\n| `0` | Not found |\n| `1` | Variable in the active workspace |\n| `2` | File (including `.m` scripts, `.mat`, and most data files on the path) |\n| `3` | MEX-file (compiled C/C++/Fortran) |\n| `4` | Simulink model (`.slx` / `.mdl`) |\n| `5` | Built-in function |\n| `6` | P-code file (`.p`) |\n| `7` | Folder |\n| `8` | Class (classdef or `@Class` folder) |\n\nUse the two-argument form (`exist(name, 'file')`, `exist(name, 'dir')`, `exist(name, 'builtin')`, `exist(name, 'class')`) when you want to restrict the search to a single kind."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"question": "How do I check if a variable or file exists before using it?",
|
|
124
|
+
"answer": "— Use the two-argument form so the result is unambiguous:\n\n```matlab\nif exist('myVar', 'var')\n disp(myVar);\nend\n\nif exist('data.mat', 'file')\n load('data.mat');\nend\n```\n\nFor files specifically, `isfile('data.mat')` and `isfolder('outdir')` return plain logicals and are often clearer than `exist` alone."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"question": "How do I create a folder only if it doesn't already exist?",
|
|
128
|
+
"answer": "— Combine `exist` with `mkdir`:\n\n```matlab\nif ~exist('outdir', 'dir')\n mkdir('outdir');\nend\n```\n\nA newer, equally idiomatic alternative is `if ~isfolder('outdir'), mkdir('outdir'); end`. `mkdir` itself is a no-op when the folder already exists (it just prints a warning), so either pattern is safe."
|
|
117
129
|
}
|
|
118
130
|
],
|
|
119
131
|
"links": [
|
|
@@ -202,6 +214,18 @@ const builtinDoc = {
|
|
|
202
214
|
"gpu_behavior": [
|
|
203
215
|
"The builtin runs entirely on the host CPU. If any argument lives on the GPU, RunMat gathers it to host memory before performing the lookup. Providers do not implement dedicated hooks for `exist`, and the result is always returned as a host-resident double scalar. Documented behaviour is identical regardless of whether acceleration is enabled."
|
|
204
216
|
],
|
|
217
|
+
"syntax": {
|
|
218
|
+
"example": {
|
|
219
|
+
"description": "Syntax",
|
|
220
|
+
"input": "tf = exist(name)\ntf = exist(name, kind)"
|
|
221
|
+
},
|
|
222
|
+
"points": [
|
|
223
|
+
"`name` is a character vector or string scalar identifying what to look up. It may be a simple name (`\"alpha\"`, `\"sin\"`), a file path (`\"utilities/process_data\"`), or a package-qualified identifier (`\"pkg.Widget\"`).",
|
|
224
|
+
"`kind` is an optional character vector or string scalar that restricts the search to a single category. Accepted values are `'var'`, `'file'`, `'dir'`, `'builtin'`, and `'class'` (plus the RunMat extensions `'mex'`, `'pcode'`, `'method'`, and `'handle'`).",
|
|
225
|
+
"Returns `tf`, an integer code between `0` and `8`: `0` (not found), `1` (variable), `2` (file), `3` (MEX file), `4` (Simulink model), `5` (built-in), `6` (P-code), `7` (folder), `8` (class).",
|
|
226
|
+
"When `kind` is omitted, MATLAB precedence applies (variables first, then built-ins, classes, compiled code, files, and folders)."
|
|
227
|
+
]
|
|
228
|
+
},
|
|
205
229
|
"key": "exist",
|
|
206
230
|
"slug": "exist",
|
|
207
231
|
"categoryPath": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exist.js","sourceRoot":"","sources":["../../../src/generated/builtins/exist.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE;QACV,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,gBAAgB;KACjB;IACD,SAAS,EAAE,0HAA0H;IACrI,YAAY,EAAE;QACZ,sDAAsD;KACvD;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,2HAA2H;KACrI;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,qCAAqC;QAC7C,aAAa,EAAE,wEAAwE;KACxF;IACD,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"exist.js","sourceRoot":"","sources":["../../../src/generated/builtins/exist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fgets.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/fgets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"fgets.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/fgets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA+KjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -98,6 +98,18 @@ const builtinDoc = {
|
|
|
98
98
|
{
|
|
99
99
|
"question": "Can I call `fgets` on files opened for writing only?",
|
|
100
100
|
"answer": "No. The file must be opened with read permission (for example `'r'`, `'r+'`, or `'w+'`). Calling `fgets` on a write-only identifier raises an error."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"question": "Can `fgets` read from standard input with `fgets(0)`?",
|
|
104
|
+
"answer": "No. MATLAB disallows `fgets(0)` for the interactive stdin stream and RunMat follows the same convention. Use `input('prompt: ', 's')` for interactive prompts, or read a real file identifier returned by `fopen`."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"question": "How do I read a whole file line-by-line with `fgets`?",
|
|
108
|
+
"answer": "Open the file, loop while the return value is not `-1`, and close the handle when you are done. Pair the call with `feof` or compare against `-1` directly:\n\n```matlab\nfid = fopen('data.txt', 'r');\nwhile ~feof(fid)\n line = fgets(fid);\n if line == -1, break; end\n fprintf('%s', line);\nend\nfclose(fid);\n```"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"question": "How do I reliably detect end-of-file with `fgets`?",
|
|
112
|
+
"answer": "Compare the return value to `-1` (`if line == -1`) or query `feof(fid)` before the next read. Do not use `ischar(line)`, because MATLAB's implicit numeric-to-char rules can report `true` for the sentinel value on some inputs."
|
|
101
113
|
}
|
|
102
114
|
],
|
|
103
115
|
"links": [
|
|
@@ -142,6 +154,18 @@ const builtinDoc = {
|
|
|
142
154
|
"label": "crates/runmat-runtime/src/builtins/io/filetext/fgets.rs",
|
|
143
155
|
"url": "crates/runmat-runtime/src/builtins/io/filetext/fgets.rs"
|
|
144
156
|
},
|
|
157
|
+
"syntax": {
|
|
158
|
+
"example": {
|
|
159
|
+
"description": "Syntax",
|
|
160
|
+
"input": "line = fgets(fileID)\nline = fgets(fileID, nchar)\n[line, ltout] = fgets(___)"
|
|
161
|
+
},
|
|
162
|
+
"points": [
|
|
163
|
+
"`fileID` is a file handle returned by `fopen`. The file must be opened with read permission (`'r'`, `'r+'`, `'w+'`, or `'a+'`).",
|
|
164
|
+
"`nchar` is an optional positive integer that caps the read at `nchar - 1` characters. The call still stops early when a newline is encountered first.",
|
|
165
|
+
"`line` is a character row vector **including** any trailing newline (`\\n` or `\\r\\n`). When the file position is already at end-of-file, `fgets` returns the numeric sentinel `-1`.",
|
|
166
|
+
"The optional second output `ltout` reports the line terminator as a row of numeric codes (`10` for `\\n`, `[13 10]` for `\\r\\n`, `[]` when the line has no terminator, and `-1` at end-of-file)."
|
|
167
|
+
]
|
|
168
|
+
},
|
|
145
169
|
"gpu_behavior": [
|
|
146
170
|
"`fgets` is a host-only operation. File identifiers live in the host registry created by `fopen`, so arguments that arrive as GPU-resident scalars are gathered back to the CPU before the read occurs. The returned line and optional terminator vector are regular host values; no GPU residency is tracked."
|
|
147
171
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fgets.js","sourceRoot":"","sources":["../../../src/generated/builtins/fgets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fgets.js","sourceRoot":"","sources":["../../../src/generated/builtins/fgets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flipud.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/flipud.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"flipud.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/flipud.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwNjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -103,6 +103,18 @@ const builtinDoc = {
|
|
|
103
103
|
{
|
|
104
104
|
"question": "Is `flipud` numerically stable?",
|
|
105
105
|
"answer": "Yes. The function only reorders elements; values are never modified, so it is numerically stable."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"question": "What does `flipud` do in MATLAB?",
|
|
109
|
+
"answer": "— `B = flipud(A)` returns `A` with the order of its rows reversed, so `B(i, :) = A(end - i + 1, :)`. The number of columns and every higher-dimension page stays exactly the same."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"question": "What's the difference between `flipud`, `fliplr`, and `flip`?",
|
|
113
|
+
"answer": "— `flipud` reverses dimension 1 (rows), `fliplr` reverses dimension 2 (columns), and `flip(A, dim)` reverses any dimension you pick. Modern MATLAB code tends to use `flip(A, dim)` directly; `flipud` and `fliplr` are convenience wrappers kept for readability."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"question": "How do I reverse a column vector?",
|
|
117
|
+
"answer": "— For a column vector, `flipud(v)` returns the reversed vector. A dimension-agnostic idiom that works for row or column vectors is `v(end:-1:1)`."
|
|
106
118
|
}
|
|
107
119
|
],
|
|
108
120
|
"links": [
|
|
@@ -187,6 +199,17 @@ const builtinDoc = {
|
|
|
187
199
|
"gpu_behavior": [
|
|
188
200
|
"RunMat first tries to execute `flipud` on the GPU by delegating to the provider’s generic `flip` implementation with axis `0` (zero-based). If the provider does not implement this hook, RunMat transparently gathers the tensor, performs the vertical flip on the host, and uploads the result back to the device so residency is preserved."
|
|
189
201
|
],
|
|
202
|
+
"syntax": {
|
|
203
|
+
"example": {
|
|
204
|
+
"description": "Syntax",
|
|
205
|
+
"input": "B = flipud(A)"
|
|
206
|
+
},
|
|
207
|
+
"points": [
|
|
208
|
+
"`A` is a scalar, vector, matrix, or N-D array. It may hold any MATLAB class: numeric, logical, complex, character, string, or cell. `gpuArray` inputs are supported and stay device-resident when the provider offers a `flip` hook.",
|
|
209
|
+
"`B` is the same size and class as `A` with its first dimension reversed: `B(i, :, ...) = A(end - i + 1, :, ...)`. All other dimensions are preserved. For arrays with more than two dimensions, higher pages are treated independently.",
|
|
210
|
+
"`flipud(A)` is equivalent to `flip(A, 1)`. Use `fliplr(A)` to reverse columns instead, or `flip(A, dim)` when you need a dimension other than 1 or 2."
|
|
211
|
+
]
|
|
212
|
+
},
|
|
190
213
|
"key": "flipud",
|
|
191
214
|
"slug": "flipud",
|
|
192
215
|
"categoryPath": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flipud.js","sourceRoot":"","sources":["../../../src/generated/builtins/flipud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flipud.js","sourceRoot":"","sources":["../../../src/generated/builtins/flipud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fopen.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/fopen.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"fopen.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/fopen.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAqMjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -118,6 +118,18 @@ const builtinDoc = {
|
|
|
118
118
|
{
|
|
119
119
|
"question": "What file modes does fopen support?",
|
|
120
120
|
"answer": "`fopen` supports `'r'` (read), `'w'` (write, creates or overwrites), `'a'` (append), `'r+'` (read and write), `'w+'` (read and write, truncates), and `'a+'` (read and append)."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"question": "How do I read a file with a specific encoding?",
|
|
124
|
+
"answer": "Pass the encoding as the fourth argument after the machine-format placeholder, for example `fid = fopen('data.txt', 'r', 'n', 'UTF-8')`. RunMat accepts `'UTF-8'`, `'US-ASCII'`, `'ISO-8859-1'` (alias `'latin1'`), `'windows-1252'`, `'shift_jis'`, and `'system'`."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"question": "Do I need to `fclose` every file I open?",
|
|
128
|
+
"answer": "Yes. Every successful `fopen` registers a handle that holds OS resources until you call `fclose(fid)`. For robust code, tie the close to an `onCleanup` object so the file is released even if your code errors partway through:\n\n```matlab\nfid = fopen('data.txt', 'r');\ncleanup = onCleanup(@() fclose(fid));\n% ... use fid freely ...\n```"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"question": "Should I always check the return value of `fopen`?",
|
|
132
|
+
"answer": "Yes. Request two outputs so you can surface a useful error message: `[fid, errmsg] = fopen(filename, 'r'); if fid == -1, error(errmsg); end`. Without this guard, subsequent calls like `fread(fid)` fail with a generic invalid-identifier error that hides the real cause."
|
|
121
133
|
}
|
|
122
134
|
],
|
|
123
135
|
"links": [
|
|
@@ -162,6 +174,20 @@ const builtinDoc = {
|
|
|
162
174
|
"label": "crates/runmat-runtime/src/builtins/io/filetext/fopen.rs",
|
|
163
175
|
"url": "crates/runmat-runtime/src/builtins/io/filetext/fopen.rs"
|
|
164
176
|
},
|
|
177
|
+
"syntax": {
|
|
178
|
+
"example": {
|
|
179
|
+
"description": "Syntax",
|
|
180
|
+
"input": "fileID = fopen(filename)\nfileID = fopen(filename, permission)\nfileID = fopen(filename, permission, machinefmt)\nfileID = fopen(filename, permission, machinefmt, encodingIn)\n[fileID, errmsg] = fopen(___)\nfilename = fopen(fileID)\n[filename, permission, machinefmt, encodingOut] = fopen(fileID)\nfIDs = fopen('all')"
|
|
181
|
+
},
|
|
182
|
+
"points": [
|
|
183
|
+
"`filename` is a character vector or string scalar naming the file. Relative paths are resolved against the current working directory.",
|
|
184
|
+
"`permission` is one of `'r'`, `'w'`, `'a'`, `'r+'`, `'w+'`, `'a+'`, or `'A'`, optionally suffixed with `'t'` (text mode) or `'b'` (binary mode).",
|
|
185
|
+
"`machinefmt` selects the endianness for binary reads and writes. Common values are `'native'` (alias `'n'`), `'ieee-le'` (little-endian), and `'ieee-be'` (big-endian).",
|
|
186
|
+
"`encodingIn` is the text encoding used for subsequent reads and writes. Accepted values include `'UTF-8'` (default for text mode), `'US-ASCII'`, `'ISO-8859-1'` (`'latin1'`), `'windows-1252'`, `'shift_jis'`, and `'system'`.",
|
|
187
|
+
"On success `fileID` is a positive integer. On failure it is `-1`, and the optional second output `errmsg` contains the operating-system error message.",
|
|
188
|
+
"Passing an existing `fileID` returns its recorded metadata; `fopen('all')` returns a row vector of every currently open user file identifier."
|
|
189
|
+
]
|
|
190
|
+
},
|
|
165
191
|
"gpu_behavior": [
|
|
166
192
|
"`fopen` always executes on the CPU. When a filename argument resides on a GPU array, RunMat gathers it to host memory before opening the file. File identifiers and their associated metadata are managed by a host-side registry that other builtins (such as `fclose`, `fread`, and `fwrite`) consult."
|
|
167
193
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fopen.js","sourceRoot":"","sources":["../../../src/generated/builtins/fopen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fopen.js","sourceRoot":"","sources":["../../../src/generated/builtins/fopen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA+FjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -38,6 +38,20 @@ const builtinDoc = {
|
|
|
38
38
|
"input": "plot(1:5, 1:5);\nlg = legend('series');\nget(lg, 'Orientation')"
|
|
39
39
|
}
|
|
40
40
|
],
|
|
41
|
+
"faqs": [
|
|
42
|
+
{
|
|
43
|
+
"question": "How do I see all available properties on a handle?",
|
|
44
|
+
"answer": "Call `get(h)` with no property name. It returns a struct containing every known property for that handle type. This is the fastest way to discover what's queryable on a line, axes, legend, or text object."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"question": "Can I query properties on axes handles, not just plot objects?",
|
|
48
|
+
"answer": "Yes. `get(gca, 'XScale')` reads the x-axis scale mode, `get(gca, 'View')` reads the camera angle, and so on. Axes handles, legend handles, text handles, and plot-child handles all go through the same `get` interface."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"question": "What happens if I query a property that doesn't exist?",
|
|
52
|
+
"answer": "RunMat raises a plotting error rather than returning empty or silently succeeding. If you're unsure whether a property exists, call `get(h)` first to inspect the full property struct."
|
|
53
|
+
}
|
|
54
|
+
],
|
|
41
55
|
"links": [
|
|
42
56
|
{
|
|
43
57
|
"label": "set",
|
|
@@ -54,6 +68,22 @@ const builtinDoc = {
|
|
|
54
68
|
{
|
|
55
69
|
"label": "plot",
|
|
56
70
|
"url": "./plot"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"label": "Choosing the right plot type",
|
|
74
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"label": "Styling plots and axes",
|
|
78
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"label": "Plot replay and export",
|
|
82
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"label": "Complete plotting guide",
|
|
86
|
+
"url": "/blog/matlab-plotting-guide"
|
|
57
87
|
}
|
|
58
88
|
],
|
|
59
89
|
"source": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/generated/builtins/get.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,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,wBAAwB;KACzB;IACD,SAAS,EAAE,sHAAsH;IACjI,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;KACzC;IACD,aAAa,EAAE,wVAAwV;IACvW,WAAW,EAAE;QACX,mEAAmE;QACnE,2DAA2D;QAC3D,2IAA2I;QAC3I,qHAAqH;QACrH,4IAA4I;KAC7I;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oDAAoD;YACnE,OAAO,EAAE,8CAA8C;SACxD;QACD;YACE,aAAa,EAAE,6BAA6B;YAC5C,OAAO,EAAE,8FAA8F;YACvG,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,aAAa,EAAE,wCAAwC;YACvD,OAAO,EAAE,iEAAiE;SAC3E;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;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":"get.js","sourceRoot":"","sources":["../../../src/generated/builtins/get.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,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,wBAAwB;KACzB;IACD,SAAS,EAAE,sHAAsH;IACjI,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;KACzC;IACD,aAAa,EAAE,wVAAwV;IACvW,WAAW,EAAE;QACX,mEAAmE;QACnE,2DAA2D;QAC3D,2IAA2I;QAC3I,qHAAqH;QACrH,4IAA4I;KAC7I;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oDAAoD;YACnE,OAAO,EAAE,8CAA8C;SACxD;QACD;YACE,aAAa,EAAE,6BAA6B;YAC5C,OAAO,EAAE,8FAA8F;YACvG,QAAQ,EAAE,kBAAkB;SAC7B;QACD;YACE,aAAa,EAAE,wCAAwC;YACvD,OAAO,EAAE,iEAAiE;SAC3E;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,oDAAoD;YAChE,QAAQ,EAAE,8MAA8M;SACzN;QACD;YACE,UAAU,EAAE,gEAAgE;YAC5E,QAAQ,EAAE,0NAA0N;SACrO;QACD;YACE,UAAU,EAAE,wDAAwD;YACpE,QAAQ,EAAE,yLAAyL;SACpM;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;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,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"}
|
|
@@ -28,7 +28,7 @@ const builtinDoc = {
|
|
|
28
28
|
"requires_feature": null,
|
|
29
29
|
"tested": {
|
|
30
30
|
"unit": "builtins::structs::core::getfield::tests",
|
|
31
|
-
"integration": "
|
|
31
|
+
"integration": "runmat-vm/tests/functions.rs::member_get_set_and_method_call_skeleton"
|
|
32
32
|
},
|
|
33
33
|
"description": "`value = getfield(S, field)` returns the contents of `S.field`. RunMat matches MATLAB by supporting nested field access, struct arrays (via index cells), and MATLAB-style objects created with `new_object`.",
|
|
34
34
|
"behaviors": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getfield.js","sourceRoot":"","sources":["../../../src/generated/builtins/getfield.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE;QACV,UAAU;QACV,QAAQ;QACR,cAAc;QACd,iBAAiB;QACjB,UAAU;KACX;IACD,SAAS,EAAE,kFAAkF;IAC7F,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,mGAAmG;KAC7G;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,0CAA0C;QAClD,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"getfield.js","sourceRoot":"","sources":["../../../src/generated/builtins/getfield.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/gradient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA4HjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// @generated by scripts/generate-builtins.cjs
|
|
2
|
+
// Do not edit by hand.
|
|
3
|
+
const builtinDoc = {
|
|
4
|
+
"title": "gradient",
|
|
5
|
+
"category": "math/reduction",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"gradient",
|
|
8
|
+
"numerical gradient",
|
|
9
|
+
"finite difference",
|
|
10
|
+
"derivative",
|
|
11
|
+
"gpu"
|
|
12
|
+
],
|
|
13
|
+
"summary": "Numerical gradients using central differences with MATLAB-compatible output ordering.",
|
|
14
|
+
"references": [],
|
|
15
|
+
"gpu_support": {
|
|
16
|
+
"elementwise": false,
|
|
17
|
+
"reduction": false,
|
|
18
|
+
"precisions": [
|
|
19
|
+
"f32",
|
|
20
|
+
"f64"
|
|
21
|
+
],
|
|
22
|
+
"broadcasting": "matlab",
|
|
23
|
+
"notes": "Scalar-spacing gradients call the provider's `gradient_dim` hook and can stay GPU-resident. Coordinate-vector spacing falls back to the host in this implementation."
|
|
24
|
+
},
|
|
25
|
+
"fusion": {
|
|
26
|
+
"elementwise": false,
|
|
27
|
+
"reduction": false,
|
|
28
|
+
"max_inputs": 1,
|
|
29
|
+
"constants": "inline"
|
|
30
|
+
},
|
|
31
|
+
"requires_feature": null,
|
|
32
|
+
"tested": {
|
|
33
|
+
"unit": "builtins::math::reduction::gradient::tests",
|
|
34
|
+
"integration": "builtins::math::reduction::gradient::tests::gradient_gpu_scalar_spacing_matches_cpu_and_stays_resident"
|
|
35
|
+
},
|
|
36
|
+
"description": "`gradient(F)` computes numerical derivatives with central differences in the interior and one-sided differences at the boundaries. For matrices, a single output returns the derivative along columns, while multiple outputs follow MATLAB ordering: first columns, then rows, then higher dimensions.",
|
|
37
|
+
"behaviors": [
|
|
38
|
+
"`gradient(F)` chooses the first non-singleton dimension for vectors and returns the column-direction derivative for matrices.",
|
|
39
|
+
"`[FX, FY] = gradient(F)` on a matrix returns `FX` for dimension 2 (across columns) and `FY` for dimension 1 (down rows), matching MATLAB.",
|
|
40
|
+
"`gradient(F, h)` applies the same scalar spacing to every returned dimension.",
|
|
41
|
+
"`gradient(F, hx, hy, ...)` accepts one scalar spacing per output dimension. In v1, each spacing must be scalar.",
|
|
42
|
+
"Interior points use central differences `(f(i+1) - f(i-1)) / (2*h)`, while the first and last points use one-sided differences.",
|
|
43
|
+
"Real, logical, and scalar numeric inputs promote through the standard tensor conversion path. Complex host inputs are supported by differentiating the real and imaginary parts independently.",
|
|
44
|
+
"When a GPU tensor is passed and the active provider implements `gradient_dim`, scalar-spacing gradients stay resident on the device. Complex GPU tensors and coordinate-vector spacing currently gather to the host."
|
|
45
|
+
],
|
|
46
|
+
"examples": [
|
|
47
|
+
{
|
|
48
|
+
"description": "Differentiating a row vector",
|
|
49
|
+
"input": "v = [1 4 9];\ng = gradient(v)",
|
|
50
|
+
"output": "g = [3 4 5]"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"description": "Requesting both matrix gradient components",
|
|
54
|
+
"input": "A = [1 2; 3 4];\n[FX, FY] = gradient(A)",
|
|
55
|
+
"output": "FX =\n 1 1\n 1 1\n\nFY =\n 2 2\n 2 2"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"description": "Using scalar spacing on GPU data",
|
|
59
|
+
"input": "G = gpuArray(single([1 4 9]));\nD = gradient(G, 2);\nout = gather(D)",
|
|
60
|
+
"output": "out = single([1.5 2.0 2.5])"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"description": "Feeding `gradient` into a vector-field plot",
|
|
64
|
+
"input": "[X, Y] = meshgrid(linspace(-2, 2, 25), linspace(-2, 2, 25));\nZ = X .* exp(-X.^2 - Y.^2);\n[DX, DY] = gradient(Z, X(1,2)-X(1,1), Y(2,1)-Y(1,1));\nquiver(X, Y, DX, DY)"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"faqs": [
|
|
68
|
+
{
|
|
69
|
+
"question": "What finite-difference stencil does `gradient` use?",
|
|
70
|
+
"answer": "RunMat matches MATLAB's shape-preserving behavior: central differences in the interior and first-order one-sided differences at the boundaries."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"question": "Why does a matrix return the x-direction first?",
|
|
74
|
+
"answer": "MATLAB defines the first matrix output along dimension 2 (columns), then dimension 1 (rows). RunMat preserves that ordering so plotting workflows like `quiver` line up correctly."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"question": "Can I pass coordinate vectors for spacing?",
|
|
78
|
+
"answer": "Not in this version. `gradient(F, X)` and vector-valued `hx`, `hy`, ... are reserved for a follow-up implementation."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"question": "Does `gradient` support GPU arrays?",
|
|
82
|
+
"answer": "Yes for default spacing and scalar spacings. With an active provider such as WGPU, the scalar-spacing path stays on the GPU via the `gradient_dim` hook."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"question": "Do complex inputs work?",
|
|
86
|
+
"answer": "Yes on the host. Complex GPU tensors currently gather to the host before differencing."
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"links": [
|
|
90
|
+
{
|
|
91
|
+
"label": "diff",
|
|
92
|
+
"url": "./diff"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"label": "meshgrid",
|
|
96
|
+
"url": "./meshgrid"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"label": "quiver",
|
|
100
|
+
"url": "./quiver"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"label": "gpuArray",
|
|
104
|
+
"url": "./gpuarray"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"label": "gather",
|
|
108
|
+
"url": "./gather"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"source": {
|
|
112
|
+
"label": "`crates/runmat-runtime/src/builtins/math/reduction/gradient.rs`",
|
|
113
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/reduction/gradient.rs"
|
|
114
|
+
},
|
|
115
|
+
"gpu_residency": "Manual `gpuArray` promotion is optional. When a scalar-spacing gradient starts with GPU-resident data and the active provider implements `gradient_dim`, RunMat keeps the result on the device. If the provider lacks the hook, if spacing is specified with coordinate vectors, or if the input is complex GPU data, RunMat gathers to the host and preserves MATLAB-compatible results.",
|
|
116
|
+
"gpu_behavior": [
|
|
117
|
+
"The WGPU backend implements `gradient_dim`, so scalar-spacing gradients execute on the device and return GPU tensors for both single-output and multi-output calls.",
|
|
118
|
+
"The simple in-process provider also exposes `gradient_dim`, allowing provider-level parity tests without requiring a physical GPU.",
|
|
119
|
+
"Coordinate-vector spacing is intentionally out of scope for this version and falls back to host evaluation."
|
|
120
|
+
],
|
|
121
|
+
"key": "gradient",
|
|
122
|
+
"slug": "gradient",
|
|
123
|
+
"categoryPath": [
|
|
124
|
+
"math",
|
|
125
|
+
"reduction"
|
|
126
|
+
]
|
|
127
|
+
};
|
|
128
|
+
export default builtinDoc;
|
|
129
|
+
//# sourceMappingURL=gradient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../../src/generated/builtins/gradient.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,gBAAgB;IAC5B,UAAU,EAAE;QACV,UAAU;QACV,oBAAoB;QACpB,mBAAmB;QACnB,YAAY;QACZ,KAAK;KACN;IACD,SAAS,EAAE,uFAAuF;IAClG,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;YACL,KAAK;SACN;QACD,cAAc,EAAE,QAAQ;QACxB,OAAO,EAAE,sKAAsK;KAChL;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,4CAA4C;QACpD,aAAa,EAAE,wGAAwG;KACxH;IACD,aAAa,EAAE,ySAAyS;IACxT,WAAW,EAAE;QACX,+HAA+H;QAC/H,2IAA2I;QAC3I,+EAA+E;QAC/E,iHAAiH;QACjH,iIAAiI;QACjI,gMAAgM;QAChM,sNAAsN;KACvN;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,8BAA8B;YAC7C,OAAO,EAAE,+BAA+B;YACxC,QAAQ,EAAE,aAAa;SACxB;QACD;YACE,aAAa,EAAE,4CAA4C;YAC3D,OAAO,EAAE,yCAAyC;YAClD,QAAQ,EAAE,sEAAsE;SACjF;QACD;YACE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,sEAAsE;YAC/E,QAAQ,EAAE,6BAA6B;SACxC;QACD;YACE,aAAa,EAAE,6CAA6C;YAC5D,OAAO,EAAE,wKAAwK;SAClL;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,qDAAqD;YACjE,QAAQ,EAAE,iJAAiJ;SAC5J;QACD;YACE,UAAU,EAAE,iDAAiD;YAC7D,QAAQ,EAAE,oLAAoL;SAC/L;QACD;YACE,UAAU,EAAE,4CAA4C;YACxD,QAAQ,EAAE,sHAAsH;SACjI;QACD;YACE,UAAU,EAAE,qCAAqC;YACjD,QAAQ,EAAE,0JAA0J;SACrK;QACD;YACE,UAAU,EAAE,yBAAyB;YACrC,QAAQ,EAAE,wFAAwF;SACnG;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,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,iEAAiE;QAC1E,KAAK,EAAE,8GAA8G;KACtH;IACD,eAAe,EAAE,2XAA2X;IAC5Y,cAAc,EAAE;QACd,qKAAqK;QACrK,oIAAoI;QACpI,6GAA6G;KAC9G;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,cAAc,EAAE;QACd,MAAM;QACN,WAAW;KACZ;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/grid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/grid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAqFjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -32,6 +32,20 @@ const builtinDoc = {
|
|
|
32
32
|
"input": "subplot(1, 2, 1);\nplot(1:5, 1:5);\ngrid off;\nsubplot(1, 2, 2);\nplot(1:5, [5 4 3 2 1]);\ngrid on;"
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
|
+
"faqs": [
|
|
36
|
+
{
|
|
37
|
+
"question": "Does RunMat support minor grid lines?",
|
|
38
|
+
"answer": "Not yet — `grid on` enables major grid lines only. Minor grid support (the MATLAB `grid minor` form) is planned. For now, you get the primary tick grid, which covers most use cases."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"question": "Can I style the grid line color or width?",
|
|
42
|
+
"answer": "Grid styling is tied to axes properties. You can adjust the grid appearance through the axes handle with `set(gca, 'GridColor', [0.5 0.5 0.5])` and related properties when the axes property path supports them. Check `get(gca)` to see what's currently exposed."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"question": "Does grid state carry across subplots?",
|
|
46
|
+
"answer": "No. Grid visibility is subplot-local. Calling `grid on` in one panel doesn't turn it on in others — you need to enable it explicitly in each subplot where you want grid lines."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
35
49
|
"links": [
|
|
36
50
|
{
|
|
37
51
|
"label": "axis",
|
|
@@ -44,6 +58,22 @@ const builtinDoc = {
|
|
|
44
58
|
{
|
|
45
59
|
"label": "subplot",
|
|
46
60
|
"url": "./subplot"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"label": "Choosing the right plot type",
|
|
64
|
+
"url": "/docs/plotting/choosing-the-right-plot-type"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"label": "Styling plots and axes",
|
|
68
|
+
"url": "/docs/plotting/styling-plots-and-axes"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"label": "Plot replay and export",
|
|
72
|
+
"url": "/docs/plotting/plot-replay-and-export"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"label": "Complete plotting guide",
|
|
76
|
+
"url": "/blog/matlab-plotting-guide"
|
|
47
77
|
}
|
|
48
78
|
],
|
|
49
79
|
"source": {
|