Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ММСиП Лекция 4 Решение систем алгебраических....doc
Скачиваний:
27
Добавлен:
22.12.2018
Размер:
1.7 Mб
Скачать

23

Глава 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.