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