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