Символьная матрица покинула деление
X = A\B
X = mldivide(A,B)
решает символьную систему линейных уравнений в матричной форме, X
= A
\B
A*X = B
для X
.
Если решение не существует или если это не уникально, оператор \
выдает предупреждение.
A
может быть прямоугольной матрицей, но уравнения должны быть сопоставимыми. Символьный оператор \
не вычисляет решения методом наименьших квадратов.
Решите систему линейных уравнений, заданных квадратной матрицей коэффициентов и вектором правых сторон уравнений.
Создайте матрицу, содержащую коэффициент условий уравнения и вектор, содержащий правые стороны уравнений.
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]
Матричные вычисления, включающие много символьных переменных, могут быть медленными. Чтобы увеличить вычислительную скорость, сократите количество символьных переменных путем заменения данными значениями некоторые переменные.
При делении на нуль mldivide
рассматривает знак числителя и возвращает Inf
или -Inf
соответственно.
syms x [sym(0)\sym(1), sym(0)\sym(-1), sym(0)\x]
ans = [ Inf, -Inf, Inf*x]
ctranspose
| ldivide
| minus
| mpower
| mrdivide
| mtimes
| plus
| power
| rdivide
| times
| transpose