Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДК 681(исправлено).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
489.98 Кб
Скачать

2.7. Лабораторная работа 7

Действия с матрицами. Макросы

Цель работы

  • Изучить особенности работы с матрицами;

  • Научиться заполнять таблицы случайными числами;

  • Научиться создавать, записывать и выполнять макросы.

Пример задания

Решить систему линейных алгебраических уравнений (СЛАУ) 7-го порядка и проверить решение. Создать макрос для решения системы линейных уравнений.

А11*х1+ А12*х2+ А13*х3+ А14*х4+ А15*х5+ А16*х6+ А17*х7= В1

А21*х1+ А22*х2+ А23*х3+ А24*х4+ А25*х5+ А26*х6+ А27*х7= В2

А31*х1+ А32*х2+ А33*х3+ А34*х4+ А35*х5+ А36*х6+ А37*х7= В3

А41*х1+ А42*х2+ А43*х3+ А44*х4+ А45*х5+ А46*х6+ А47*х7= В4

А51*х1+ А52*х2+ А53*х3+ А54*х4+ А55*х5+ А56*х6+ А57*х7= В5

А61*х1+ А62*х2+ А63*х3+ А64*х4+ А65*х5+ А66*х6+ А67*х7= В6

А71*х1+ А72*х2+ А73*х3+ А74*х4+ А75*х5+ А76*х6+ А77*х7= В7

Порядок выполнения работы

Представим СЛАУ в виде:

А*Х=В,

где А – матрица коэффициентов;

Х – вектор решения;

В – вектор свободных членов.

Тогда, вектор решения будет равен

Х=А-1*В,

где А-1 – матрица, обратная матрице А.

Заполняем матрицу А и вектор свободных членов В случайными числами в диапазоне от -10 до 10. Для этого в ячейку А3 заносим формулу =ОКРУГЛ(СЛЧИСЛ()*20-10;1), затем распространяем ее на области (A3:G9) и (I3:I9). Значения в этих ячейках будут меняться при каждом пересчете, что неудобно. Закрепить значения в ячейках можно, заменив формулы их значениями. Выделив область (A3:G9), скопируем ее в буфер (Правка\Копировать). Замет вставим в эти же ячейки только значения (Правка\Специальная вставка\Значения). Аналогично поступим с областью (I3:I9).

А

B

С

D

E

F

G

Н

I

1

Матрица коэффициентов

Свободные

2

члены

3

9,5

6

-2,6

6,2

2,1

6,4

-9,4

2,8

4

-8,7

1,3

-2,8

-1,1

-1,6

-8,2

-3,8

1,7

5

-2,2

-8,7

-7,9

0,5

-4,9

7,2

3,7

-9,8

6

4,2

-2,9

-9,9

-7,2

7,2

6

-1,8

5,7

7

-0,8

-9

2,6

4,8

-0,7

-9

8,2

1,6

8

6

7,9

1,7

1,8

2,4

-4,7

2,3

-2,5

9

-0,6

-6,4

9,3

2

3,2

-8,1

9,5

3,1

Рис.2.15. Рабочий лист «Система ЛАУ»

Чтобы получить обратную матрицу коэффициентов, с помощью мастера функций занесем в ячейку А14 формулу =МОБР(A3:G9) и особым образом распространим ее на область (A14:G20). Для этого нужно выделить область (A14:G20), переместить указатель мыши в строку формул (под панелью инструментов) и щелкнуть левой клавишей мыши. Затем нужно последовательно, не отпуская, нажать три клавиши Ctrl, Shift и Enter. В выделенной области появится обратная матрица.

Для формирования вектора решения в ячейку I14 помещаем формулу =МУМНОЖ(A14:G20; I3:I9) и распределяем ее описанным выше способом на ячейки (I14:I20).

А

B

С

D

E

F

G

Н

I

12

Обратная матрица коэффициентов

Вектор

13

решения

14

-0,084

-0,189

-0,195

0,02

0,255

-0,054

-0,286

1,1222962

15

0,023

0,076

0,1

-0,024

-0,148

0,118

0,108

-1,1147542

16

-0,027

-0,076

-0,091

-0,032

0,019

-0,078

-0,025

0,6500473

17

0,159

0,161

0,206

-0,033

-0,174

0,084

0,265

-1,1502893

18

0,137

0,18

0,169

0,052

-0,246

0,072

0,347

-0,1672515

19

0,053

0,036

0,124

-0,016

-0,17

0,019

0,158

-0,9240579

20

0,002

0,05

0,149

-0,008

-0,127

0,126

0,147

-1,4804543

Рис.2.16. Решение системы ЛАУ

Макросы

Если при работе с MS Excel возникает необходимость несколько раз выполнить одну и ту же последовательность действий, то можно записать эту последовательность под определенным именем. Запи­санная последовательность называется макросом. Его можно вызы­вать для выполнения из основного меню, а также с помощью кнопки на панели инструментов или в рабочей области. Макрос записывается на языке Visual Basic for Application и может быть отредактирован.

Создадим макрос для решения системы линейных уравнений 5-го порядка.

На новом листе заполним вручную матрицу коэффициентов и вектор свободных членов.

Выполним команду Сервис / Запись макроса / Начать запись В появившемся окне диалога введем имя макроса "Решение" и укажем клавишу быстрого вызова Ctrl+R. В поле ввода Описание можно ука­зать назначение макроса. После нажатия кнопки ОК все действия бу­дут записываться в макрос. На экране появится кнопка Остановить макрос.

Сначала очистим область, где будут располагаться обратная матрица и вектор решения. Очистка нужна для повторных запусков макроса на выполнение. Затем сформируем обратную матрицу и век­тор решения. В заключение нужно остановить запись макроса. Кроме нажатия на кнопку Остановить макрос можно использовать меню ко­манду Сервис / Запись макроса / Остановить запись.

После записи макроса он появляется в списке макросов под именем "Решение". Для вызова макроса нужно выполнить команду Сервис/Макрос. Затем найти требуемый макрос и нажать кнопку Вы­полнить. Можно также воспользоваться назначенной клавишей быст­рого вызова Ctrl+R

Вызвать макрос можно и нажатием кнопки мыши на графическом объекте, связав его с макросом. Нарисуем закрашенный овал с надпи­сью "Решение". Нажмем правую кнопку мыши на графическом объекте. Появится меню со списком команд. Выберем Назначить макрос. В окне диалога выберем макрос "Решение", нажмем кнопку ОК. Щелкнем кнопкой мыши вне объекта. Теперь для вызова макроса достаточно щелкнуть кнопкой мыши на этом графическом объекте.

Аналогично можно назначить макрос рисунку, созданному само­стоятельно в графическом редакторе либо взятому из каталога.

Макрос можно назначить пользовательской, стандартной кнопке или кнопке, расположенной на листе.

Нарисуем кнопку и назначим ей макрос. Включите панель инст­рументов Формы (Вид/Панели инструментов/Формы) Нажмите на этой панели кнопку Кнопка, установите курсор в то место листа, где будет располагаться кнопка и, удерживая нажатой кнопку мыши, выде­лите прямоугольник. Отпустите кнопку мыши и в появившемся окне диалога "Назначить макрос объекту" выберите макрос "Решение". На­жмите кнопку мыши на созданной кнопке и введите вместо номера кнопки требуемый текст. Щелкните кнопкой мыши вне объекта. Нажми­те правую кнопку мыши на созданной кнопке. В появившемся меню выберите команду Формат и установите нужные параметры шрифта и выравнивания.

Для размещения пользовательской кнопки на панели инструмен­тов выполняем Вид/Панели инструментов/Настройка. На вкладке Команды выбираем категорию Макросы. Настраиваемую кнопку пере­мещаем с помощью мыши на панель инструментов. Щелкнув по ней правой кнопкой в контекстном меню назначаем нужный макрос, выби­раем значок для кнопки.

Самостоятельное задание

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

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

Сформируйте макрос для проверки правильности решения сис­темы линейных уравнений. Поместите на лист рисунок из каталога Windows и назначьте ему макрос проверки решения.