linalg
:: expr2Matrix
Создайте матрицу из уравнений
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
linalg::expr2Matrix(eqns
, <vars, R
>, <Include>)
linalg::expr2Matrix(eqns, vars)
создает расширенную матрицу коэффициентов системы линейных уравнений m в eqns
относительно n indeterminates в vars
. Вектор является правой стороной этой системы.
linalg::expr2Matrix
возвращает расширенную матрицу коэффициентов. Правый вектор стороны может быть извлечен от матричного M linalg::col
(M, n + 1)
.
Матрица коэффициентов A может быть извлечена linalg::delCol
(M, n + 1)
.
Арифметические выражения в eqns
рассматриваются как уравнения с нулем правых сторон.
Если никакие переменные не даны, то indeterminates уравнений определяются с функциональным indets
и опцией PolyExpr
, т.е. левые стороны уравнений рассматриваются как многочленные выражения.
Если никакой кольцевой R
компонента не дан затем стандартный доменный Dom::ExpressionField
, ()
выбран в качестве звонка компонента расширенной матрицы коэффициентов.
Коэффициенты линейных уравнений преобразованы в элементы кольцевого R
компонента. Сообщение об ошибке возвращено, если это не возможно.
Расширенная матрица коэффициентов системы x + y + z = 1, 2 y - z + 5 = 0 из линейных уравнений в переменных x, y, z является следующим 2×4 матрица:
delete x, y, z: Ab := linalg::expr2Matrix( [x + y + z = 1, 2*y - z + 5], [x, y, z], Dom::Real )
Мы используем linalg::matlinsolve
, чтобы вычислить общее решение этой системы:
linalg::matlinsolve(Ab)
Матрица коэффициентов или правый вектор стороны могут быть быть извлеченными от матричного Ab
следующим образом:
A := linalg::delCol(Ab, 4); b := linalg::col(Ab, 4)
Следующие два входных параметров приводят к различным линейным системам:
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])
Отметьте различие между вызовом linalg::expr2Matrix
с и без опции 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)
|
Система линейных уравнений, т.е. набор или список выражений типа |
|
Набор или список indeterminates |
|
Коммутативный звонок, т.е. область категории |
|
Добавляет отрицание правого вектора стороны к матрице коэффициентов A данной системы линейных уравнений. Результатом является m × (n + 1) матрица. |
m × (n + 1) матрица доменного Dom::Matrix
(R)
.