18c0693f

Линейная алгебра и аналитическая геометрия

2.1. Примеры решения задач линейной алгебры при помощи электронных таблиц Gnumeric

В электронных таблицах Gnumeric имеются следующие функции для работы с матрицами:

MMULT(array1, array2) - возвращает произведение двух матриц;

MDETERM(array) - возвращает определитель матрицы; MINVERSE(array) - возвращает обратную матрицу.

Ниже рассмотрим три примера на эти функции.

Задача 2.1. Умножение матриц

Зададим матрицы-сомножители:

1 2 3 А= 2 3 4 0 1 3

На рис. 2.1 представлены эти матрицы, введенные в лист Кни-ги1 табличного процессора Gnumeric. Элементы матрицы А размещены в ячейках B2:D4, а элементы матрицы B - в ячейках B6:C8.

Произведение C=AB представляет собой матрицу с тремя строками и двумя столбцами. Для того, чтобы табличный процессор мог разместить результат умножения, необходимо выделить место размещения ячеек новой матрицы (на рис. 2.1 - ячейки B10:C12).

Произведение матриц найдем при помощи функции MMULT. Для ее вызова следует нажать кнопку <f(x)>, находящуюся во второй строке меню.

Появляется панель «Селектор функций», в котором необходимо выбрать в левом окне категорию «Математические», а затем в правом окне - функцию MMULT.

После нажатия кнопки «Вставка» появится панель «Помощник по формулам».

Рис. 2.1. Ввод исходных данных и выделение места для результата

В этой панели следует указать в двух строках (выделяя в листе рабочей книги ячейки) диапазоны адресов ячеек, в которых находятся элементы матриц-сомножителей.

Обязательно пометить галочкой пункт «Ввести функцию как массив», иначе будет выведено только одно значение, а именно вц. После нажатия кнопки «ОК» в выделенных ячейках появится

результат умножения (см. рис. 2.4). Рис. 2.2. Выбор функции Рис. 2.3. Ввод аргументов в функцию Рис. 2.4. Результат умножения

Задача 2.2. Вычисление определителя

Для вычисления определителя используем те же электронные таблицы Gnumeric. На рис. 2.5 показана матрица А, чей определитель необходимо вычислить.

Вычисление определителя осуществляется функцией MDETERM (см. рис. 2.6).

После выбора функции на панели «Помощник по формулам» необходимо указать диапазон ячеек, в которых находятся элементы матрицы (рис. 2.7). Это осуществляется при помощи выделения мышкой на рабочем листе.

После нажатия кнопки «ОК» в ячейке В7 появляется результат: -1 (см. рис. 2.8).

Рис. 2.5. Ввод матрицы и указание ячейки (В7), куда будет помещен результат

К1 Селектор функций

Выбор функции для вставки

Категория

Функция

Финансовые

Gnumeric

Информационные

Логические

Поиск

Теория чисел

Случайные числа

Статистические

Строковые

Математические

Описание

ІодІО

mdeterm

ті inverse

mmult

mod

m round

mu tinomia

MDETERM(MaTpHqa)

Функция MDETERM возвращает детерминант заданной матрицы.

* Если ^-матрицасодержит неравное число строки столбцов, возвращается ошибка #VALLE'.

* Эта функция совместима с Excel.

Справка

Отменить

?З Вставка

Рис. 2.6. Выбор функции

W *Книга1.gnumeric : Gnumeric

Файл Правка вид Вставка Формат сервис данные справка

bans

,Г Помощник по формулам

=mdeterm(j

Название Тип Функция/Аргумент

array Область

Лист! B2:D4

А=

det А= I =mdeterm()

0 Ввести как функцию массива

Справка

отменить

Листі Лисг2 ЛистЗ

ф В ставка I

<DIR>

сумма=о

<DIR>

<DIR>

Рис. 2.7. Ввод области данных

Рис. 2.8. Результат расчета

Задача 2.3. Вычисление обратной матрицы

Для примера используем ту же матрицу (см. рис. 2.9). Для результата обязательно следует выделить необходимое место (там же, ячейки B6:D8). Обратная матрица вычисляется при помощи функции MINVERSE (рис. 2.10).

Рис. 2.9. Ввод исходной матрицы и выделение места для результата

60 Рис. 2.10. Выбор функции

На панели «Помощника по формулам» (рис. 2.11) необходимо указать диапазон размещения данных (это можно сделать выделением мышкой на рабочем листе). Обязательно нужно пометить галочкой пункт «Ввести как функцию массива», иначе вместо всей обратной матрицы будет указан только левый верхний элемент. S Г *Книга1.gnumeric : Gnumeric _ П X {^Д^1ааВмй1)1йШД1Ш|1ИЁ11Дщ г Помощник по формулам и Sans Название Тип Функция/Аргумент ? minverseO массив Область Лисг1!В2:[>4 Отменить ОК

** =minverseQ А в с 1 2 1 2 3 з А= 2 3 4 4 0 1 3 5 6 = minverse([) 7 >

>

і-1

II « 9 10 11 12 0 ІВвести как функцию массива

Справка Рис. 2.11. Ввод параметров формулы

После нажатия кнопки «ОК» в выделенных ранее ячейках появится результат (рис. 2.12).

I? *Книга1 .gnumeric? Gnumeric

Файл Правка Вид Вставка Формат Сервис Данные Справка

т [іо т іа) Ц| I

] S3 ш

Sans

СЮ

{=тпиіЩЛист1!В2:04;Лист1!В6:ОЭ)ХЗ;3)[0][0] А В С D Е F G 1 2 1 2 3 = 3 А= 2 3 4 4 0 1 3 5 6 -5 3 1 7 Ал-1= 6 -3 -2 S — 2 1 1 9 10 Проверка 1 0 0 11 В=А*АЛ1= 0 1 0 12 0 0 1 Рис. 2.12. Результаты расчета

Для проверки, ниже показан результат умножения исходной матрицы на обратную. Как можно видеть, в ячейках C10:E12 находится единичная матрица, следовательно, обратная матрица найдена правильно.

2.2. Решение систем линейных алгебраических уравне

нии

Следующий пример, решение систем линейных алгебраических уравнений решим дважды. Один раз - при помощи табличного процессора OpenOffice.org Calc, а второй - при помощи программы Maxima.

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

г Ъхі+ 4x2 + 3x^~ Х4 = 16

- 2 xi - 4 Х3 + 2 Х4 = — 6

- 2xi + Х2 - ЗХ3 + 3x4= 3 - xi + 3x2 - 2X3 — 3x4 = -13

Это уравнение можно переписать в матричном виде: AX=B.

B = х = ^ 3 4 3 -Л f 16 Л

Здесь А =

-20-4 2

-21-3 3

-1 3 -2 -3

Домножим матричное уравнение слева на A"1. Получим A-lAX= A-1B, или EX=A-1B, или X=A-1B. Таким образом, для решения этой системы необходимо найти обратную матрицу и произвести матричное умножение.

Задача 2.4. Решение систем линейных алгебраических уравнений при помощи табличного процессора OpenOffice.org Calc

Первое действие - ввод исходных данных, а именно, матриц А и В (рис. 2.13). Кроме этого, целесообразно сразу же выделить место для обратной матрицы, указав положение левого верхнего элемента.

Второе действие - нахождение обратной матрицы. Для этого необходимо использовать функцию обращения матриц MINVERSE. Вызов функций происходит через «Мастер функций». Для этого следует нажать комбинацию клавиш «Ctrl»+«F2». Появится соответствующая панель (рис. 2.14).

Последовательность выбора:

- в разделе «Категория» выбирается пункт «Массив»;

- в появившемся списке функций выбирается нужная функция «MINVERSE»;

- нажимается кнопка «Далее».



Рис. 2.13. Ввод исходных данных Рис. 2.15. Выбор функции при помощи «Мастера функций»

После нажатия кнопки «Далее» появляется окно ввода адресов параметров (рис. 2.16). Диапазон ячеек, в которых находятся элементы матрицы А (ячейки В1:Е4) целесообразно указать мышкой на рабочем листе.

После проверки, установлена ли галочка в окне «Массив» (внизу слева), можно нажать кнопку «ОК». На рабочем листе появляется результат (рис. 2.17).

После нахождения обратной матрицы можно начинать подготовку к вычислению вектора неизвестных (рис. 2.18). Указав верхнюю ячейку столбца, в котором будут располагаться результат расчетов, вызываем нажатием клавиш «Ctrl»+«F2» «Мастер функций», в котором выбираем функцию умножения матриц MMULT (рис. 2.19).

В два окна по очереди вводим диапазоны ячеек в которых находятся элементы обоих сомножителей (первый - обратная матрица А-1, второй - вектор свободных коэффициентов В).

Рис. 2.16. Ввод параметров функции

Рис. 2.17. Результат вычисления обратной матрицы Рис. 2.18. Подготовка к вычислению вектора неизвестных Рис. 2.19. Ввод параметров в функцию

После нажатия кнопки «ОК» на рабочем листе появятся результаты расчета (рис. 2.20): xi=1, x2=2, x3=3, x4=4.

Рис. 2.20. Результаты решения системы

Задача 2.5. Решение систем линейных алгебраических уравнений при помощи программы Maxima

Исходные данные используем те же, что и в задаче 4. Т.е. необходимо решить систему уравнений

Ъхі+ 4x2 + ЗХ3- Х4 = 16

- 2 xi - 4 Х3 + 2 Х4 = — 6

- 2xi + Х2 - ЗХ3 + 3x4 = 3

- xi + 3x2 - 2Х3 — 3x4= -13

Первый способ.

Используем специальную функцию solve, которую можно вызвать через кнопку «Решить» в нижней части окна программы (рис. 2.21).

Рис. 2.21. Панель «Решить»

В верхнее окно панели «Решить» обычным текстом, через запятую и без пробелов, вводятся все уравнения (рис. 2.22). В качестве знака умножения используется символ «*». Рис. 2.22. Ввод уравнений

В нижнем окне панели «Решить» вводятся, также через запятую и пробелов, все неизвестные, которые нужно определить. Следует отметить, что решение может быть не только числовым, но и символьным. После нажатия кнопки «ОК» в основном окне программы Maxima появляется решение (рис. 2.23, строка %о1).

Рис. 2.23. Решение системы

Второй способ

Теперь решим эту же систему через матрицы. Попутно освоим матричные операции в среде Maxima.

В нижней строке окна программы (окно «ВВОД») набираем «А:», а затем через пункты меню «Алгебра»==> «Ввести матрицу» (рис. 2.24) вызываем панель «Матрица», в которой задаем размерность матрицы 4х4 (рис. 2.25), после чего вводим элементы матрицы (рис. 2.26).

После ввода всех чисел и нажатия кнопки «ОК» в главном окне программы Maxima будет напечатана матрица А (рис. 2.27).

После этого, аналогично вводим матрицу В (рис. 2.28.. .2.30).

axfma 0.7.2[ не сохранено J

Алгебра

Анализ Упростить Графики

Файл Правка Maxima Уравнения

Создать матрицу

Ввести матрицу ...

Обратить матрицу Характеристический полином ... Определитель Собственные значения Собственные вектора Сопряженная матрица Транспонировать матрицу

/ *

-&х14ахіта 0.1.2 http://і Maxima 5.12.0 Using' Lisp GNU Common 1 Distributed under the C Dedicated to the memory This is a development \ provides bug reporting

(%il)

Создать список ...

Применить к списку ...

Применить к элементам списка .. Применить к элементам матрицы

Рис. 2.24. Создание и ввод новой матрицы Ввести матрицу Ввести матрицу

5 4 5 -1 -2 0 -4 2 -2 1 -5 3 -с 3 -2 1

05 Отмена ок

Рис. 2.25. Определение Рис. 2.26. Ввод значений элементов матри-структуры матрицы цы

This is a development ve provides bug reporting i

(%il)



(%ol)

A:matrix( [3,4,3,-1] , [-2,0,-4,2], [-2,1,-3,3] , [-1,3,-2,-3]

) r









ы_

ВВОД:

INI Упростить Упростить (рац) 1 Фак [ Упростить [триг) Раскрыть [триг) 1 Приі Готова к вв Рис. 2.27. Результат ввода Рис. 2.28. Определение матрицы-матрицы системы A столбца

Рис. 2.29. Ввод матрицы B

После ввода матрицы В, печатаем «С:АЛЛ-1;» и получаем обратную матрицу (рис. 2.31).

Примечание: для нахождения обратной матрицы следует использовать команду «ЛЛ-1».

Окончательно найдем решение, умножив матрицы C и B: для этого напечатаем «X:C.B;» (рис. 2.32).

Примечание: матричное умножение задается обычной точкой.

Как видим, опять получили то же самое решение.

Rt>x Файл Правка Maxima Уравнения ? в а ш ? * ? « © (%ІІЗ) С:АЛЛ-1; 17 33 35 11 43 8 ё 43 43 4 17 12 5 43 8 € 43 43 (%о13) : €7 2 2 2 43 8ё 43 43 3 1 9 7 43 43 43 43 (%І 14) ББСД: Упростить Упростить (рай) I фа Упростить (триг) Раскрыть (триг) 1[пр

Рис. 2.30. Матрица Рис. 2.31. Обратная мат- Рис. 2.32. Решение

рица