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