Практическая 3. Решение систем линейных уравнений приближенными методамими
![]()
|
Практическая работа 3 Тема: Решение систем линейных уравнений приближенными методамими Способ 1: матричный метод Самый распространенный способ решения системы линейных уравнений инструментами Excel – это применение матричного метода. Он заключается в построении матрицы из коэффициентов выражений, а затем в создании обратной матрицы. Попробуем использовать данный метод для решения следующей системы уравнений: 14x1+2x2+8x4=218 7x1-3x2+5x3+12x4=213 5x1+x2-2x3+4x4=83 6x1+2x2+x3-3x4=21 Заполняем матрицу числами, которые являются коэффициентами уравнения. Данные числа должны располагаться последовательно по порядку с учетом расположения каждого корня, которому они соответствуют. Если в каком-то выражении один из корней отсутствует, то в этом случае коэффициент считается равным нулю. Если коэффициент не обозначен в уравнении, но соответствующий корень имеется, то считается, что коэффициент равен 1. Обозначаем полученную таблицу, как вектор A. ![]() Отдельно записываем значения после знака «равно». Обозначаем их общим наименованием, как вектор B. ![]() Теперь для нахождения корней уравнения, прежде всего, нам нужно отыскать матрицу, обратную существующей. К счастью, в Эксель имеется специальный оператор, который предназначен для решения данной задачи. Называется он МОБР. Он имеет довольно простой синтаксис: =МОБР(массив) Аргумент «Массив» — это адрес исходной таблицы. Итак, выделяем на листе область пустых ячеек, которая по размеру равна диапазону исходной матрицы. Щелкаем по кнопке «Вставить функцию», расположенную около строки формул. ![]() Выполняется запуск Мастера функций. Переходим в категорию «Математические». В представившемся списке ищем наименование «МОБР». После того, как оно отыскано, выделяем его и жмем на кнопку «OK». ![]() Запускается окно аргументов функции МОБР. Оно по числу аргументов имеет всего одно поле – «Массив». Тут нужно указать адрес нашей таблицы. Для этих целей устанавливаем курсор в это поле. Затем зажимаем левую кнопку мыши и выделяем область на листе, в которой находится матрица. Как видим, данные о координатах размещения автоматически заносятся в поле окна. После того, как эта задача выполнена, наиболее очевидным было бы нажать на кнопку «OK», но не стоит торопиться. Дело в том, что нажатие на эту кнопку является равнозначным применению команды Enter. Но при работе с массивами после завершения ввода формулы следует не кликать по кнопке Enter, а произвести набор сочетания клавиш Ctrl+Shift+Enter. Выполняем эту операцию. ![]() Итак, после этого программа производит вычисления и на выходе в предварительно выделенной области мы имеем матрицу, обратную данной. ![]() Теперь нам нужно будет умножить обратную матрицу на матрицу B, которая состоит из одного столбца значений, расположенных после знака «равно» в выражениях. Для умножения таблиц в Экселе также имеется отдельная функция, которая называется МУМНОЖ. Данный оператор имеет следующий синтаксис: =МУМНОЖ(Массив1;Массив2) Выделяем диапазон, в нашем случае состоящий из четырех ячеек. Далее опять запускаем Мастер функций, нажав значок «Вставить функцию». ![]() В категории «Математические», запустившегося Мастера функций, выделяем наименование «МУМНОЖ» и жмем на кнопку «OK». ![]() Активируется окно аргументов функции МУМНОЖ. В поле «Массив1» заносим координаты нашей обратной матрицы. Для этого, как и в прошлый раз, устанавливаем курсор в поле и с зажатой левой кнопкой мыши выделяем курсором соответствующую таблицу. Аналогичное действие проводим для внесения координат в поле «Массив2», только на этот раз выделяем значения колонки B. После того, как вышеуказанные действия проведены, опять не спешим жать на кнопку «OK» или клавишу Enter, а набираем комбинацию клавиш Ctrl+Shift+Enter. ![]() После данного действия в предварительно выделенной ячейке отобразятся корни уравнения: X1, X2, X3 и X4. Они будут расположены последовательно. Таким образом, можно сказать, что мы решили данную систему. Для того, чтобы проверить правильность решения достаточно подставить в исходную систему выражений данные ответы вместо соответствующих корней. Если равенство будет соблюдено, то это означает, что представленная система уравнений решена верно. ![]() Способ 2: метод Крамера Разберем систему из 3 линейных уравнений с 3 неизвестными и запишем систему линейных уравнений в матричном виде Ax = B. Введем матрицы A (диапазон ячеек B3:D5) и B (диапазон ячеек G3:G5), для наглядности области ввода выделены зеленым цветом. В ячейке B7, с помощью функции МОПРЕД, запишем расчет определителя матрицы A: ![]() В случае если определитель системы не равен нулю, то система имеет единственное решение и систему можно решить методом Крамера. Для поиска решения вычислим 3 дополнительных определителя матриц (диапазоны ячеек B9:D11, B13:D15 и B17:D19), в каждом из которых вместо одного из столбцов подставляется матрица B. Например, вместо первого столбца (коэффициенты при переменной x1), ставим столбец матрицы B (свободные коэффициенты): ![]() В ячейках F10, F14 и F18 рассчитываем определители матриц и записываем в ячейки I10, I14 и I18 (выделены голубым цветом) решение системы, по формуле Крамера получаем как отношение определителя дополнительных матриц к определителю матрицы системы (формулы =F10/B7, =F14/B7 и =F18/B7). Способ 3: Поиск решения Широкий класс экономических задач составляют задачи оптимизации. Задачи оптимизации предполагают поиск значений аргументов, доставляющих функции, которую называют целевой, минимальное или максимальное значение при наличии каких-либо дополнительных ограничений. MS Excel располагает мощным средством для решения оптимизационных задач. Это инструмент-надстройка, который называется Поиск решения (Solver). Поиск решения доступен через меню Сервис/Поиск решения…. Задачу решения СЛАУ можно свести к оптимизационной задаче. Для чего одно из уравнений (например, первое) взять в качестве целевой функции, а оставшиеся n-1 рассматривать в качестве ограничений. Запишем систему в виде
Тогда задача оптимизации для Поиска решения может звучать следующим образом. Найти значения X = (x1, x2, …, xn)T, доставляющие нуль функции, стоящей слева в первом уравнении системы при n-1 ограничениях, представленных оставшимися уравнениями. Для решения этой задачи необходимо записать выражения (формулы) для вычисления значений функций, стоящих слева в уравнениях системы. Отведем под эти формулы интервал C7:C9 текущего рабочего листа (Лист3). В ячейку C7 введем формулу =A3*$B$7+B3*$B$8+C3*$B$9-D3 и скопируем ее в оставшиеся C8 и C9. В них появятся соответственно =A4*$B$7+B4*$B$8+C4*$B$9-D4 и =A5*$B$7+B5*$B$8+C5*$B$9-D5. Осталось, обратившись к пункту меню Сервис/Поиск решения…, в окне диалога задать параметры поиска (установить целевую ячейку C7 равной нулю, решение в изменяемых ячейках B7:B9, ![]() ![]() Обратите внимание! Не должна стоять галка в поле «Сделать переменные без ограничения отрицательными» После щелчка по кнопке Найти решение в интервале B7:B9 получим результат – решение СЛАУ. ![]() Способ 4: метод Гаусса Решить систему уравнений можно также, применив метод Гаусса. Для примера возьмем более простую систему уравнений из трех неизвестных: 14x1+2x2+8x3=110 7x1-3x2+5x3=32 5x1+x2-2x3=17 Опять последовательно записываем коэффициенты в таблицу A, а свободные члены, расположенные после знака «равно» — в таблицу B. Но на этот раз сблизим обе таблицы, так как это понадобится нам для работы в дальнейшем. Важным условием является то, чтобы в первой ячейке матрицы A значение было отличным от нуля. В обратном случае следует переставить строки местами. ![]() Копируем первую строку двух соединенных матриц в строчку ниже (для наглядности можно пропустить одну строку). Выделить диапазон ячеек в строке, которая расположена ниже предыдущей, вводим следующую формулу: =B8:E8-$B$7:$E$7*(B8/$B$7) Если вы расположили матрицы по-другому, то и адреса ячеек формулы у вас будут иметь другое значение, но вы сможете высчитать их, сопоставив с теми формулами и изображениями, которые приводятся здесь. После того, как формула введена, выделите весь ряд ячеек и нажмите комбинацию клавиш Ctrl+Shift+Enter. К ряду будет применена формула массива и он будет заполнен значениями. Таким образом мы произвели вычитание из второй строки первой, умноженной на отношение первых коэффициентов двух первых выражений системы. ![]() После этого копируем полученную строку и вставляем её в строчку ниже. ![]() Выделяем две первые строки после пропущенной строчки. Жмем на кнопку «Копировать», которая расположена на ленте во вкладке «Главная». ![]() Пропускаем строку после последней записи на листе. Выделяем первую ячейку в следующей строке. Кликаем правой кнопкой мыши. В открывшемся контекстном меню наводим курсор на пункт «Специальная вставка». В запустившемся дополнительном списке выбираем позицию «Значения». ![]() В следующую строку вводим формулу массива. В ней производится вычитание из третьей строки предыдущей группы данных второй строки, умноженной на отношение второго коэффициента третьей и второй строки. В нашем случае формула будет иметь следующий вид: =B13:E13-$B$12:$E$12*(C13/$C$12) После ввода формулы выделяем весь ряд и применяем сочетание клавиш Ctrl+Shift+Enter. ![]() Теперь следует выполнить обратную прогонку по методу Гаусса. Пропускаем три строки от последней записи. В четвертой строке вводим формулу массива: =B17:E17/D17 Таким образом, мы делим последнюю рассчитанную нами строку на её же третий коэффициент. После того, как набрали формулу, выделяем всю строчку и жмем сочетание клавиш Ctrl+Shift+Enter. ![]() Поднимаемся на строку вверх и вводим в неё следующую формулу массива: =(B16:E16-B21:E21*D16)/C16 Жмем привычное уже нам сочетание клавиш для применения формулы массива. ![]() Поднимаемся ещё на одну строку выше. В неё вводим формулу массива следующего вида: =(B15:E15-B20:E20*C15-B21:E21*D15)/B15 Опять выделяем всю строку и применяем сочетание клавиш Ctrl+Shift+Enter. ![]() Теперь смотрим на числа, которые получились в последнем столбце последнего блока строк, рассчитанного нами ранее. Именно эти числа (4, 7 и 5) будут являться корнями данной системы уравнений. Проверить это можно, подставив их вместо значений X1, X2 и X3 в выражения. ![]() Как видим, в Экселе систему уравнений можно решить целым рядом способов, каждый из которых имеет собственные преимущества и недостатки. Но все эти методы можно условно разделить на две большие группы: матричные и с применением инструмента подбора параметров. В некоторых случаях не всегда матричные методы подходят для решения задачи. В частности тогда, когда определитель матрицы равен нулю. В остальных же случаях пользователь сам волен решать, какой вариант он считает более удобным для себя. |