Уменьшенная форма эшелона строки (Исключение по Гауссу-Жордану)
R = rref(A)
R = rref(A,tol)
[R,p] = rref(A)
возвращает уменьшенную форму эшелона строки R = rref(A)
A
с помощью Исключения по Гауссу-Жордану с частичным поворотом.
задает допуск центра что использование алгоритма, чтобы определить незначительные столбцы.R = rref(A,tol)
также возвращает ненулевые центры [R,p] = rref(A)
p
.
Создайте матрицу и вычислите уменьшенную форму эшелона строки. В этой форме матрица имеет продвижение 1 с в положении центра каждого столбца.
A = magic(3)
A = 3×3
8 1 6
3 5 7
4 9 2
RA = rref(A)
RA = 3×3
1 0 0
0 1 0
0 0 1
3 3 матрица магического квадрата является полным рангом, таким образом, уменьшенная форма эшелона строки является единичной матрицей.
Теперь, вычислите уменьшенную форму эшелона строки матрицы магического квадрата 4 на 4. Задайте два выходных параметров, чтобы возвратить ненулевые столбцы центра. Поскольку эта матрица является неполным рангом, результатом не является единичная матрица.
B = magic(4)
B = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
[RB,p] = rref(B)
RB = 4×4
1 0 0 1
0 1 0 3
0 0 1 -3
0 0 0 0
p = 1×3
1 2 3
Используйте Исключение по Гауссу-Жордану на увеличенных матрицах, чтобы решить линейную систему и вычислить матричную инверсию. Эти методы имеют в основном академический интерес, поскольку существуют более эффективные и численно стабильные способы вычислить эти значения.
Создайте 3 3 матрицу магического квадрата. Добавьте дополнительный столбец в конец матрицы. Эта расширенная матрица представляет линейную систему с соответствием дополнительного столбца.
A = magic(3); A(:,4) = [1; 1; 1]
A = 3×4
8 1 6 1
3 5 7 1
4 9 2 1
Вычислите уменьшенную форму эшелона строки A
. Индексируйте в R
, чтобы извлечь записи в дополнительном (увеличенном) столбце, который содержит решение линейной системы.
R = rref(A)
R = 3×4
1.0000 0 0 0.0667
0 1.0000 0 0.0667
0 0 1.0000 0.0667
x = R(:,end)
x = 3×1
0.0667
0.0667
0.0667
Более эффективный способ решить эту линейную систему с оператором наклонной черты влево, x = A\b
.
Создайте подобную матрицу магического квадрата, но на этот раз добавьте единичную матрицу, одного размера в конец столбцы.
A = [magic(3) eye(3)]
A = 3×6
8 1 6 1 0 0
3 5 7 0 1 0
4 9 2 0 0 1
Вычислите уменьшенную форму эшелона строки A
. В этой форме дополнительные столбцы содержат обратную матрицу для 3 3 матрицы магического квадрата.
R = rref(A)
R = 3×6
1.0000 0 0 0.1472 -0.1444 0.0639
0 1.0000 0 -0.0611 0.0222 0.1056
0 0 1.0000 -0.0194 0.1889 -0.1028
inv_A = R(:,4:end)
inv_A = 3×3
0.1472 -0.1444 0.0639
-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028
Более эффективный способ вычислить обратную матрицу с inv(A)
.
Рассмотрите линейную систему уравнений с четырьмя уравнениями и тремя неизвестными.
Создайте расширенную матрицу, которая представляет систему уравнений.
A = [1 1 5; 2 1 8; 1 2 7; -1 1 -1]; b = [6 8 10 2]'; M = [A b];
Используйте rref
, чтобы выразить систему в уменьшенной форме эшелона строки.
R = rref(M)
R = 4×4
1 0 3 2
0 1 2 4
0 0 0 0
0 0 0 0
Первые две строки R
содержат уравнения тот экспресс и с точки зрения. Вторые две строки подразумевают, что там существует по крайней мере одно решение, которое соответствует правому вектору стороны (в противном случае, одно из уравнений читало бы). Третий столбец не содержит центр, независимая переменная - также. Поэтому существует бесконечно много решений для и и могут быть выбраны свободно.
Например, если, то и.
С числовой точки зрения более эффективный способ решить эту систему уравнений с x0 = A\b
, который (для прямоугольного матричного A
) вычисляет решение методом наименьших квадратов. В этом случае можно проверить точность решения с norm(A*x0-b)/norm(b)
и уникальностью решения путем проверки, равен ли rank(A)
количеству неизвестных. Если больше чем одно решение существует, то у них всех есть форма, где пустой пробел является null(A)
и может быть выбран свободно.
A
Введите матрицуВведите матрицу.
Типы данных: single | double
Поддержка комплексного числа: Да
tol
Допуск центраmax(size(A))*eps*norm(A,inf)
(значение по умолчанию) | скалярДопуск центра, заданный как скаляр. Если самый большой элемент (абсолютным значением) в столбце центра ниже допуска, то столбец обнуляется. Это предотвращает деление и умножение с ненулевыми элементами центра, меньшими, чем допуск.
Типы данных: single | double
R
Уменьшенная форма эшелона строки A
Уменьшенная форма эшелона строки A
, возвращенного как матрица.
p
Ненулевые столбцы центраНенулевые столбцы центра, возвращенные как вектор. Каждый элемент в p
является индексом столбца A
. Можно использовать p
, чтобы оценить несколько количеств:
length(p)
является оценкой ранга A
.
x(p)
содержит переменные центра в линейной системе Ax = b
.
A:, p)
является основанием для области значений A
.
R1 : r, p)
является r-by-r
единичной матрицей, где
r = длина (p)
.
rank
, orth
и null
обычно быстрее и более точны для вычисления ранга и базисных векторов матрицы.
mldivide
рекомендуют решить линейные системы.
Частичный поворот является практикой выбора элемента столбца с самым большим абсолютным значением в столбце центра и затем обмена строками матрицы так, чтобы этот элемент был в положении центра (крайний левый ненулевой элемент в строке).
Например, в матрице ниже алгоритма запускается путем идентификации самого большого значения в первом столбце (значение в (2,1) положение, равное 1.1
), и затем обменивается полными первыми и вторыми строками так, чтобы это значение появилось в (1,1) положение.
Использование частичного поворота в Исключении Гаусса уменьшает (но не устраняет), ошибки округления в вычислении.
Матрица находится в форме эшелона строки когда:
Все ненулевые строки выше строк всех нулей.
Ведущий коэффициент каждой строки строго справа от той в строке выше его.
Пример матрицы в форме эшелона строки
Дополнительное требование для уменьшенной формы эшелона строки:
Каждый ведущий коэффициент должен быть 1 и должен быть единственным ненулевым в своем столбце.
В то время как единичная матрица обычно сопоставлена с уменьшенной формой эшелона строки, другие формы возможны. Другой пример матрицы в уменьшенной форме эшелона строки
rref
реализует Исключение по Гауссу-Жордану с частичным поворотом. Допуск по умолчанию max(size(A))*eps*norm(A,inf)
тестирует на незначительные элементы столбца, которые обнуляются, чтобы уменьшить ошибку округления.
inv
| лютеций
| mldivide, \
| ранг
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.