You are on page 1of 22

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

Використання чисельних методів в математичних пакетах. Базові операції


над матрицями та векторами

1. Мета роботи: навчитися використовувати оператори математичних


пакетів і створити програму використовуючи чисельні методи для виконання
базових операції над матрицями та векторами.

2. Теоретичні відомості
При розв’язанні задач математики часто доводиться мати справу з
таблицями чисел, які називаються матрицями. За допомогою матриць зручно
розв’язувати системи лінійних рівнянь, виконувати операції з векторами,
розв’язувати різноманітні задачі комп'ютерної графіки та інші інженерні задачі.
Матрицею називається прямокутна таблиця з чисел, що містить деяку кількість m
рядків і п стовпців. Числа т і п називаються порядками матриці. У випадку, якщо
т = п, матриця називається квадратної, а число m = n - її порядком.
Для запису матриць використовують подвійні квадратні або круглі дужки:

a1 1 a1 2  a1n  a1 1 a1 2  a1n 
 
a 2 1 a 2 2  a 2n  a2 1 a2 2  a2n 
    
або
  
 
am1 am2  am n  a a  a 
 m1 m2 m  n
Для короткого позначення матриці використовують одну латинську букву
(наприклад, A), або символ ||a ij || , а інколи для пояснення: А=||aij ||=(aij ), де (i= 1,
2, ..., т, j=1, 2, ..., n).
Числа aij, що входять до складу даної матриці, називаються її елементами. В
записі aij перший індекс і означає номер рядка, а другий індекс j – номер стовпця.
У випадку квадратної матриці:

1
 a1 1 a1 2  a1n 
 
 a2 1 a2 2  a2n 
   (1.1)

 
a a  a 
 n1 n2 n n
вводять поняття головної і бічної діагоналей. Головною діагоналлю матриці (1.1)
називається діагональ а11 а22 … ann цієї матриці, яка проходить через лівий верхній
і правий нижні її кути. Бічною діагоналлю тієї ж матриці називається діагональ аn1
а(n-1)2 … a1n , яка проходить через лівий нижній і правий верхній кути.
2.1. Базові операції над матрицями та їх властивості
Дві матриці є рівними, якщо ці матриці мають однакові порядки та всі їх
відповідні елементи збігаються. Над матрицями можна виконувати такі операції:
Додавання матриць. Сумою двох матриць A=||a ij || , де (i=1, 2, ..., т, j=1, 2, ..., n)
і В=||b ij ||, де (i = 1, 2, ..., т, j=1, 2, ..., n) однакових порядків т і п називається
матриця C=|| c ij || (і =1,2, ..., т; j = 1, 2, ...., п) порядку т і п, елементи сij якої
визначаються за формулою:
ci j = a i j + bi j , де (i=1, 2, ..., т, j=1, 2, ..., n) (1.2)
Для позначення суми двох матриць використовується запис C=А+В. Операція
суми матриць називається їх додаванням. Отже, за визначенням:

 a1 1 a1 2  a1n   b1 1 b1 2  b1n   (a1 +1 b1 )1 (a1 2+ b1 )2  (a1n + b1n ) 


     
 a2 1 a2 2  a2n   b2 1 b2 2  b2n   (a2 +1 b2 )1 (a2 2+ b2 )2  (a2n + b2n ) 
          +           =                
     
 a a  a   b b  b   (a + b ) (a + b )  (a + b ) 
 m1 m2 m  n  m1 m2 m  n  m1 m1 m2 m2 m n m n

З визначення суми матриць, а точніше з формул (1.2) безпосередньо випливає, що


операція додавання матриць має такі самі властивості, як і операція додавання
дійсних чисел, а саме:
1) властивість перестановки: А+В=В+А;
2) сполучна властивість (A+B)+С=А+(В+С);

2
Ці властивості дозволяють не піклуватися про порядок проходження матриць, що
складають, при додаванні двох або більшої кількості матриць.
Множення матриці на число. Добутком матриці A=||a ij || , де (i=1, 2, ..., m, j=1,
2, ..., n) на дійсне число λ , називається матриця C=|| c ij || (і =1,2, ..., m; j = 1,
2, ...., n), елементи якої визначаються за формулою:
ci j = λ ai j , де (i = 1, 2, ..., т, j=1, 2, ..., n) (1.3)
Для позначення добутку матриці на число використовується запис C=λ A або
C=А λ . Операція добутку матриці на число називається множенням матриці на
це число. Безпосередньо з формули (1.3) зрозуміло, що множення матриці на
число має наступні властивості:
1) сполучну властивість щодо числового множника: (λ µ )A=λ (µ A );
2) розподільну властивість щодо суми матриць: λ (A+B)=λ A+λ B;
3) розподільну властивість щодо суми чисел: (λ +µ )A=λ A+µ A

Віднімання матриць. Різницею двох матриць А і В розміром тxп називається така


матриця C розміром тxп, що в сумі з матрицею B дає матрицю A. Для позначення
різниці двох матриць використовується запис: C=A-В. Дуже легко переконатися в
тім, що різниця двох матриць А і В може бути отримана за правилом C=A+(–1)В.
Добуток матриць або множення матриць. Добутком матриць A=|| a ij || , де (i=1,
2, ..., m, j=1, 2, ..., n) розміром тxn, і В=||b ij || , де (i=1, 2, ..., n , j=1, 2, ..., р)
розміром nxр, називається матриця C=||c ij || (і =1,2, ..., m; j = 1, 2, ...., р) розміром
тxр елементи якої визначаються за формулою:
n
ci j = ∑ai k bk j , де (i = 1, 2, ..., m, j = 1, 2, ..., p) (1.4)
k=1

Для позначення добутку матриці А на матрицю B використовують запис С=А∙В.


Операція складання добутку матриці А на матрицю В називається
перемножуванням цих матриць. З сформульованого вище випливає, що матрицю
А можна помножити не на будь-яку матрицю В, необхідно, щоб число стовпців
матриці А дорівнювало числу рядків матриці В.
Формула (1.4) є правилом додавання елементів матриці C, що є добутком матриці
А на матрицю В. Це правило можна сформулювати так: елемент cij, що
знаходиться на перетині і-го рядка і j-го стовпця матриці С=А∙В, дорівнює сумі
попарних добутків відповідних елементів і-го рядка матриці А і j-го стовпця
матриці В.
Як приклад застосування зазначеного правила приведемо формулу множення
квадратних матриць другого порядку.

3
 a1 1a1  2  b1 b1  2  (a1 b11+ 1a1 b22) 1 (a1 b11 + 2a1 b22) 2
    
⋅ = 
 a2 1a2  2  b2 b12  2  (a2 b11+ 1a2 b22) 1 (a2 b11 + 2a2 b22) 2
З формули (1.4) випливають наступні властивості добутку матриць А на В:
1) сполучна властивість: (АВ)С=А(BC);
2) розподільне щодо суми матриць властивість: (A+B)C=АC+BC або
A(В+C)=AВ + АС.
Питання про перестановочном (переместительном) властивість добутку матриці A
на матрицю В має сенс ставити лише для квадратних матриць A і В однакового
порядку. Приведемо важливі окремі випадки матриць, для яких справедливо і
переста-новочну властивість. Дві матриці для добутку яких справедливо
перестановочну властивість, прийнято називати комутуючими. Серед квадратних
матриць виділимо клас так званих діагональних матриць, у кожної з яких
елементи, розташовані поза головною діагоналлю, дорівнюють нулю. Кожна
діагональна матриця порядку п має вигляд:

 d1 0  0 
 
 0 d2  0
D=
      (1.5)

 
0 0  d 
 n
де d1 , d2 , …, dn – будь-які числа. Видно, що якщо всі ці числа рівні між собою,
тобто d1 = d2 = … = dn то для будь-якої квадратної матриці А порядку п
справедлива рівність А D = D А.
Серед всіх діагональних матриць (1.5) зі співпадаючими елементами d1 =d2=
… =dn=d особливо важливу роль відіграють дві матриці. Перша із цих матриць
отримується при d=1, називається одиничною матрицею n-го порядку і
позначається символом Е. Друга матриця отримується при d=0, називається
нульовою матрицею n-го порядку і позначається символом O. Таким чином,

4
1 0  0  0 0  0 
   
 010  0 0  0
E=
      O=
     
   
0 0  1  0 0  0 
   
В силу доведеного вище А Е = Е А і А О = O А.. Більше того, легко показати, що
А Е = Е А = А, А O = O А = 0.. (1.6)
Перша з формул (1.6) характеризує особливу роль одиничної матриці Е,
аналогічну тій ролі, що грає число 1 при множенні дійсних чисел. Що ж
стосується особливої ролі нульової матриці O, те її виявляє не тільки друга з
формул (1.7), але і елементарно перевіряюча рівність: А + 0 = 0 + А = А.
Слід відмітити, що поняття нульової матриці можна вводити і для неквадратних
матриць (нульовою називають будь-яку матрицю, всі елементи якої дорівнюють
нулю).
Блокові матриці.
Припустимо, що деяка матриця A=||a ij|| за допомогою горизонтальних і
вертикальних прямих розбита на окремі прямокутні клітинки, кожна з яких являє
собою матрицю менших розмірів і називається блоком вихідної матриці. У такому
випадку виникає можливість розгляду вихідної матриці А як деякої нової (так
званої б л о к о в о ї) матриці А = ||Aα β ||, елементами якої служать зазначені
блоки. Зазначені елементи ми позначаємо великою латинською буквою, щоб
підкреслити, що вони є матрицями, а не числами і (як звичайні числові елементи)
постачаємо двома індексами, перший з яких вказує номер блокового рядка, а
другий - номер блокового стовпця.
Наприклад, матрицю

 a1 1 a1 2 a1 3 a1 4 a1 5 a1 6 
 
 a2 1 a2 2 a2 3 a2 4 a2 5 a2 6
 
A =  a3 1 a3 2 a3 3 a3 4 a3 5 a3 6
 
a 4 1 a4 2 a4 3 a4 4 a4 5 a4 6
a a a a a a 
 5 1 5 2 5 3 5 4 5 5 5 6
можна розглядати як блокову матрицю
5
 A1 A1  2
A=  
 A2 A21  2
елементами якої служать наступні блоки:

 a1 a1 a12 a31  4  a1 a1 5 6
A1 =  1  A1 =  2 
a a a a 
 2 12 2 32  4  a2 a21 2
 a3 1a3 a23 3a3  4  a3 a53  6
   
A2 = 1 a4 1a4 a24 3a4  4 A2 =  2a4 a54  6
  a a 
 a5 1a5 a25 3a5  4
   5 5 6
Основні операції із блоковими матрицями відбуваються за такими самими
правилами, за якими вони відбуваються зі звичайними числовими матрицями,
тільки в ролі елементів виступають блоки.
Поняття визначника (детермінанта). Розглянемо довільну квадратну матрицю
будь-якого порядку п:

 a1 1 a1 2  a1n 
 
 a2 1 a2 2  a2n 
A= 
 
(1.7)

 
a a  a 
 n1 n2 n n
6
З кожною такою матрицею зв'яжемо чисельну характеристику, яка називається
визначником і відповідає цій матриці. Якщо порядок n матриці (1.7) дорівнює
одиниці, то ця матриця складається з одного елемента аi j визначником першого
порядку відповідній такій матриці, ми назвемо величину цього елемента.
Якщо далі порядок п матриці (1.7) дорівнює двом, тобто якщо ця матриця має
вигляд

 a1 1a1  2
A=   (1.8)

 a2 1a2  2
то визначником другого порядку, що відповідає такій матриці, називається число,
рівне а11 а22 - а12 а21 і позначається одним із символів:

a1 1a1 2
=∆ d A=e t
a2 1a2 2
Отже, за визначенням:

a1 a1 1 2
∆ = d A= e = t1 aa 2 − 1 12aa 2 2 1 (1.9)

a2 a2 1 2
Формула (1.9) являє собою правило знаходження визначника другого порядку по
елементах відповідної йому матриці. Словесне формулювання цього правила таке:
визначник другого порядку, що відповідає матриці (1.8), дорівнює різниці
добутку елементів, що знаходяться на головній діагоналі цієї матриці, і добутку
елементів, що знаходяться на бічній її діагоналі. Визначники другого і більш
високих порядків знаходять широке застосування при розв’язанні систем лінійних
рівнянь.
2.2. Операції над матрицями та векторами в Mathcad
Розглянемо, як виконуються операції з матрицями в системі Mathcad.
Найпростіші операції матричної алгебри реалізовані в Mathcad у вигляді
7
операторів. Написання операторів за змістом максимально наближене до їх
математичної дії. Кожен оператор виражається відповідним символом.
Розглянемо матричні та векторні операції Mathсad. Вектори є частинним
випадком матриць розмірності nx1, тому для них справедливі всі операції, що і
для матриць, якщо обмеження особливо не обговорені (наприклад, деякі операції
застосовні тільки до квадратних матриць nxn). Деякі дії припустимі тільки для
векторів (наприклад, скалярний добуток), а інші, незважаючи на однаковий запис,
по-різному діють на вектори і матриці. При роботі з матрицями використовується
панель інструментів “Матрица”.

Нижній індекс Обернення (інверсія)

Створити матрицю Обчислення визначника


матрицу
Задати діапазон дискретної величини
Задати вектор
Транспонування
Скалярний добуток
Стовпець матриці
Векторний добуток
Сумування елементів вектора

Рис.1 Панель інструментів: Матрица

Для вводу матриці необхідно:


• ввести позначення матриці і знак присвоєння (двокрапка);
• натиснути на значок “створити матрицю” в панелі “Матрица”;
У діалоговому вікні, що з'явилося, введіть кількість рядків і стовпців матриці.

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


матриці. Для того, щоб ввести елемент матриці, встановіть курсор у відзначеній
позиції і введіть з клавіатури число або вираз. Для того, щоб виконати яку-небудь
операцію за допомогою панелі інструментів, потрібно:
• виділити матрицю і натиснути в панелі по кнопці операції, або натиснути
кнопку в панелі і ввести у визначеній позиції позначення матриці.
• В меню “Символи” вибрати операцію - транспонування, інвертування,
обчислення визначника (детермінанта). Обчислення визначника матриці
можна виконати командою Символи/Матриці/Визначник.
8
T
1 
 2  = ( 1 2 3)
 
3 
T  1 4
 1 2 3  
  =  2 5
 4 5 6 
 3 6

Номер першого Рис.2


рядкаТранспонування матриць
(і першого стовпця) матриці Mathcad зберігається в
змінній ORIGIN. За замовчуванням нумерація ведеться з нуля. В математиці
прийнято вести нумерацію від 1. Для того, щоб Mathcad почав нумерацію рядків і
стовпців з 1, потрібно задати значення змінної ORIGIN:=1. Функції, призначені
для роботи із задачами лінійної алгебри, зібрані в розділі “Векторы и матрицы”
діалогу “вставити функцію” (викликається кнопкою на панелі “Стандартні”).
Транспонування. Транспортуванням називають операцію, що переводить матрицю
розмірності mxn у матрицю розмірності nxm, замінюючи стовпці вихідної матриці
рядками, а рядки – стовпцями. Приклад наведений на Рис. 2. Введення символу
транспонування (transpose) здійснюється за допомогою панелі інструментів
Matrix (Матрица) або натисненням клавіш <Ctrl>+<1>.
Додавання  1 2 3 1 0 0
A :=   B :=  
 4 5 6  −1 −3 −4 

 2 2 3
A+B= 
 3 2 2

0 2 3 
A−B= 
 5 8 10 

Рис.3 Додавання матриць

В Mathcad можна як додавати, так і віднімати матриці. Для цього


використовуються символи <+> і <->. Матриці повинні мати однакову
розмірність. Кожен елемент суми двох матриць дорівнює сумі відповідних
 1 2 3
A :=   x := 1
 4 5 6

 2 3 4
A+ x= 
 5 6 7

 0 1 2
A−x= 
 3 4 5

9
Рис.4 Додавання матриці із скаляром

елементів, що додаються (приклад на Рис.3). Крім додавання матриць, Mathcad


підтримує операцію додавання матриці зі скалярною величиною, тобто числом
(приклад на Рис.4). Кожен елемент результуючої матриці дорівнює сумі
відповідного елемента вихідної матриці і скалярної величини. Результат зміни
знаку матриці еквівалентний зміні знака всіх її елементів. Для того щоб змінити
знак матриці, досить увести перед нею знак мінуса, як перед звичайним числом
(приклад на Рис.4).  1 2 3  −1 −2 −3 
A :=   −A =  
 4 5 6  −4 −5 −6 

Рис.5 Зміна знаку матриці


Множення
При множенні слід пам'ятати, що матрицю розмірності mxn можна множити
тільки на матрицю розмірності nxp (р може бути будь-яким). В результаті буде
матриця розмірності mxр. Щоб ввести символ множення, потрібно натиснути
клавішу із зірочкою <*> або скористатися панеллю інструментів Matrix
(Матриця), натиснувши на ній кнопку Dot Product (Множення) (Рис.1).
Множення матриць позначається за замовчуванням крапкою, як показано в
прикладі на Рис 6. Символ множення матриць можна вибирати точно так само, як
і у скалярних виразах. Спроба перемножити матриці A і B невідповідного
(однакового 2х3) розміри  1 2 3  1 0 0
A :=   B :=  
 4 5 6  −1 −3 −4 

A⋅B=

T
C := B

 1 −1 
C =  0 −3 
 0 −4 
 
 1 −19 
A⋅C= 
 4 −43 

Рис.6 Множення матриць

виявилася безрезультатною: після введеного знака рівності перебуває порожній


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

10
 1
(3 4 ) ⋅   = ( 11 )
 2

 1  3 4
  ⋅ (3 4 ) =  
 2  6 8

Рис.7 Множення вектора і рядка

Ще один приклад, що ставиться до множення вектора на матрицю-рядок й,


навпаки, рядка на вектор, наведений на Рис.7. У другому рядку цього приклада
показано, як виглядає формула при виборі відображення оператора множення No
Space (Разом). Однак той же самий оператор множення діє на два вектори по-
іншому. Аналогічно додаванню матриць зі скаляром визначається множення і
ділення матриці на скалярну величину (приклад на Рис. 8). Символ множення
вводиться так само, як й у випадку множення двох матриць. На скаляр можна
множити будь-яку матрицю розміру mxn.
 1 2 3 2 4 6  A  0.5 1 1.5 
A :=   A⋅2=  = 
 4 5 6  8 10 12  2  2 2.5 3 

Рис.8 Множення матриці на скаляр


Визначник квадратної матриці. Визначник (Determinant) матриці позначається
стандартним математичним символом. Щоб ввести оператор знаходження
визначника матриці, можна натиснути кнопку Determinant (Визначник) на панелі
інструментів Matrix (Матрица) (Рис. 1) або набрати на клавіатурі <|> (натиснувши
клавіші <Shift>+<\>). В результаті кожної із цих дій з'являється місце-
заповнювач, в який треба ввести матрицю. Щоб обчислити визначник введеної
матриці, потрібно виконати наступні дії:
• Перемістити курсор у документі таким чином, щоб помістити матрицю між
лініями уведення (нагадуємо, що лінії уведення - це вертикальний і горизон-
тальный відрізки синіх кольорів, що утворять область, яка вказує на
поточну область редагування).
• Ввести оператор знаходження визначника матриці. Ввести знак рівності,
щоб обчислити визначник. Результат обчислення визначника наведений у
прикладі на Рис. 9.
 1 0 0 
B :=  0 2 1 
 0 1 3  1 0 0 
 
 0 2 1 = 5
 0 1 3
 
B =5

Рис.9 Обчислення визначника матриці


11
Модуль вектора
Модуль вектора (vector magnitude) позначається тим же символом, що й
визначник матриці. По визначенню, модуль вектора дорівнює квадратному
кореню із суми квадратів його елементів (приклад на Рис.10).

 1 
 2  → 14 = 3.742
 3
 
Рис.10 Обчислення модуля вектора

Скалярний добуток векторів


Скалярний добуток векторів (vector inner product) визначається як скаляр,
дорівнює сумі попарних добутків відповідних елементів. Вектори повинні мати
однакову розмірність, скалярний добуток має ту ж розмірність. Скалярний
добуток двох векторів u і v дорівнює u v = | u | | v | cos ϕ , где ϕ — кут між
векторами. Якщо вектори ортогональні, їх скалярний добуток дорівнює нулю.
Позначається скалярний добуток знаком множения (приклад на Рис.11). Для
позначення скалярного добутку користувач також може вибирати представлення
оператора множення.
 1   4 
 2 ⋅  5  = 32
 3  6
   
Рис.11 Скалярний добуток векторів

Ніколи не застосовуйте для позначення скалярного добутку символ який є


загальновживаним символом векторного добутку. Слід зауважити, що по-різному
розставлені дужки повністю змінюють результат множення. Приклади такого
множення на Рис.12.
 1   4   7   224   1   4    7   224 
 2  ⋅  5  ⋅  8  =  256   2  ⋅  5  ⋅  8  =  256 
 3   6   9   288   3   6   9   288 
                
.
 1   4   7   122 
 2  ⋅  5  ⋅  8  =  244 
 3   6   9   366 
       
Рис.12 Особливості скалярного добутку векторів

12
Векторний добуток. Векторний добуток (cross product) двох векторів u і v з
кутом α між ними дорівнює вектору з модулем | u || v |∙ sin α , направленим
перпендикулярно площині векторів u і v. Позначають векторний добуток x, який
можна ввести натисненням кнопки Cross Product (Векторное произвение) в панелі
Matrix (Матрица) або клавішами <Ctrl>+<8>. Приклад наведено на Рис.13.

 1   4   −3 
 2 ×  5 =  6 
 3   6   −3 
     
Рис.13 Векторний добуток векторів

2.3. Операції над матрицями в Matlab

2 3  2 0 1 
   
Приклад 1: Обчислимо матрицю 2A-BA, де A = 1 0 і B = 1 − 2 2 .
   
 − 1 3  5 0 7 
   
% Введемо матриці A і B
A = [2 3; 1 0; -1 3];
B = [2 0 1; 1 -2 2; 5 0 7];
% Обчислимо 2A - BA
C = 2*A - B*A;
% Виводимо результат
disp(C);

13
 − 1 1 0   2 0 − 1
   
Приклад 2: Перевіримо, що матриці A = 0 − 1 1 і B = 0 2 0 перестановочні, а
   
 0 0 − 1  0 0 2 
   
2 8 3 
 
матриці A і C = 3 0 − 2 не перестановочні.
 
7 2 1 
 
% Введемо матриці A і B
A = [-1 1 0; 0 -1 1; 0 0 -1];
B = [2 0 -1; 0 2 0; 0 0 2];
% Перевіримо AB == BA
same(A*B,B*A) % Виведе 2 - так, 0 - ні. Перевірка на ідентичність.
% Введемо матрицю С
C = [2 8 3; 3 0 -2; 7 2 1];
% Перевіримо AC == CA
same(A*C,C*A) % Виведе 2 - так, 0 - ні.
>>
ans = 2
ans = 0

14
1 2 3
 
Приклад 3: Помножимо матрицю A = 4 5 6 на одиничну, скалярну і матриці
 
 7 8 9
 
 0 1 0  1 0 0
   
C1 =  21 0 0 і C2 =  31 0 1 
 0 0 1  0 1 0 
   
% Введемо матрицю A
A = [1 2 3; 4 5 6; 7 8 9];
% Введемо перестановочні матриці
C12 = [0 1 0; 1 0 0; 0 0 1];
C23 = [1 0 0; 0 0 1; 0 1 0];
% Перевіримо результат
C12 * A % Перестановка рядків
C23 * A % Перестановка рядків
A * C12 % Перестановка стовпців
A * C23 % Перестановка стовпців
% Як зробити засобами MATLAB
A([2 1 3], :) % Перестановка рядків
A([1 3 2], :) % Перестановка рядків
A(:, [2 1 3]) % Перестановка стовпців
A(:, [1 3 2]) % Перестановка стовпців

 2 − 1
Приклад 4: Для матриці A =   знайдемо A0, A1, A2.

3 1 
15
% Введемо матрицю A
A = [2 -1; 3 1];
% Обчислимо A^0, A^1, A^2 і виводимо результат
A^0, A^1, A^2
>>
ans = 1 0
0 1
ans = 2 -1
3 1
ans = 1 -3
9 -2

Приклад 5: Обчислимо визначник матриці четвертого порядку розкладанням по


1-ому рядку.

% Введемо матрицю A
A = [1 -2 3 0; 2 3 0 1; -7 5 6 7; 3 10 12 13];
% Обчислимо визначник розкладанням по першому рядку
detA1 = 1 * acomp(A,1,1) - 2 * acomp(A,1,2) + 3 * acomp(A,1,3);
% Обчислимо визначник за допомогою вбудованої функції
detA2 = det(A);
>> detA1 = 477
detA2 = 477.
2.4. Операції над матрицями в Maple
Для того, щоб використовувати більшість операторів лінійної алгебри необхідно
підключити бібліотеку LinearAlgebra.
> restart;
> with(LinearAlgebra);
Для ознайомлення з основними функціями пакету задамо декілька матриць,
показавши при цьому різні способи їх задавання.
> A:=matrix(3, 3, [-3, 9, -8, 18, -28, 27, 20, -36, 34]);

− 3 9 − 8 
 
A :=  1 8− 2 82  7
 2 0− 3 63  4
> B:=Matrix([[3, 0, 0], [8, -23, 24], [8, -26, 27]]);

16
3 0 0 
 
B :=  8 − 2 23  4
 8 − 2 62  7
> Transpose(B);

3 8 8 
3 8 8
 
0 -23 -26

 
27
 
0 24

B :=  0 − 2 3− 2  6
 0 2 42 7
Визначник і обернена матриця

Задамо квадратну матрицю 3х3 і назвемо її A.

> A := Matrix( 3, 3, [[1/2, -1/3, 2], [-5, 14/3, 9], [0, 11, -5/6]]);

1 − 1 
2 3 2
 
14
A :=  − 5 9
 3 
 

0 1 1 5
 6 
Обчислимо визначник даної матриці

> Determinant(A);

17
− 2881
18

Якщо визначник нерівний нулю, ми обчислюємо обернену матрицю

> MatrixInverse(A);

 1 8 5 2− 3 9 1 2 2 2
 2 8 8 12 8 8 12 8 8 1
 
 7 5 1 5 2 6 1
 2 8 8 15 7 6 2 8 8 1
 
 9 9 0 9 9 − 1 2 
 2 8 8 12 8 8 12 8 8 1
Визначимо ще одну матрицю B, яка містить невідомі Θ і φ.

> B := Matrix( 3, 3, [[phi, 0, 0], [0, 3, 2], [-1, 2/3, theta]] );

 
ϕ 0 0 
 
B :=  0 3 2 
 2 
− 1 θ 
 3 
Тепер визначимо матрицю C як добуток матриць A і B.

> C:=A . B;

18
1 1 2 
ϕ
2 3 3 − + 2θ 
 
 28 
C := − 5ϕ − 9 2 0 + 9θ
 3 
 
5 2 9 2 5 
2 −2 θ
 6 9 6 
Обчислення рангу матриці:

 8 − 2 62 4

A := B 4 9 0− 7 4 
 − 4 1 1− 9 6 8
> rank(AB);

Знайдемо матрицю обернену до A:

> inverse(A);

 9 − 1 9
− 5 2 4 
 
 1 8 − 2 9 6 3
 2 4
 
 2 2 − 1 8 3 9
 2 
19
3. Завдання
Обчислити суму, добуток, визначник матриць A і B, знайти їх транспоновані
та обернені матриці використовуючи математичний пакет Mathcad або Maple,
Matlab. Написати програму на мові C/C++ або Java, яка реалізує вищеописані
операції над заданими матрицями.
 1 7 2  3 4 0
   
1. Дано матриці A =  − 3 4 −2 і B = 2 3 1. Знайти матрицю C=2A-3B
 1 1 2  −1 0 4
   

 3 − 2 1 6   − 2 1 9 0
   
Дано матриці A = 8 3 4 1 і B = 2 6 4 1 . Знайти матрицю C=A-2B.
2.
   
 − 5 7 0 4  − 3 4 5 2
   
2 −4 0  1 3 7
   
3. Дано матриці A = 6 −2 4 і B = − 2 0 5. Знайти матрицю X, яка
0 8 2  4 5 3
   
задовольняє матричному рівнянню A+2X-4B=0.

7 2 1 5  5 4 3 0 
   
4. Дано матриці A =  3 − 2 4 − 3  і B =  2 3 − 2 1 . Знайти матрицю X, яка

 2 1 1 1  1 0 2 4 
   
задовольняє матричне рівняння 5A+3X-B=0.

 1 0,4 20,5 40,6  6  1 0,1 7 − 0,2 50,5 4


   
 0,4 21 0,3 20,4  4  0,4 71 0,6 7 − 0,3 2
Дано матриці A =
5.
 0,5 40,3 21 0,2  2 і B =  − 0,1 10,3 51 − 0,7  4. Знайти матрицю
   
 0,6 60,4 40,2 21  0,5 50,4 30,3 61 
   
C=6A+3B.
20
 8,2 1,4 − 2,3 0,2   0,4 21 0,3 20,4  4
   
 − 1,6 5,4 − 7,7 3,1  і  1 0,4 20,5 40,6  6. Знайти матрицю
A=   B= 
0,6 60,4 40,2 21
6. Дано матриці
0,7 1,9 − 8,5 4,8
   
 5,3 − 5,9 2,7 − 7,9  0,5 40,3 21 0,2  2
   
C=8A+2B.

 0,4 71 0,6 7 − 0,3 2  − 1,6 5,4 − 7,7 3,1 


   
 1 0,1 7 − 0,2 5 0,5 4  8,2 1,4 − 2,3 0,2 
Дано матриці A = і B=
7.
 0,5 50,4 30,3 61   5,3 − 5,9 2,7 − 7,9 . Знайти матрицю

   
 − 0,1 10,3 51 − 0,7  4  0,7 1,9 − 8,5 4,8 
   
C=10A-5B.

 − 1,6 5,4 − 7,7 3,1   0,4 71 0,6 7 − 0,3 2


   
 8,2 1,4 − 2,3 0,2   1 0,1 7 − 0,2 50,5 4 .
A=  B= 
5,3 − 5,9 2,7 − 7,9 0,5 50,4 30,3 61 
8. Дано матриці і Знайти

   
 0,7 1,9 − 8,5 4,8   − 0,1 10,3 51 − 0,7  4
   
матрицю C=5A-7B.

21
 0,8 41,3 2 0,4 8 − 1,1 3   0,5 2 0,8 3 − 1,2 0,3 2
   
 1,1 6 − 0,4 6 0,6 4 − 0,1  3 і  0,6 30,4 2 0,5 71,1 5  . Знайти
A=  B= 
0,4 4 0,8 3 − 1,1 2 0,4 4 0,4 4 0,5 2 0,4 4 0,1 8
9. Дано матриці

   
 0,1 6 0,3 2 0,0 8 − 0,5 7  0,6 2 − 0,1 2 0,0 80,4  2
   
матрицю C=2A+4B.

 1,5 0,8 4 0,6 3 − 0,1 8   0,8 1,3 − 0,1 2 0,2 5


   
 0,1 5 0,3 6 − 0,1 6 0,8 8  і  − 1,2 0,1 8 0,7 2 0,1  3.
A=   B= 
1,6 0,2 0,1 2 − 0,1 1
10. Дано матриці Знайти
− 0,2 7 0,4 5 0,6 4 − 0,3 8
   
 0,4 1− 0,8 30,6 2 0,2 7   1,4 0,1 5 − 0,8 3 0,4  1
   
матрицю C=5A-3B.

4. Зміст звіту
1. Титульна сторінка та тема роботи.
2. Мета роботи.
3. № варіанту та завдання.
4. Результати обчислень проведних в одному з математичних пакетів.
5. Текст програми і результати її виконання.
6. Висновки.

5. Контрольні запитання
1. Дайти визначення, що таке чисельні методи?
2. Назвіть математичні пакети, які реалізують чисельні методи?
3. Що таке матриця і вектор?
4. Правило додавання і віднімання матриць?
5. Правило множення матриць, множення матриці на скаляр?
6. Яка матриця називається блоковою?
7. Що таке обернена і транспонована матриці?
8. Як обчислити визначник (детермінант) матриці?

22

You might also like