This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

dsp.UpperTriangularSolver System object

Solve upper-triangular matrix equation


The UpperTriangularSolver object solves UX = B for X when U is a square, upper-triangular matrix with the same number of rows as B.

To solve UX = B:

  1. Define and set up your linear system solver. See Construction.

  2. Call step to solve the equation according to the properties of dsp.UpperTriangularSolver. The behavior of step is specific to each object in the toolbox.


Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


H = dsp.UpperTriangularSolver returns a linear system solver, H, used to solve UX = B where U is an upper (or unit-upper) triangular matrix.

H = dsp.UpperTriangularSolver('PropertyName',PropertyValue,...) returns a linear system solver, H, with each specified property set to the specified value.



Replace diagonal elements of input with ones

When you set this property to true, the linear system solver replaces the elements on the diagonal of the input, U, with ones. Set this property to either true or false. The default is false.


Indicate that diagonal of complex input is real

When you set this property to true, the linear system solver optimizes computation speed if the diagonal elements of complex input, U, are real. This property applies only when you set the OverwriteDiagonal property to false. Set this property to either true or false. The default is false.

 Fixed-Point Properties


stepSolve matrix equation for specified inputs
Common to All System Objects

Create System object with same property values


Expected number of inputs to a System object


Expected number of outputs of a System object


Check locked states of a System object (logical)


Allow System object property value changes


expand all

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, myObject(x) becomes step(myObject,x).

uptriang = dsp.UpperTriangularSolver;
u = triu(rand(4, 4));
b = rand(4, 1);

Check that result is the solution to the linear equations.

x1 = inv(u)*b
x1 = 


x = uptriang(u, b)
x = 



This object implements the algorithm, inputs, and outputs described on the Backward Substitution block reference page. The object properties correspond to the block parameters.

Extended Capabilities

Introduced in R2012a

Was this topic helpful?