Множество, если не сказать большинство, задач вычислительной математики сводится к решению систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида:
аi1х1+аi2х2+. . .+ainхn= bi, где i = 1, 2, …, n (1)
В матричной форме СЛАУ записывается в виде:
А×х = В (2)
где А – матрица коэффициентов СЛАУ размерности n х n,
х — вектор неизвестных, В – вектор правых частей уравнений.
СЛАУ имеет единственное решение, если матрица коэффициентов А является невырожденной, (несингулярной), то есть если ее определитель не равен нулю.
В MathCAD СЛАУ можно решить тремя способами:
- с помощью обратной матрицы (Рис. 15);
- с помощью встроенной функции lsolve( ) (название lsolve происходит от line solving) (Рис. 16);
- с помощью вычислительного блока Given/Find (Рис. 17).
Например, нужно решить систему линейных алгебраических уравнений вида:
.
Система состоит из трех уравнений с тремя неизвестными. Проиллюстрируем решение системы перечисленными тремя методами.
Метод обратной матрицы
Задаем матрицу коэффициентов А и вектор правых частей В.
Лекция 9 40
æç 1
5 2÷ö
æç 1÷ö
A:=ç 0.7 12 5÷
b:=ç 2.9÷
ç 3 0 4÷
ç 3.1÷
è ø è ø
Записываем формулу вычисления корней, через обратную матрицу и выводим результаты:
æç xö÷
-
ç y÷ := A 1×b
ç z÷
è ø
x= -0.186
y= -0.129
z= 0.915
Рис. 15. Решение СЛАУ методом обратной матрицы.
Метод встроенной функции lsolve( ).
Задаем матрицу коэффициентов А и вектор правых частей В, если они еще не заданы и выводим результат, используя вычислительную функцию lsolve( ):
Рис. 16. Решение СЛАУ с помощью встроенной функции lsolve( ).
Метод решающего блока Given/Find.
Задаем начальные приближения для неизвестных
(любые числа)
Вводим ключевое слово Given
Переписываем систему уравнений в виде логических равенств, используя знак сравнения
(Булево равенство) , который вводится
комбинацией клавиш <Ctrl> + < = > или кнопкой на панели
Лекция 9 41
Выводим результат, используя функцию Find( ),
причем число аргументов функции Find( ) должно быть равно числу неизвестных.
Рис. 17. Решение СЛАУ использованием вычислительного блока Given/Find.
Задание начальных условий необходимо, так как решающий блок Given/Find
использует итерационные методы вычислений.
Корни СЛАУ, полученные всеми тремя методами должны совпадать.
Встроенные операторы суммирования и произведения.
Оператор
Клавиши
Описание
å
=
<Ctrl>+<Shift>+<4>
Сумма
å
<Shift>+<4>
Сумма ранжированной переменной
Õ
=
<Ctrl>+<Shift>+<3>
Произведение
Õ
<Shift>+<3>
Произведение ранжированной переменной
Эти операторы вводятся нажатием соответствующих кнопок на панели Calculus
(Вычисления) , которая вызывается с панели Math (Математика) .