WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «Кузбасский государственный технический университет» Кафедра вычислительной техники и информационных технологий РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ СРЕДСТВАМИ MS EXCEL Методические указания к лабораторной работе по дисциплине «Информатика» для студентов всех специальностей инженерно-экономического факультета Составители А.Г. Пимонов М.П. Лазеева Утверждены на заседании кафедры Протокол № 7 от 17.01.06 Рекомендованы к печати учебно-методической комиссией специальности 351400 Протокол № 7 от 17.01.06 Электронная копия хранится в библиотеке главного корпуса ГУ КузГТУ КЕМЕРОВО 2006 2 СОДЕРЖАНИЕ 1. СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ..........3 2. РЕШЕНИЕ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ СИСТЕМ...................4 2.1. Табличные формулы и операции с матрицами...................................5 2.2. Группировка рабочих листов..................................................................6 2.3. Метод Крамера...........................................................................................8 2.4. Матричный способ решения.................................................................10 2.5. Поиск решения.........................................................................................11 3. ЗАДАНИЕ ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ........13 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ.......................................16 3 1. СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Многие задачи экономического характера сводятся к решению систем линейных уравнений. Систему [1] вида a11x1 + a12x2 +K+ a1nxn = b1, a x1 + a22x2 +K+ a2nxn = b2, 21 (1) LLLLLLLLLLL, an1x1 + an2x2 +K+ annxn = bn, принято называть системой n линейных алгебраических уравнений (СЛАУ) с n неизвестными. При этом произвольные числа aij (i = 1, 2,…, n; j = 1, 2,…, n) называются коэффициентами системы (коэффициентами при неизвестных), а числа bi (i = 1, 2,…, n) – свободными членами. Такая форма записи (1) алгебраической линейной системы называется нормальной. Решением СЛАУ (1) называется совокупность чисел xi (i = 1, 2,…, n), при подстановке которых в систему каждое из ее уравнений обращается в тождество.

Систему (1) можно записать в матричной форме (2) A X = B, где A – матрица коэффициентов при неизвестных (матрица системы):

a11 a12 L a1n a a22 L a2n, A = (3) L L L L an1 an1 an1 an X – вектор-столбец неизвестных X = (x1, x2, …, xn)T:

x x X = (4) L, xn B – вектор-столбец свободных членов:

b b B = (5) L, b n или B = (b1, b2,..., bn)T. Целое число n называется размерностью системы.

Система (2) может быть записана в развернутом виде a11 a12 L a1n x1 b xa a22 L a2n b 21 = (6) L L.

L L L L an1 an2 L ann xn bn Система уравнений (6) называется совместной, если она имеет хотя бы одно решение, и несовместной – в противном случае. Совместная система (6) называется определенной, если она имеет единственное решение, и неопределенной, если она имеет больше одного решения.

2. РЕШЕНИЕ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ СИСТЕМ Вопросы исследования СЛАУ (6) на совместность оставим за пределами нашего рассмотрения. Все же методы решения линейных алгебраических систем принято делить на два класса: прямые и итерационные. Прямыми называются методы решения СЛАУ, которые приводят к решению за конечное число арифметических операций. В случае точной реализации операций решение будет точным, поэтому и прямые методы иногда называют точными. Итерационными методами называют такие методы, в которых точное решение может быть получено за счет реализации многократно повторяющихся действий (итераций). Эффективность способов решения системы (6) во многом определяется свойствами матрицы (3) A (размерностью, симметричностью, заполненностью и т.д.). MS Excel располагает рядом возможностей для работы с матрицами.

2.1. Табличные формулы и операции с матрицами Табличные формулы или формулы массива – очень мощное вычислительное средство Excel, позволяющее работать с блоками рабочего листа как с отдельными ячейками. Табличные формулы в качестве результата возвращают массив значений. Поэтому перед вводом такой формулы необходимо выделить диапазон ячеек, куда будут помещены результаты. Потом набирается сама формула. Ввод ее в выделенный диапазон ячеек осуществляется нажатием комбинации клавиш Ctrl+Shift+Enter. Это принципиально.

Формула вводится во все ячейки выделенного интервала. При активизации любой ячейки из интервала, содержащего формулу массива, в строке формул отображается введенная формула, заключенная в фигурные скобки.

Именно фигурные скобки являются признаком табличной формулы. Для выделения всего блока, содержащего табличную формулу, необходимо выделить одну из его ячеек, после чего нажать комбинацию клавиш Ctrl+/.

Невозможно редактировать содержимое только одной ячейки из интервала с табличной формулой. Изменить можно только весь блок целиком, для чего он и должен быть предварительно выделен.

Например, пусть необходимо сложить две матрицы размера 33. Элементы первой матрицы (9 элементов) разместим в интервале A1:C3, второй – в диапазоне E1:G3. Под результат выделим интервал A5:C7. После чего, не снимая выделения, введем формулу =A1:C3+E1:G3, нажав комбинацию клавиш Ctrl+Shift+Enter. В ячейках интервала A5:C7 отобразится результат – сумма соответствующих элементов матриц, а в строке формул мы увидим {=A1:C3+E1:G3}. Пусть вместо сложения нам надо умножить первую матрицу на число 2. Для этого перемещаемся внутрь интервала A5:C7, выделяем его, нажав комбинацию Ctrl+/, вносим в формулу исправления =A1:C3*2, вводим ее нажатием Ctrl+Shift+Enter. В интервале A5:C7 увидим результат умножения, а в строке формул – табличную формулу {=A1:C3*2}.



К простейшим операциям с матрицами принято относить следующие [2]: сложение и вычитание матриц, умножение и деление матрицы на число, перемножение матриц, транспонирование, вычисление обратной матрицы.

Умножение (деление) матрицы на число, сложение (вычитание) матриц в Excel реализуются достаточно просто: с помощью обычных формул (поэлементное сложение или вычитание, умножение или деление на число), либо с использованием табличных формул, как это было описано выше. Для остальных матричных операций в Excel предусмотрены функции рабочего листа из категории «Арифметические и тригонометрические функции» [3]:

1) МОПРЕД(матрица) – вычисление определителя матрицы, 2) МОБР(матрица) – вычисление обратной матрицы, 3) МУМНОЖ(матрица1;матрица2) – произведение матриц, 4) ТРАНСП(матрица) – транспонирование матрицы.

Первая из этих функций в качестве результата возвращает число (определитель матрицы), поэтому вводится как обычная формула (Enter). Последние три возвращают блок ячеек, поэтому должны вводиться как табличные формулы (Ctrl+Shift+Enter).

2.2. Группировка рабочих листов Рассмотрим задачу решения СЛАУ на следующем примере 8x1 + 2x2 - 8x3 = -24, (7) - 2x1 - 2x2 -10x3 = -48, - 2x1 + 4x2 + 8x3 =18.

Т.е. будем решать систему из трех алгебраических уравнений относительно трех неизвестных. Размерность системы (7) n=3, матрица системы A (3) размерности 33 имеет вид 8 2 - A = 2 - 2 -10, (8) - 2 4 а вектор-столбец свободных членов (5) B=(-24, -48, 18)T.

Попытаемся решить СЛАУ (7) в среде MS Excel тремя различными способами. Для чего создадим рабочую книгу из трех листов и назовем ее Решение СЛАУ.xls. Поскольку исходные данные для трех различных способов решения (а значит и трех рабочих листов книги) одни и те же (матрица системы A (8) и вектор-столбец свободных членов B), то неплохо было бы их одновременно ввести в эти рабочие листы. Excel предоставляет такую возможность. Этот инструмент называется группировкой рабочих листов [4].

Для того, чтобы применить средство Группа, необходимо выделить группируемые рабочие листы, щелкнув первый рабочий лист (Лист1), на котором будут вводиться данные, а затем, удерживая клавишу Ctrl, щелкнуть ярлычки листов (Лист2 и Лист3), куда одновременно должны вводиться те же самые данные. Либо, если группируемые рабочие листы расположены подряд, как в нашем случае, при выделенном первом (Лист1) щелкнуть, удерживая нажатой клавишу Shift, на ярлычке последнего (Лист3). После этого можно вводить данные на текущем рабочем листе, они автоматически появятся в одноименных ячейках на всех остальных сгруппированных листах. Признаком группировки нескольких листов является появившееся в строке заголовка слово [Группа] ([Group]), заключенное в квадратные скобки (рис. 1). После ввода группировку необходимо отменить. Для отмены необходимо выбрать любой из листов, не входящих в группу, либо щелкнуть правой кнопкой мыши на любом ярлычке листа из группы и выполнить команду Разгруппировать листы.

Для решения рассматриваемой СЛАУ (7) сгруппируем листы (Лист1:Лист3), разместим в ячейках текущего листа (Лист1) A1, B2, D2, A6:A9 соответствующие поясняющие тексты (заголовки), в интервале A3:C5 – элементы матрицы A (8), а в интервале D3:D5 – элементы вектора B. Интервал B7:B9 зарезервируем под искомое решение – вектор X (4).

После этих манипуляций все три рабочих листа примут одиРис. наковый вид (рис. 1). Перед дальнейшей работой не забудьте разгруппировать рабочие листы.

2.3. Метод Крамера Метод Крамера большинству известен еще со школьной скамьи. Решение СЛАУ (6) находится по формулам Крамера det A det A det A, X = det A (9) LLL det An det A где det A = A– определитель матрицы (3) системы (главный определитель), det Ai = Ai (i = 1, 2, …, n)– определители матриц Ai (вспомогательные определители), которые получаются из A заменой i-го столбца на столбец свободных членов B (5). Линейная алгебраическая система несовместна (не имеет решений), если det A=0. Для рассматриваемой СЛАУ (7) вспомогательные матрицы имеют следующий вид - 24 2 - 8 8 - 24 - 8 8 2 - A1 = - 48 - 2 -10, A2 = 2 - 48 -10, A3 = 2 - 2 - 48.

(10) - 18 4 - 2 18 8 - 2 4 Разместим их на рабочем листе (рис. 2). Причем сделаем это не путем простого копирования соответствующих значений, а вводом формул с использованием абсолютных ссылок (рис. 3) на элементы матрицы A из интерРис. Рис. вала A3:C5 и элементы вектора B из интервала D3:D5 (рис. 1). Во-первых, это ускорит процесс ввода матриц Ai (i = 1, 2, 3) (формулы введем только в интервал A11:C13 матрицы A1 и в интервал E11:E13 первого столбца матрицы A2, далее же будем их блоками только копировать: A11:A13 в F11:F13 и в K11:K13, B11:B13 в J11:J13, C11:C13 в G11:G13, E11:E13 в I11:I13). Во-вторых, это сделает проектируемую таблицу универсальной в том смысле, что можно будет изменять только исходные данные (матрицу системы A в интервале A3:C5 и вектор-столбец свободных членов B в D3:D5), а все остальное (в том числе и решение СЛАУ) будет автоматически вычисляться.

Далее, воспользовавшись функцией МОПРЕД(матрица), вычислим определители всех матриц (рис. 4). Аналогичная формула Рис. (=МОПРЕД(A3:C5)) для вычисления определителя матрицы A записана в ячейку E8. Осталось по формулам Крамера (9) найти решение системы (7). Соответст- Рис. вующие формулы Excel запишем в интервал решения B7:B9 (рис. 5), в котором и увидим результат (рис. 6). Обратите внимание на то (рис. 5), что при вычислении xi (i = 1, 2, 3) анализируется Рис. значение определителя матрицы системы A, вычисленное в ячейке E8, и, если оно равно нулю (система несовместна), то в B7 помещается текст «Решения нет», а в ячейки B8 и B9 – пустые строки.





2.4. Матричный способ решения Матричный способ решения СЛАУ (6) достаточно прост. Обе части матричного равенства (2) умножим слева на обратную матрицу А-1. Получим A-1AX=A-1B. Т.к. A-1A=E, где E – единичная матрица (диагональная матрица, у которой по главной диагонали расположены единицы). Тогда решение системы (2) запишется в следующем виде X = A-1 B. (11) Т.е. для решения системы (2) (вычисления вектора-столбца X (4)) необходимо найти для матрицы A (3) обратную A-1 и умножить ее справа на векторстолбец B (5) свободных членов. Для чего, воспользовавшись функциями Excel МУМНОЖ(матрица1;матрица2) и МОБР(матрица), введем в интервал B7:B9 следующего рабочего листа (Лист2) табличную, т.е. используя для ввода комбинацию Ctrl+Shift+Enter, мегаформулу =МУМНОЖ(МОБР(A3:C5);D3:D5). После чего в строке формул увидим {=МУМНОЖ(МОБР(A3:C5);D3:D5)}, а в интервале B7:B9 – решение, точно такое же, как и в предыдущем случае (рис. 6).

2.5. Поиск решения Широкий класс экономических задач составляют задачи оптимизации.

Задачи оптимизации предполагают поиск значений аргументов, доставляющих функции, которую называют целевой, минимальное или максимальное значение при наличии каких-либо дополнительных ограничений. MS Excel располагает мощным средством для решения оптимизационных задач. Это инструмент-надстройка, который называется Поиск решения (Solver) [5]. Поиск решения доступен через меню Сервис/Поиск решения.

Задачу решения СЛАУ (1) можно свести к оптимизационной задаче.

Для чего одно из уравнений (например, первое) взять в качестве целевой функции, а оставшиеся n-1 рассматривать в качестве ограничений. Запишем систему (1) в виде a11x1 + a12x2 +K+ a1nxn - b1 = 0, a x1 + a22x2 +K+ a2nxn - b2 = 0, (12) LLLLLLLLLLL, an1x1 + an2x2 +K+ annxn - bn = 0.

Тогда задача оптимизации для Поиска решения может звучать следующим образом. Найти значения X = (x1, x2, …, xn)T, доставляющие нуль функции, стоящей слева в первом уравнении системы (12), при n-1 ограничениях, представленных оставшимися уравнениями.

Для решения этой задачи необходимо записать выражения (формулы) для вычисления значений функций, стоящих слева в уравнениях системы (12). Отведем под эти формулы интервал C7:C9 текущего рабочего листа (Лист3). В ячейку Cвведем формулу Рис. =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. Осталось, обратившись к пункту меню Сервис/Поиск решения, в окне диалога (рис. 7) задать параметры поиска (установить целевую ячейку Cравной нулю, решение в изРис. меняемых ячейках B7:B9, ограничения заданы формулами в ячейках C8 и С9). После щелчка по кнопке Выполнить в интервале B7:B9 получим результат (рис. 8) – решение СЛАУ (7).

В завершение работы можно защитить ячейки созданных таблиц от несанкционированного, часто случайного, изменения и скрыть формулы, по которым находится решение СЛАУ. Для этого существует стандартное средство Excel – пункт меню Сервис/Защита/Защитить лист. Перед этим необходимо снять защиту с ячеек, содержащих исходные данные (A3:C5 – элементы матрицы A (8), и D3:D5 – элементы вектора B), выделив эти интервалы, выбрав меню Формат/Ячейки вкладка Защита и сбросив флажок Защищаемая ячейка. Для ячеек же, содержащих формулы, надо в этом диалоге (Формат ячеек) установить флажок Скрыть формулы.

Надо знать, что после такой защиты невозможно будет воспользоваться средством Поиск решения. Поэтому защитить ячейки и скрыть формулы можно на первом и втором листах. В случае необходимости можно скрыть и отображаемую в ячейках информацию, поставив в соответствие этим ячейкам пользовательский формат ;;; (три точки с запятой).

3. ЗАДАНИЕ ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ В соответствии с номером варианта выберите из приведенных ниже систему линейных алгебраических уравнений четвертого (n=4) порядка.

Приведите ее к нормальному виду (1). Разработайте таблицы Excel для решения выбранной СЛАУ тремя различными способами:

1) методом Крамера (п. 2.3), 2) матричным способом (п. 2.4), 3) используя Поиск решения (п. 2.5).

Варианты систем линейных алгебраических уравнений:

8x1 + 4x2 - 6x3 +18 = 0, - 8x1 + 2x2 - 2x4 - 34 = 0, - 2x1 - 4x3 - 6x4 + 2 = 0, - 6x1 - 4x2 - 2x3 - 2x4 - 24 = 0, 1) 2) 6x + 4x2 + 4x3 + 6x4 +14 = 0, -10x1 + 2x2 + 4x4 - 68 = 0, 4x1 + 6x2 + 8x3 + 8x4 + 6 = 0; - 2x1 - 6x2 + 8x3 - 4x4 + 36 = 0;

6x1 - 4x3 - 4x4 + 34 = 0, 8x1 + 2x2 - 2x3 + 32 = 0, 2x + 4x3 + 2x4 +14 = 0, -10x1 +10x3 - 20 = 0, 3) 4) 2x - 8x2 - 8x3 - 6 = 0, - 8x1 - 4x2 + 2x4 - 44 = 0, - 2x1 -10x2 + 6x3 + 4x4 + 2 = 0; -10x1 - 4x2 +10x3 + 2x4 - 24 = 0;

2x1 + 6x2 + 4x3 +16 = 0, 6x1 - 2x2 +10x3 + 4x4 + 46 = 0, - 6x1 + 8x2 + 4x3 + 2x4 - 34 = 0, - 6x1 - 4x2 +10x3 +10x4 - 36 = 5) 6) - 2x2 + 6x3 -10x4 + 60 = 0, x3 - 4x4 +19 = 0, 6x1 -10x2 + 2x3 - 81x4 + 78 = 0;

8x2 - 4x3 + 10x4 - 60 = 0;

6x1 + 8x3 - 6x4 + 2 = 0, - 4x1 + 6x2 - 4x3 - 6x4 +18 = 0, 10x -10x2 - 2x3 - 8x4 - 42 = 0, 4x +10x2 - 8x3 + 2x4 +18 = 0, 7) 4x - 2x2 - 2x3 +10x4 -12 = 0, 8) 2x - 6x3 + 6x4 = 0, 1 - 4x1 - 2x2 - 2x3 - 4 = 0; - 2x3 - 2x4 - 2 = 0;

Pages:     || 2 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.