pole — Return poles of SISO transfer-function models.
pole(sys) returns the roots of the denominator polynomial for a supported SISO tf model.
Syntax
p = pole(sys)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
sys | Any | Yes | — | SISO tf model. |
Returns
| Name | Type | Description |
|---|---|---|
p | Any | Poles of the SISO tf model as a column vector. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:pole:InvalidModel | Input system is not a valid SISO tf object. | pole: invalid model |
RunMat:pole:UnsupportedModel | Model form is unsupported. | pole: unsupported model |
RunMat:pole:Internal | Root calculation or output construction failed. | pole: internal error |
How pole works
- Supports SISO
tfobjects. - Returns an
N x 1real vector when all poles are real. - Returns an
N x 1complex vector when any pole has a nonzero imaginary part. - Static-gain models return an empty pole vector.
GPU memory and residency
pole returns host-resident vectors.
Example
Second-order poles
H = tf(1, [1 3 2]);
pole(H)Expected output:
ans = [-1; -2]How RunMat validates pole
pole validates the input model and computes denominator roots through the shared control polynomial root path. Tests cover real poles and VM integration.
- Implementation: `crates/runmat-runtime/src/builtins/control/pole.rs`
See Correctness & Trust for the full methodology and coverage table.
Using pole with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how pole changes the result.
Run a small pole example, explain the result, then change one input and compare the output.
FAQ
Does pole cancel pole-zero pairs?⌄
No. It returns roots of the stored denominator polynomial for the supplied model.
Related Control functions
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how pole is executed, line by line, in Rust.
- View the source for pole 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.