В геодезии при уравнивании различных геодезических построений возникают так называемые нормальные уравнения, которые относятся к классу линейных уравнений вида
AX=B,
где A – квадратная симметричная матрица коэффициентов размера NxN, B – вектор свободных членов, X – вектор неизвестных.
Из общего курса линейной алгебры известно, что такая система линейных уравнений имеет единственное решение, если матрица A является невырожденной или, иначе, несингулярной, т.е. ее определитель не равен нулю. Такие матрицы называются еще хорошо обусловленными.
В MathCAD имеется целый ряд инструментов для решения хорошо обусловленных систем линейных уравнений. Рассмотрим эти инструменты по порядку.
Вариант 1 Непосредственное решение
Дана система линейных уравнений
AX=B
Для ее решения достаточно умножить левую и правую части уравнения на обратную матрицу A-1. В результате получим
X= A-1 B
Пример 1.
Вариант 2 Вычислительный блок given/find
Сформировать матрицу коэффициентов A, вектор свободных членов B и вектор начальных значений неизвестных либо записать систему уравнений в развернутом виде. В качестве начальных значений можно принять нулевой вектор. Затем записать:
given
AX=B
find(X)=
После этого в правой части появится вектор решения системы.
Следует обратить внимание на то, что при записи системы уравнений необходимо использовать знак равенства, который находится на панели логических операций либо использовать сочетание клавиш <Ctrl> +< =>.
Данный способ можно использовать для решения систем уравнений с хорошо обусловленной матрицей A. Это объясняется тем, что решение системы в данном случае производится методом итераций. И при хорошо обусловленной матрице коэффициентов итерации сходятся к единственному решению. В противном случае решение может не получится.
Пример 2.
Пример 3
Вариант 3 Использование встроенной функции lsolve
Дана система уравнений в матричном виде
A*B=X
Решение системы также может быть найдено в матричном виде, как
X:=A-1B
Для этого может быть использована встроенная функция lsolve(A,B), где A – матрица коэффициентов системы линейных уравнений, B – вектор свободных членов.
Обращение к функции выглядит следующим образом
X:=lsolve(A,B).
Пример 4
Дана та же самая система линейных уравнений, как и в примере 3. Но для ее решения используем встроенную функцию lsolve.
Вариант 4 Использование встроенной функции rref
Пусть задана система линейных уравнений, которая в матричном виде имеет вид
A*B=X
Решение системы находится как и в варианте 3
X:=A-1B
Однако решение производится с использованием встроенной функции rref. Для ее использования первоначально необходимо сформировать расширенную матрицу C, сделав вектор B четвертым столбцом матрицы A с помощью функции augment.
C:=augment(A,B)
Затем с помощью функции rref вычислить вспомогательную матрицу C1