Символьная матрица левого деления
решает символьную систему линейных уравнений в матричной форме, 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