Символьное матричное правильное деление
X = B/A
X = mrdivide(B,A)
решает символьную систему линейных уравнений в матричной форме, X
= B
/A
X*A = B
для X
. Матрицы A
и B
должны содержать одинаковое число столбцов. Правильное деление матриц B/A
эквивалентно (A'\B')'
.
Если решение не существует или если это не уникально, оператор /
выдает предупреждение.
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 = b/A
X = [ 5, -1, 0, 0]
Создайте матрицу, содержащую коэффициент условий уравнения и вектор, содержащий правые стороны уравнений.
A = sym(magic(4))' b = sym([0 1 1 0])
A = [ 16, 5, 9, 4] [ 2, 11, 7, 14] [ 3, 10, 6, 15] [ 13, 8, 12, 1] b = [ 0, 1, 1, 0]
Найдите ранг системы. Эта система содержит четыре уравнения, но ее рангом является 3
. Поэтому система имеет неполный ранг. Это означает, что одна переменная системы весьма зависима и может быть выражена с точки зрения других переменных.
rank(vertcat(A,b))
ans = 3
Попытайтесь решить эту систему с помощью символьного оператора /
. Поскольку система имеет неполный ранг, возвращенное решение не уникально.
b/A
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, 5, 9, 4] [ 2, 11, 7, 14] [ 3, 10, 6, 15] [ 13, 8, 12, 1] b = [ 0, 1, 2, 3]
Попытайтесь решить эту систему с помощью символьного оператора /
. Оператор выдает предупреждение и возвращает вектор со всем набором элементов к Inf
, потому что система уравнений противоречива, и поэтому, никакое решение не существует. Число элементов равняется количеству уравнений (строки в матрице коэффициентов).
b/A
Warning: Solution does not exist because the system is inconsistent. ans = [ Inf, Inf, Inf, Inf]
Найдите приведенный ступенчатый по строкам вид матрицы этой системы. Последняя строка показывает, что одно из уравнений уменьшало до 0 = 1
, что означает, что система уравнений противоречива.
rref(vertcat(A,b)')
ans = [ 1, 0, 0, 1, 0] [ 0, 1, 0, 3, 0] [ 0, 0, 1, -3, 0] [ 0, 0, 0, 0, 1]
Матричные вычисления, включающие много символьных переменных, могут быть медленными. Чтобы увеличить вычислительную скорость, сократите количество символьных переменных путем заменения данными значениями некоторые переменные.
При делении на нуль mrdivide
рассматривает знак числителя и возвращает Inf
или -Inf
соответственно.
syms x [sym(1)/sym(0), sym(-1)/sym(0), x/sym(0)]
ans = [ Inf, -Inf, Inf*x]
ctranspose
| ldivide
| minus
| mldivide
| mpower
| mtimes
| plus
| power
| rdivide
| times
| transpose