mldivide, \

Символьная матрица левого деления

Синтаксис

Описание

пример

X = A\B решает символьную систему линейных уравнений в матричной форме, A*X = B для X.

Если решение не существует или не является уникальным, \ оператор выдает предупреждение.

A может быть прямоугольной матрицей, но уравнения должны быть непротиворечивыми. Символьный оператор \ не вычисляет решения методом наименьших квадратов.

X = mldivide(A,B) эквивалентно x = A\B.

Примеры

Система уравнений в матричном виде

Решить систему линейных уравнений, заданную квадратной матрицей коэффициентов и вектором правых сторон уравнений.

Создайте матрицу, содержащую коэффициент уравнений, и вектор, содержащий правые стороны уравнений.

A = sym(pascal(4))
b = sym([4; 3; 2; 1])
A =
[ 1, 1,  1,  1]
[ 1, 2,  3,  4]
[ 1, 3,  6, 10]
[ 1, 4, 10, 20]
 
b =
 4
 3
 2
 1

Используйте оператор \ решить эту систему.

X = A\b
X =
  5
 -1
  0
  0

Неполный ранг

Создайте матрицу, содержащую коэффициенты членов уравнения, и вектор, содержащий правые стороны уравнений.

A = sym(magic(4))
b = sym([0; 1; 1; 0])
A =
[ 16,  2,  3, 13]
[  5, 11, 10,  8]
[  9,  7,  6, 12]
[  4, 14, 15,  1]
 
b =
 0
 1
 1
 0

Найдите ранг системы. Эта система содержит четыре уравнения, но ее ранг 3. Поэтому система является недостаточной по рангу. Это означает, что одна переменная системы не является независимой и может быть выражена в терминах других переменных.

rank(horzcat(A,b))
ans =
3

Попытайтесь решить эту систему с помощью символического \ оператор. Поскольку система является дефицитной, возвращаемое решение не является уникальным.

A\b
Warning: Solution is not unique because the system is rank-deficient. 
 
ans =
  1/34
 19/34
 -9/17
     0

Несогласованная система

Создайте матрицу, содержащую коэффициент уравнений, и вектор, содержащий правые стороны уравнений.

A = sym(magic(4))
b = sym([0; 1; 2; 3])
A =
[ 16,  2,  3, 13]
[  5, 11, 10,  8]
[  9,  7,  6, 12]
[  4, 14, 15,  1]
 
b =
 0
 1
 2
 3

Попытайтесь решить эту систему с помощью символического \ оператор. Оператор выдает предупреждение и возвращает вектор со всеми элементами, установленными на Inf потому что система уравнений противоречива, и, следовательно, решения не существует. Количество элементов в получившемся векторе равняется количеству уравнений (строки в матрице коэффициентов).

A\b
Warning: Solution does not exist because the system is inconsistent. 

ans =
 Inf
 Inf
 Inf
 Inf

Найдите приведенный ступенчатый по строкам вид матрицы этой системы. Последняя строка показывает, что одно из уравнений уменьшено до 0 = 1, что означает, что система уравнений является несогласованной.

rref(horzcat(A,b))
ans =
[ 1, 0, 0,  1, 0]
[ 0, 1, 0,  3, 0]
[ 0, 0, 1, -3, 0]
[ 0, 0, 0,  0, 1]

Входные параметры

свернуть все

Матрица коэффициентов, заданная как символьное число, скалярная переменная, матричная переменная (с R2021a), функция, выражение или вектор или матрица символьных скалярных переменных.

Правая сторона, заданная как символьное число, скалярная переменная, матричная переменная (с R2021a), функция, выражение, или вектор или матрица символьных скалярных переменных.

Выходные аргументы

свернуть все

Решение, возвращенное как символьное число, скалярная переменная, матричная переменная (с R2021a), функция, выражение, или вектор или матрица символьных скалярных переменных.

Совет

  • Матричные расчеты с участием многих символьных переменных могут быть медленными. Чтобы увеличить вычислительную скорость, уменьшите количество символьных переменных, подставив заданные значения для некоторых переменных.

  • При делении на нули, mldivide рассматривает знак числителя и возвращает Inf или -Inf соответственно.

    syms x
    [sym(0)\sym(1), sym(0)\sym(-1), sym(0)\x]
    ans =
    [ Inf, -Inf, Inf*x]
Представлено до R2006a