- •Глава 4. Решение систем алгебраических уравнений.
- •4.1. Системы линейных уравнений.
- •4.1.1. Решение систем линейных алгебраических уравнений методом обращённой матрицы коэффициентов.
- •4.1.2. Решение системы алгебраических уравнений с помощью встроенной функции lsolve.
- •4.1.3. Решение системы линейных алгебраических уравнений решающим блоком Given…Find ( ).
- •4.2. Решение систем нелинейных алгебраических уравнений
- •1. Решение с помощью вычислительного блока Given…Find.
- •4.3. Решение системы алгебраических уравнений в символической форме.
- •4.3. Размерные величины в решающем блоке.
- •4.3. Решение уравнений в матричной форме.
Глава 4. Решение систем алгебраических уравнений.
4.1. Системы линейных уравнений.
4.1.1. Решение систем линейных алгебраических уравнений методом обращённой матрицы коэффициентов.
В MathCad предусмотрена возможность решать системы линейных алгебраических уравнений, записанных в матричной форме, классическим методом обращения матрицы коэффициентов.
В матричном форме система линейных уравнений имеет вид:
M * X = v, (4.1)
где М - квадратная невырожденная матрица размерности n x n;
X - матрица - столбец неизвестных – вектор x ;
v - матрица - столбец правой части системы – вектор v.
Решение такой системы, как известно[ ], имеет вид:
Х = M-1 v (4.2) .
Для решения системы n - линейных алгебраических уравнений с невырожденной матрицей М, соответствующей, например, уравнениям (4.2), с помощью функции обращения матрицы коэффициентов необходимо:
- создать на рабочем листе квадратную матрицу коэффициентов уравнений. Напомним, что для этого нужно:
а) под курсором напечатать «M[Shift]:» и щёлкнуть левой кнопкой мыши по значку Matrix - левый верхний значок на панели Matrix, чтобы вызвать панель Insert Matrix(вставить матрицу);
б) назначить размерность матрицы, напечатав в окне Rows число столбцов и в окне Columns число строк;
в) нажать клавишу «ОК» мышью на панели Insert Matrix или Enter на клавиатуре и в открывшееся поле ввода из placeholder (чёрных прямоугольников) ввести значения элементов матрицы mij(i=j=n);
г) после нажатия клавиши ввода (Enter) экране матрица отобразится в обычной математической форме записи.
Внимание: Для проверки свойств матрицы М целесообразно вычислить её определитель, который для не особенной матрицы должен быть отличен от нуля, т.е. Det0. Для вычисления определителя следует переместить курсор (красное перекрестие) ниже матрицы и щёлкнуть мышью по кнопке Determinant (определитель) на панели Matrix, вставить имя матрицы в шаблон(в примере символ М), переместить курсор (синий уголок)нажатием клавиши «пробел» и напечатать знак =(равно) для отображения численного значения определителя.
- создать матрицу- столбец (вектор v) правой части системы уравнений (4.1), выполнив те же действия, что и выше , но для матрицы с числом строк - Rows равным n и числом столбцов - Columns равным единице соответственно;
- напечатать решение в виде : Х [Shift]: M^-1 *v, а затем напечатать Х =(равно) для просмотра полученного решения.
4.1.2. Решение системы алгебраических уравнений с помощью встроенной функции lsolve.
Для решения системы линейных алгебраических уравнений (4.2) с помощью встроенной функции lsolve необходимо:
- создать квадратную матрицу М и вектор v описанным выше способом;
- напечатать X[Shift]: lsolve(M,v), а затем X=(равно) для отображения результата решения.
Как и в предыдущем случае результат будет в виде вектора-столбца Х.
На рабочем листе отображение алгоритма решения имеет вид, представленный на рис.4.1 (вариант 1.1.).
Если правая часть системы уравнений записана в виде строки, например, при копировании данных из другого приложения, то она должна быть преобразована транспонированием в матрицу-столбец. Это может быть записано в виде отдельной инструкции: v := V1T , или записано непосредственно в операторе: X:=lsolve(M,VT), как в примере на рис. 4.1 (вариант 1.2.).
Отметим, что функция lsolve может быть вызвана из списка встроенных функций MathCad . Для этого, нужно:
- напечатать x[Shift]:
- на панели главного меню щёлкнуть значок f(x);
- в открывшемся окне Insert Function (вставить функцию) в разделе Categjry Function (категория функции) выделить команду Solving(решатель);
- вставить нажатием клавиши « insert(вставить) » после знака присвоения (:=) заполнить шаблон функции lsolve с двумя placeholder и напечатать имя матрицы коэффициентов и вектора v правой части системы уравнений;
- для просмотра решения напечатать Х=(равно).
Рис 4.1. Решение системы алгебраических уравнений
встроенной функцией lsolve.