Documentation

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.

linalg::expr2Matrix

Construct a matrix from equations

MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

Syntax

linalg::expr2Matrix(eqns, <vars, R>, <Include>)

Description

linalg::expr2Matrix(eqns, vars) constructs the extended coefficient matrix of the system of m linear equations in eqns with respect to the n indeterminates in vars. The vector is the right-hand side of this system.

linalg::expr2Matrix returns the extended coefficient matrix . The right-hand side vector can be extracted from the matrix M by linalg::col(M, n + 1).

The coefficient matrix A can be extracted by linalg::delCol(M, n + 1).

Arithmetical expressions in eqns are considered as equations with right hand-sides zero.

If no variables are given, then the indeterminates of the equations are determined with the function indets and the option PolyExpr, i.e., the left-hand sides of the equations are considered as polynomial expressions.

If no component ring R is given then the standard domain Dom::ExpressionField() is chosen as the component ring of the extended coefficient matrix.

The coefficients of the linear equations are converted into elements of the component ring R. An error message is returned if this is not possible.

Examples

Example 1

The extended coefficient matrix of the system x + y + z = 1, 2 y - z + 5 = 0 of linear equations in the variables x, y, z is the following 2×4 matrix:

delete x, y, z:
Ab := linalg::expr2Matrix(
  [x + y + z = 1, 2*y - z + 5], [x, y, z], Dom::Real
)

We use linalg::matlinsolve to compute the general solution of this system:

linalg::matlinsolve(Ab)

The coefficient matrix or the right-hand side vector can be be extracted from the matrix Ab in the following way:

A := linalg::delCol(Ab, 4); b := linalg::col(Ab, 4)

Example 2

The following two inputs lead to different linear systems:

delete x, y, z:
linalg::expr2Matrix([x + y + z = 1, 2*y - z + 5 = x]),
linalg::expr2Matrix([x + y + z = 1, 2*y - z + 5 = x], [x, y])

Example 3

Note the difference between calling linalg::expr2Matrix with and without option Include:

delete x, y:
linalg::expr2Matrix([x + y = 1, 2*x - y = 3], [x, y])

linalg::expr2Matrix([x + y = 1, 2*x - y = 3], [x, y], Include)

Parameters

eqns

The system of linear equations, i.e. a set or list of expressions of type "_equal"

vars

A set or list of indeterminates

R

A commutative ring, i.e., a domain of category Cat::CommutativeRing

Options

Include

Appends the negative of the right-hand side vector to the coefficient matrix A of the given system of linear equations. The result is the m×(n + 1) matrix .

Return Values

m×(n + 1) matrix of the domain Dom::Matrix(R).

See Also

MuPAD Functions

Was this topic helpful?