true — Create logical arrays filled with true values using MATLAB-compatible size forms.
true creates logical arrays populated with true values across scalar, vector, matrix, and N-D size specifications, matching MATLAB-compatible sizing behavior.
Syntax
L = true()
L = true(n)
L = true(size_vector)
L = true(m, n, ...)
L = true(prototype)
L = true(..., "logical")
L = true(..., "like", prototype)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
n | SizeArg | Yes | — | Square size. |
size_vector | SizeArg | Yes | — | Size vector defining output dimensions. |
dims | SizeArg | Variadic | — | Dimension sizes. |
prototype | LikePrototype | Yes | — | Prototype value when no numeric dimension arguments are provided. |
typename | StringScalar | No | "logical" | Class override keyword (logical). |
like_kw | StringScalar | Yes | "like" | Like keyword. |
prototype | LikePrototype | Yes | — | Prototype array used for class/device. |
Returns
| Name | Type | Description |
|---|---|---|
L | LogicalArray | Logical output array. |
Errors
| Identifier | When | Message |
|---|---|---|
| — | The 'like' keyword is provided without a prototype argument. | true: expected prototype after 'like' |
| — | The 'like' keyword is provided multiple times. | true: multiple 'like' specifications are not supported |
| — | A trailing option string is not supported. | true: unrecognised option |
| — | Dimension arguments fail numeric/shape parsing. | true: dimension arguments must be numeric and nonnegative |
How true works
true()returns the scalar logicaltrue.true(n)returns an n x n logical array of true values.true(m, n, ...)returns a logical array with the requested dimensions.true(sz)accepts a size vector (row or column) and returns an array with prod(sz) elements arranged using MATLAB column-major ordering.true(A)returns a logical array of true with the same size asA.true(___, 'like', prototype)uses the prototype only for sizing; the result is still a host logical array.true(___, 'logical')is accepted for MATLAB compatibility and has no effect.
Examples
Creating a 2x3 logical array of true values
mask = true(2, 3)Expected output:
mask = [1 1 1; 1 1 1]Creating a logical array from a size vector
dims = [2 1 3];
mask = true(dims)Expected output:
mask =
2x1x3 logical array
1
1
1
1
1
1Creating a true mask with the same size as an existing array
A = rand(3, 2);
mask = true(A)Expected output:
mask =
3x2 logical array
1 1
1 1
1 1Using true with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how true changes the result.
Run a small true example, explain the result, then change one input and compare the output.
FAQ
What does true() return?⌄
It returns the logical scalar true.
Does true(n) create a square array?⌄
Yes. true(n) returns an n x n logical array of true values, matching MATLAB behavior.
How does true(sz) interpret a size vector?⌄
A row or column vector is treated as the full set of dimensions, so true([2 3 4]) yields a 2x3x4 logical array.
Does true keep results on the GPU?⌄
No. The builtin always returns a host logical array. gpuArray inputs are only used to infer the output size.
Is the 'logical' option required?⌄
No. true always returns logical values; the 'logical' option is accepted only for MATLAB compatibility.
Related Array functions
Creation
colon · eye · false · fill · inf · linspace · logspace · magic · meshgrid · nan · ones · peaks · rand · randi · randn · randperm · range · zeros
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how true is executed, line by line, in Rust.
- View the source for true in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.