You are on page 1of 18

Лабораторна робота №1

Тема: Визначники. Матриці та дії над ними.


Мета: ознайомлення студентів із основними поняттями та алгоритмами
обчислення визначників і виконання дій з розділу алгебри матриць; набуття
практичних навичок розв’язування вищевказаних задач із використанням
прикладного пакету MathCad.

Теоретичні відомості
Загальні відомості про MathCad
MathCad – система комп'ютерної алгебри, яка є представником класу систем
автоматизованого проєктування. Вона орієнтована на створення інтерактивних
документів з обчисленнями та візуальним супроводом, відрізняється легкістю
використання та інтуїтивно зрозумілим інтерфейсом. Для введення формул та
даних можна використовувати як клавіатуру, так і спеціальні панелі інструментів.
Перша версія MathCad вийшла у 1986 році. Вона була задумана та реалізована
Алленом Раздовом з Массачусетського технологічного інституту (MIT),
співзасновником компанії Mathsoft, яка з 2006 року є частиною корпорації PTC
(Parametric Technology Corporation).
Деякі з математичних можливостей MathCad (версії до 13.1 включно)
ґрунтуються на підмножині системи комп'ютерної алгебри Maple (MKM, Maple
Kernel Mathsoft). Починаючи з 14 версії, використовується символьне ядро
MuPAD. Після версії 15 з’явилась низка версій Mathcad Prime, інтерфейс яких
істотно відрізнявся від попередніх версій. Найновіша версія (2022 р.) – це Mathcad
Prime 8.0.0.
У всіх версіях Mathcad робота здійснюється в межах робочого аркуша
(інтерактивного блокноту), на якому математичні об’єкти відображаються
графічно, на противагу текстовому запису у мовах програмування. Під час
створення документів-додатків використовується принцип WYSIWYG (What You
See Is What You Get — «що бачиш, те й одержуєш»). Цей підхід був прийнятий
такими системами, як (Wolfram) Mathematica, Maple, Maxima, MATLAB.
MathCad досить зручно використовувати для навчання, обчислень та
інженерних розрахунків. Підтримка технологій .NET і XML, а також відкрита
архітектура програми дозволяють легко інтегрувати MathCad практично в будь-які
ІТ-структури та інженерні програми, а також використовувати у великих
інженерних проєктах, де велике значення має трасування та відповідність
стандартам.
Інтерфейс користувача MathСad 15 наведено на рис. 1.1.

5
Рис. 1.1. Користувацький інтерфейс MathСad 15

Пункти головного меню листа мають таке ж призначення, як і в інших


програмних продуктах сімейства Windows. Зупинимось детальніше на пункті
головного меню View → Toolbars → Math, який містить операції символьної
математики. Для введення знаків математичних або логічних операцій, символів
грецького алфавіту та ін. необхідно користуватись кнопками панелі математичних
інструментів

Рис. 1.2. Панель математичних інструментів у MathСad 15

6
Математична панель (рис. 1.2) складається з наступних кнопок:
Арифметична панель (Калькулятор), Панель графіків, Панель векторів та
матриць, Панель обчислень, Панель математичного аналізу, Панель відношень
та булевих функцій, Панель програмування, Панель грецьких літер, Панель
символьних операцій.

Значок Панель Назва панелі

Арифметична панель (Калькулятор)

Панель графіків

Панель векторів та матриць

Панель обчислень

Панель математичного аналізу

7
Панель відношень та булевих функцій

Панель програмування

Панель грецьких літер

Панель символьних операцій

При натисканні вказаних кнопок відбувається доступ до палітри для швидкого


вибору конкретних операторів. При виборі курсором символу відповідного значка
він переноситься у робочий лист.
У MathСad є два види об’єктів: формули і текстові блоки, які називаються
математичними і текстовими областями відповідно. Введені в документ формули
автоматично приводяться до стандартної форми запису. Результати обчислень
автоматично змінюються, як тільки змінюються значення величин. У текстових
блоках розміщується коментарі, тобто пояснення, які не обчислюються. Для того,
8
щоби фрагмент сприймався як текстовий блок, потрібно виконати Insert → Text
Region (Вставка → Текстова область), потім у виділеній області набрати
потрібний текст або коментар. Аналогічно можна вставляти математичні області.
Математичні області інтерпретуються в MathСad як послідовні вказівки для
виконання обчислень, записаних у цих областях. MathСad дотримується такої
послідовності при виконанні обчислень: зліва направо та зверху вниз. Якщо у
виразі допущено помилку, то MathСad, по можливості, самостійно виправить її, а
якщо не може – виділить червоним кольором і припинить обчислення.
Інтерфейс користувача версій MathCad Prime схожий на інтерфейси програм,
що входять у MS Office версій після 2007 року. На рис. 1.3 наведено інтерфейс
найновішої версії MathCad Prime 8.0.0.

Рис. 1.3. Інтерфейс користувача MathСad Prime 8.0.0

Аналоги більшості панелей версії MathСad 15 у версіях MathСad Prime


містяться на вкладці «Математика». У лівій частині даної вкладки міститься
панель «Області» (рис. 1.4)

Рис. 1.4. Панель «Області» вкладки «Математика» (MathСad Prime)

9
Кнопка Результат натискання кнопки
Додає в документі область формул

Додає в документі блок розв’язку, в якому


потрібно (в залежності від типу задачі):
1) ввести значення початкового наближення
розв’язку;
2) задати існуючі обмеження;
3) знайти розв’язок із використанням одного з
методів find, minerr, minimize, maximsze або
odesolve

Додає в документ діаграму, що дозволяє


візуалізувати дані

Додає в документ текстову область на всю


ширину сторінки. При розширенні текстові
блоки зсувають інші області вниз
Додає в документ текстову область, ширину якої
можна регулювати
Додає в документ кнопку,

натискання на яку відкриває діалогове вікно, у


якому обирається зображення для вставки в
документ

Панель «Оператори» вкладки «Математика» (рис. 1.5) складається з

підпанелей «Алгебра» (аналог панелі «Калькулятор» у версії 15), «Разбивка

уравнения», «Векторы и матрицы» (аналог панелі векторів та матриць у

версії 15), «Математический анализ» (аналог панелі аналізу у версії 15),

«Определение и вычисление» (аналог панелі обчислень у версії 15),


«Проектирование», «Сравнение» (аналог панелі відношень та булевих функцій

у версії 15).
10
Рис. 1.5. Панель «Оператори» вкладки «Математика» (MathСad Prime)

При наведенні вказівника миші на кнопку панелі/під панелі з’являється


детальна підказка (див. рис. 1.5).
На панелі «Програмування» (рис. 1.6), яка є аналогом панелі програмування

у версії 15, містяться символи та команди для реалізації програм користувача


(зокрема, оператори присвоєння, організації циклів, умовні оператори).

Рис. 1.6. Панель «Програмування» вкладки Рис. 1.7. Панель «Константи» вкладки
«Математика» (MathСad Prime) «Математика» (MathСad Prime)

На панелі «Константи» (рис. 1.7) містяться математичні константи – числа


e та  і безмежність, що зображається у вигляді дуже великого числа 10307, а також
деякі фізичні константи.

11
Рис. 1.8. Панель «Символи» вкладки Рис. 1.9. Панель «Символьні операції»
«Математика» (MathСad Prime) вкладки «Математика» (MathСad Prime)

Панель «Символи» (рис. 1.8) є розширеним аналогом панелі грецьких літер

у версії 15 – у версіях Prime на панель символів також додано математичні


символи, деякі літери єврейського алфавіту, які використовуються у математичній
та фізичній літературі, символи грошових одиниць та теги.
Панель «Символьні операції» (рис. 1.9) у версіях Prime також є ширшим

аналогом панелі символьних обчислень версії 15.


Усі вбудовані функції поміщено на вкладці «Функції» (рис. 1.10).

Рис. 1.10. Вкладка «Функції» (MathСad Prime)

Для роботи із графіками призначена вкладка «Графіки» (рис. 1.11), яка є

аналогом панелі графіків версії 15.


12
Рис. 1.11. Вкладка «Графіки» (MathСad Prime)

Для роботи з матрицями та таблицями у версіях Prime є окрема вкладка


«Матриці/таблиці» (рис. 1.12).

Рис. 1.12. Вкладка «Матриці/таблиці» (MathСad Prime)

Зауважимо, що для багатьох операторів/шаблонів у MathCad є комбінації


клавіш (їх можна побачити на підказках, які з’являються при наведенні курсора
миші на відповідну кнопку панелі – див. рис. 1.13), з допомогою яких можна
вставляти в робочу область потрібний шаблон, не використовуючи відповідні
панелі. Зокрема, на рис. 1.13 видно, що для того, щоб у робочій області з’явився
оператор присвоєння :=, потрібно на клавіатурі набрати звичайну двокрапку :

MathCad v15 MathCad Prime


Рис. 1.13. Підказка комбінації, яку потрібно ввести з клавіатури,
щоби отримати оператор присвоєння

Наведемо найбільш часто вживані комбінації:


Комбінація на Виконувана дія (призначення
Оператор
клавіатурі оператора)
локальне присвоєння змінній
x : y x: y
x значення y
глобальне присвоєння змінній
xy x~ y
x значення y
x x вивід значення x
x y x y додавання x та y
xy xy віднімання y від x
x y x* y множення x та y

13
x
, x: y x/ y ділення x на y
y
b Ctrl Shift + / a b c
a *у v15 знак ділення не мішаний дріб
c потрібен

xy x^ y піднесення x до степеня y
\x
*у версіях Prime
x вставляється шаблон, добування кореня з x
де можна додатково
вказати степінь кореня
обчислення факторіала
n! n!
натурального числа n
Bn B[n ввід нижнього індексу n
ввід подвійного нижнього
Am ,n A[m, n
індексу
АCtrl6n ввід верхнього індексу для
n 
A *у версіях Prime не
векторів і матриць
працює
вставка шаблону матриці
*у версіях Prime вставляє квадратні
дужки – шаблон одноелементної матриці;
далі можна додати бажану кількість
CtrlМ рядків та стовпців кнопками вставки

Робота з матрицями та визначниками у MathCad


Для створення векторів та матриць у MathСad потрібно виконати наступні дії:
1. Введення імені вектора чи матриці та знака присвоєння.

2. Встановити розмірність вектора чи матриці (вказати кількість рядків


та стовпців).

Панель математичних інструментів → Панель матриць → Матриця

У полі Rows потрібно вказати необхідну кількість рядків матриці, а у полі


Columns - необхідну кількість стовпців матриці. Після заповнення полів необхідно
натиснути ОК.

14
3. У порожні маркери записати елементи вектора чи матриці.
Зауважимо, що у MathCad нумерація рядків/стовпців матриці починається
з нуля, а не з одиниці. Для того, щоб нумерація була звичною (рядки та стовпці
нумеруються з одиниці), слід на початку файла записати команду ORIGIN:=1.
При роботі з матрицями у MathCad можна скористатись Функціями
повернення характеристик матриці:
1. Повернення кількості стовпців матриці – функція cols(M):

2. Повернення кількості рядків матриці – rows(M):

3. Повернення рангу матриці – rank(M):

4. Повернення суми елементів головної діагоналі квадратної матриці – tr(M):

5. Повернення середнього значення масиву елементів – mean(M):

15
6. Повернення медіани масиву елементів – median(M):

7. Повернення максимального елемента – max(M):

8. Повернення мінімального елемента – min(M):

Також при роботі з матрицями можна використати Матричні оператори:


1. Обернена матриця: .

2. Обчислення визначника: .

3. Транспонування матриці: .

16
4. Вивід n-го стовпця матриці: .

5. Вивід n-го рядка матриці:

6. Обчислення суми елементів вектора :

Зокрема, з допомогою цієї функції можна обчисляти суму елементів певного


рядка чи стовпця матриці:

7. Вивід елемента M i , j матриці M :


8. Векторизація матриці: M – процедура, що є прикладом виходу за лаштунки
загальноприйнятих математичних правил. З допомогою використання
векторизації дії з матрицями виконуються поелементно, тобто,
використовуючи цю процедуру, матриці можна поелементно перемножити,
17
поелементно поділити, додати чи відняти від усіх елементів матриці певне
число. Приклади використання векторизації:

Для знаходження суми всіх елементів матриці, треба використати подвійну

суму (двічі поспіль натиснути значок суми з верхньою та нижньою межею з


панелі Математичний аналіз)

Суму елементів деякого рядка чи стовпця матриці можна шукати аналогічно:

Матриці можна об’єднувати:


1. Об’єднання двох матриць (з однаковою кількістю рядків) в одну: augment(А, В)
– функція повертає матрицю, утворену дописуванням матриці В справа до
матриці А.
2. Об’єднання двох матриць (з однаковою кількістю стовпців) в одну: stack(А, В) –
функція повертає матрицю, утворену дописуванням матриці В нижче матриці А.
18
Також можна виділяти з матриці підматрицю: функція submatrix(A, beg_r,
end_r, beg_c, end_c) повертає матрицю, яка є частиною матриці A, що знаходиться
між рядками beg_r, end_r та стовпцями beg_c, end_c включно:

Можна створювати матриці спеціального вигляду:


1. Створення одиничної квадратної матриці розмірності n  n – з використанням
команди identity(n)
2. Створення діагональної матриці, на головній діагоналі якої знаходяться
елементи вектора V – з використанням команди diag(V)

3. Створення матриць із відомим законом задання загального елемента:


а) з допомогою функції matrix(m,n,f), де m – кількість рядків матриці, n –
кількість стовпців матриці, f(i,j) – закон утворення елемента, який знаходиться
на перетині i-го рядка та j-го стовпця:

Відносним недоліком цього способу є те, що значення параметрам i, j


надаються, починаючи з нуля (функція ORIGIN у даному випадку не діє).
б) з допомогою вказання діапазону зміни індексів числа рядків та стовпців і
задання формули загального члена:
19
Завдання для самостійного виконання (лабораторна робота №1):
1. Обчислити визначник:
1) безпосередньо;
2) розкладом за елементами i-го рядка або j-го стовпця
1 n  7 1 n 0
1 2 0 n
4  ,
0 1 2 3
n  10 n5 4 0
n - порядковий номер студента у списку групи, i, j див у табл. 1.
Таблиця 1
№, n вхідні дані №, n вхідні дані
1 i 1 11 i2
2 j 1 12 j2
3 i2 13 i3
4 j2 14 j 3
5 i3 15 i4
6 j 3 16 j4
7 i4 17 i 1
8 j4 18 j 1
9 i 1 19 i2
10 j 1 20 j2

2. Для матриць A43  (aij )i1,4; j1,3 та B34  (bkl ) k1,3; l1,4 знайти:

1)  A   BT ( BT  B* – матриця, транспонована до матриці B );


2) добутки AB та BA і пересвідчитись, що AB  BA ;
 2 0 n  25 

3) матрицю C 1 , де C  n  1 1 2  ;

 0 1 1 

виконати перевірку: C 1C  CC 1  E , де E – одинична матриця
відповідного порядку;
4) перевірити рівність ( AB)T  BT AT .
20
Таблиця 2
№ вхідні дані № вхідні дані
2 2 3
ai , j  2i  3 j  5 , bk ,l  k  3l  1 ; ai , j  i  j , bk ,l  k  2l  5 ;
1 11
  2 ,   3   5 ,   3
ai , j  i  4 j  6 , bk ,l  2k 3  l  2 ; ai , j  i 2  j  20 , bk ,l  2k  3l ;
2 12
  1,   2   1,   7
ai , j  i  3 j  5 , bk ,l  k 2  l 2  4 ; ai , j  i  j 2  4 , bk ,l  k 2  2l ;
3 13
  3 ,   4   8 ,   3
ai, j  3i 2  4 j  7 , bk ,l  k  l  1 ; ai , j  i 2  2 j  3 , bk ,l  k  l  2k ;
4 14
  3 ,   5   4 ,   9
ai , j  3i  4 j  2 , bk ,l  k 2  l ; ai , j  3i 2  4 j , bk ,l  k  5l  2 ;
5 15
  4 ,   1   6 ,   5
ai , j  i 2  5 j  9 , bk ,l  k  3l  2 ; ai, j  2i 2  j 2  10 , bk ,l  5k  2l ;
6 16
  6 ,   2  7,  4
ai , j  2i 2  8 j  11 , bk ,l  2k  l ; ai , j  2i 3  j  8 , bk ,l  k  l  3 ;
7 17
  7 ,   3   7 ,   3
ai, j  3i 2  4 j  7 , bk ,l  k  (l  1) ; ai, j  3i 2  4 j  7 , bk ,l  k  (l  1) ;
8 18
  10 ,   1   4,  5
ai , j  3i 2  8 j  7 , bk ,l  3k  (l  1) ; ai , j  2i  7 j  1 , bk ,l  3k 2  2l ;
9 19
  3 ,   4   2 ,   4
ai, j  2i 2  9 j  12 , bk ,l  3k  2l ; ai , j  i  2 j  3 , bk ,l  3k 2  5l  1 ;
10 20
  2 ,   3   8 ,   5

T
3. Побудувати матрицю D , виконавши злиття матриць A та B із завдання 2 у
наступний спосіб: дописати матрицю A справа до матриці BT (з використанням
функції augment). Для отриманої матриці D визначити з допомогою спецфункцій:
 кількість рядків;
 кількість стовпців;
 найбільший та найменший елемент;
 суму всіх елементів матриці;
 вивести елементи i-го рядка (непарні варіанти) або j-го стовпця (парні
варіанти) (i, j див. у табл. 3);
 елемент dij (i, j див. у табл. 3).

21
Таблиця 3
№, n вхідні дані №, n вхідні дані
1 i  1, j  6 11 i  3, j  2
2 i  2, j  5 12 i  4, j 1
3 i  3, j  4 13 i  1, j  3
4 i  4, j  3 14 i  2, j  4
5 i  1, j  2 15 i  3, j  5
6 i  2, j 1 16 i  4, j  6
7 i  3, j  6 17 i  1, j  1
8 i  4, j  5 18 i  2, j  2
9 i  1, j  4 19 i  3, j  3
10 i  2, j  3 20 i  4, j  4

22

You might also like