Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_3.docx
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
119.31 Кб
Скачать

Лабораторная работа № 3

Решение задач линейной алгебры средствами Excel

Цель работы: ознакомление с приемами работы по использованию табличных функций, функций для работы с матрицами, выработка навыков по решению систем линейных уравнений, созданию и применению макросов.

Теоретические сведения. Технология работы

3.1. Табличные функции

Табличные формулы (array formula) — мощное средство Excel, позволяющее в формулах обращаться с диапазонами, как с обычными ячейками, что дает возможность получать компактные решения сложных задач.

Пример 3.1. На рис. 3.1 приведены данные о работе фирмы за несколько месяцев. Необходимо вычислить для каждого месяца доход как разность прихода и расхода.

А

В

С

D

1

Месяц

Приход

Расход

Доход

2

Январь

200

150

3

Февраль

360

230

4

Март

410

250

Рис. 3.1

Эту задачу можно решить двумя способами.

1 способ. В ячейку D2 введем формулу = В2–С2, а затем скопируем ее любым способом в ячейки D3 и D4.

2 способ. Выделим диапазон D2:D4. Активной ячейкой в этом диапазоне является D2, наберем в ней знак равенства =, затем выделим диапазон В2:В4, наберем знак минус, выделим диапазон С2:С4. После набора формулы нажимаем не клавишу Enter, как ранее при вводе формулы, а Ctrl + Shift + Enter (при нажатии клавиши Enter должны быть нажаты обе клавиши Ctrl и Shift). Во всех ячейках диапазона появится формула {=B2:B4–C2:С4}. Фигурные скобки, окружающие формулу, говорят о том, что это табличная формула. Эти скобки нельзя набирать вручную (формула будет воспринята как текст). Если после ввода подобной формулы нажать клавишу Enter, то формула будет введена только в активную ячейку диапазона.

Отредактировать формулу можно следующим образом: выделить диапазон с формулой, нажать клавишу F2, внести изменения в формулу и нажать клавиши Ctrl + Shift + Enter. Нельзя очистить одну из ячеек, занятых табличной формулой. Например, если выделить ячейку D3 и нажать клавишу Delete, то будет выведено сообщение «Нельзя изменять часть массива». Удалить диапазон можно только целиком.

Пример 3.2. В диапазоне А1:Н1 записаны числа. Требуется найти минимальное по модулю значение.

Эту задачу также можно решить двумя способами.

В 1-м случае надо использовать вспомогательную 2-ю строку, в которую записать абсолютные значения чисел 1-й строки (в ячейку А2 ввести формулу = ABS(A1), а затем эту формулу скопировать в ячейки В2:Н2). После этого в ячейку А3 записать формулу =МИН(А2:Н2). Результат представлен на рис. 3.2.

А

B

C

D

E

F

G

H

1

-9,5

3,8

6,2

-0,1

0,2

3,8

-7,2

6,3

2

9,5

3,8

6,2

0,1

0,2

3,8

7,2

6,3

3

0,1

Рис. 3.2

2-й способ не требует заполнения вспомогательной строки, достаточно в ячейку А3 записать формулу =МИН(ABS(A1:Н1)) и нажать клавиши Ctrl + Shift + Enter. Результат: 0,1.

При решении подобных задач применение табличных формул не является обязательным, а при решении задач, связанных с матрицами, без таких формул не обойтись.

3.2. Операции с матрицами

Матрицы широко используются для математического описания объектов и процессов. Excel в полной мере поддерживает действия над матрицами, что позволяет использовать Excel для решения задач линейной алгебры, прежде всего для операций с матрицами и решения систем линейных уравнений.

Основные операции над матрицами и соответствующие им функции Excel следующие:

  • транспонирование матрицы — функция ТРАНСП(массив) из категории Ссылки и массивы;

  • вычисление определителя матрицы — функция МОПРЕД(мас-сив) из категории Математические;

  • нахождение обратной матрицы — функция МОБР(массив) из категории Математические;

  • умножение матриц — функция МУМНОЖ(массив1;массив2) из категории Математические;

  • сложение и вычитание матриц;

  • умножение матрицы на число.

Рассмотрим каждую операцию и ее применение в Excel.

Транспонирование. В транспонированной матрице АТ (или А') столбцы исходной матрицы А заменяются строками, т.е. если А = (aij), то АТ = (aji). Из определения транспонированной матрицы следует, что если исходная матрица А имеет размер m n, то транспонированная матрица АТn m.

Пример 3.3. Транспонировать матрицу А, записанную в ячейках А2:С3. Для выполнения поставленной задачи выделим диапазон ячеек под транспонированную матрицу, например, Е2:F4, нажмем в строке формул кнопку fx (Вставка функции), в появившемся диалоговом окне Мастер функций — шаг 1 из 2 в рабочем поле Категория выберем Ссылки и массивы, а в рабочем поле Функция — имя функции ТРАНСП и нажмем кнопку ОК. В появившемся диалоговом окне Аргументы функции в поле Массив укажем диапазон исходной матрицы A2:C3 и нажмем клавиши Ctrl + Shift + Enter. В диапазоне E2:F4 появится транспонированная матрица (рис. 3.3).

Табличную формулу можно набирать с клавиатуры без обращения к Мастеру функций. Если перед вводом формулы выделить диапазон E2:G4, то в «лишних» ячейках появится #Н/Д, т.е. «Неопределенные данные», а если выделить меньший диапазон, например Е2:F3, то будет выведена только часть матрицы без каких-либо сообщений.

А

В

С

D

E

F

1

Матрица А

Матрица АТ

2

2

3

4

2

7

3

7

8

9

3

8

4

4

9

Рис. 3.3

Вычисление определителя. Важной характеристикой квадратных матриц является их определитель. Определитель (или детерминант) — это число, вычисляемое на основе значений элементов матрицы. Определитель матрицы А обозначается как |А| или det A. Для матрицы А второго порядка |А| = а11 а22а12 а21. С ростом порядка матрицы n резко увеличивается число слагаемых определителя (n!). Функция МОПРЕД(массив) облегчает вычисления. Для вычисления определителя квадратной матрицы, записанной в ячейках А2:С4, необходимо в ячейке А6 записать формулу =МОПРЕД(А2:С4) и нажать клавишу Enter. Если какая-либо ячейка в матрице пуста или содержит текст, то функция МОПРЕД возвращает значение ошибки #ЗНАЧ!. Функция МОПРЕД также возвращает значение ошибки, если матрица имеет неравное количество строк и столбцов.

В матричных операциях можно использовать массив констант. Это матрицы, в которых элементы строк разделены точкой с запятой, а строки отделяются двоеточием. Если в какую-либо ячейку записать формулу =МОПРЕД({3;2;1:3;2;4:1;0;1}), то будет получен результат 6.

Нахождение обратной матрицы. Матрица A-1 называется обратной по отношению к квадратной матрице А, если при умножении этой матрицы на данную как слева, так и справа получается единичная матрица: АA-1 = А-1A = Е.

Как следует из определения, обратная матрица является квадратной того же порядка, что и исходная. Необходимым и достаточным условием существования обратной матрицы является невырожденность исходной матрицы. Матрица называется невырожденной, если ее определитель отличен от нуля. В Excel для нахождения обратной матрицы используется функция МОБР(массив). Массив может быть задан как диапазон ячеек, например, А1:С3, как массив констант, например, {3;2;1:3;2;4:1;0;1} или как имя диапазона, например, ma. Для вычисления матрицы, обратной к матрице, записанной в ячейках А2:С4, следует выделить диапазон ячеек, например, А6:С8 и ввести формулу =МОБР(А2:С4). Даже если для ввода формулы используется Мастер функций, завершать ввод надо нажатием клавиш Ctrl + Shift + Enter (вместо щелчка по кнопке ОК). В случае вырожденности исходной матрицы функция МОБР возвращает значение ошибки #ЧИСЛО!.

Умножение матриц. Произведение матриц определено, если число столбцов первой матрицы равно числу строк второй. Матрица Сmp называется произведением матриц Аmn и Вnp, если каждый ее элемент сij равен сумме произведений элементов i-й строки матрицы А на соответствующие элементы j-го столбца матрицы В.

Для матриц верны следующие свойства операции умножения:

  • ассоциативность: А(ВС) = (АВ)С;

  • дистрибутивность: А(В + С) = АВ + АС;

  • умножение матриц не коммутативно: АВВА;

  • если Е — единичная матрица, то ЕА = А; АЕ = А;

  • в алгебре матриц нет операции деления, выражение А/В не имеет смысла, его заменяют два различных выражения В-1А и АВ-1 (если существует В-1).

Для нахождения произведения двух матриц в Excel используется функция МУМНОЖ(массис1;массив2), при этом количество столбцов аргумента массив1 должно быть таким же, как количество строк аргумента массив2, и оба массива должны содержать только числа. Результатом является матрица с таким же числом строк, как массив1 и с таким же числом столбцов, как массив2. Если хотя бы одна ячейка в аргументах пуста или содержит текст, или число столбцов в аргументе массив1 отличается от числа строк в аргументе массив2, то функция МУМНОЖ возвращает значение ошибки #ЗНАЧ!.

Пример 3.4. Вычислить произведение матриц А и В. Матрица А записана в ячейках A2:C5, матрица В — в ячейках E2:F4 (рис. 3.4).

Для решения данной задачи необходимо выделить диапазон H2:I5, в который будет помещена результирующая матрица, набрать с клавиатуры или ввести с помощью Мастера функций формулу =МУМНОЖ(A2:C5;E2:F4) и нажать клавиши Ctrl + Shift + Enter.

A

B

C

D

E

F

G

H

I

1

Матрица А

Матрица В

Матрица С = АВ

2

4

6

2

1

5

48

18

3

2

8

5

6

1

70

-2

4

-1

3

3

4

-4

29

-14

5

7

9

2

69

36

Рис. 3.4

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

Умножение матрицы на число. Произведением матрицы Аmn на число k называется матрица В = kA, элементы которой bij = kaij для i = 1, 2, …, m, j = 1, 2, …, n. Для умножения матрицы А из примера 3.4 (рис. 3.4) на число 5 надо выделить диапазон А8:С11, ввести формулу =5*А2:С5 и нажать клавиши Ctrl + Shift + Enter.

Пример 3.5. Вычислить X = А-1С·СТ, где А — квадратная матрица второго порядка, С — матрица размером 2  3.

Решение представлено на рис. 3.5.

A

B

C

D

E

F

G

H

I

1

Вычислить Х= А-1 – С*СТ

2

Матрица А

Матрица С

Матрица А-1

3

3

1

-8

-1

-3

1

-0,5

4

4

2

-2

5

4

-2

1,5

5

6

Матрица СТ

Матрица С*СТ

Матрица Х

7

-8

-2

74

-1

-73

0,5

8

-1

5

-1

45

-1

-43,5

9

-3

4

Рис. 3.5

В ячейках H3:I4 записана табличная формула {=МОБР(А3:В4)}, в ячейках А7:В9 — формула {=ТРАНСП(D3:F4)}, в ячейках D7:E8 —формула {=МУМНОЖ(D3:F4;A7:B9)}, а в ячейках H7:I8 — формула {=H3:I4–D7:E8}. Тот же результат можно получить и без вывода промежуточных матриц, для этого надо выделить диапазон, содержащий четыре ячейки, например, А11:В12 и ввести табличную формулу {=МОБР(А3:В4)–МУМНОЖ(D3:F4;ТРАНСП(D3:F4))}.

Для наглядности матрицам можно давать имена. Выделим диапазон с матрицей А и с помощью команды Присвоить имя (группа Определенные имена вкладки Формулы) дадим этой матрице имя ma, диапазону D3:F4 с матрицей С присвоим имя mc. Присвоить имя ячейке или диапазону можно по-другому: выделить ячейку или диапазон, щелкнуть мышью в поле имени (слева от строки формул), набрать в этом поле нужное имя и нажать клавишу Enter. Табличные формулы с использованием имен диапазонов можно записать так: {=МОБР(ma)}, {=ТРАНСП(mc)}, {=МОБР(ma)–МУМНОЖ(mc; ТРАНСП(mc))}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]