Завдання по лабораторній з вишки
.pdfЛабораторная работа №1
Дії з матрицями та визначники в середовищі MatLab
Практичне заняття проводиться після вивчення тем «Матриці. Дії над ними», «Визначники n-го порядку».
Мета заняття:
-закріплення теоретичних знань з матричної алгебри;
-вироблення у студентів навичок розв’язання задач матричної алгебри за допомогою середовища MatLab;
-аналіз та осмислення отриманих результатів.
Завдання: |
|
|
|
|
Визначити в середовищі MatLab матриці A та B розміром 3 3 . |
||
1. |
Визначити в середовищі MatLab вектор W як вектор-стовбець. |
||
2. |
Обчислити матриці A |
B ; A |
B ; 3A. |
3. |
Обчислити матрицю C |
AB |
BA. |
4. Обчислити матрицю A2 та матрицю, що складається з квадратів відповідних елементів матриці A. Порівняти результати.
5. |
Перевірити рівність |
A B T |
BT |
AT . |
6. |
Обчислити вектор-стовпець V , який дорівнює добутку вектора W |
|||
та матриці C . |
|
|
|
|
7. |
Обчислити вектор Q |
5V |
3W . |
|
8.Обчислити визначник матриці C .
9.Поміняти місцями перший та другий стовпчики матриці C .
Обчислити визначник отриманої матриці C1. Порівняти визначники матриць C та C1.
10. Елементи другого рядка матриці C помножити на 2 . Обчислити визначник отриманої матриці C2 . Порівняти визначники матриць C та C2 .
11.Порівняти визначники матриць C та CT .
12.Перевірити, чи існує обернена матриця до матриці A, і, якщо існує, знайти її і вивести результат у командне вікно так, щоб елементи оберненої матриці були представлені у вигляді звичайних дробів.
13.Якщо обернена матриця була обчислена, довести, що отриманий результат правильний.
18
Теоретичні відомості з функцій системи MatLab, які можуть бути застосовані для роботи з матрицями при розв’язанні задач курсу "Математика для економістів"
В середовищі MatLab існує дуже велика кількість функцій для розв’язання різноманітних задач лінійної алгебри. У таблиці 2.1 наведені деякі основні функції, що використовуються для роботи з матрицями при розв’язанні задач лінійної алгебри курсу "Математика для економістів".
Таблиця 2.1.
Функції MatLab, що використовуються для розв’язання задач
|
матричної алгебри. |
||
|
|
|
|
Функція |
|
|
Опис |
|
|
|
|
1 |
|
|
2 |
|
|
||
|
Визначення матриці розміру m n . Рядки відокремлюються |
||
|
крапкою з комою, а елементи кожного рядка відокремлюються |
||
|
знаком пробелу. Наприклад: |
||
A=[a11 a12 … a1n;…; |
>>A=[1 -3 2; 4 3 8; -2 6 1] |
||
|
|
|
|
am1 am2 … amn] |
A = |
|
|
|
1 |
-3 |
2 |
|
4 |
3 |
8 |
|
-2 |
6 |
1 |
|
|
|
|
|
>>B=[-1;2;6] |
|
|
|
B = |
|
|
|
-1 |
|
|
|
2 |
|
|
|
6 |
|
|
|
|
||
|
Транспонування матриці, яка визначається змінною A. |
||
|
Наприклад, стовпець можна визначити як транспонований |
||
|
рядок: |
|
|
|
>>B=[-1 2 6] |
|
|
|
B = |
|
|
A'(апостроф) |
-1 |
2 |
6 |
|
>>B=B’ |
|
|
|
B = |
|
|
|
-1 |
|
|
|
2 |
|
|
|
6 |
|
|
|
|
||
|
Визначається сума двох матриць, які визначені змінними A1 і |
||
A1+A2 |
A2 (матриці повинні мати однаковий розмір). Наприклад: |
||
|
>>A1=[3 4;1 -2;0 -7] |
||
|
|
|
|
19
|
A1 = |
|
|
|
|
|
3 |
|
4 |
|
|
|
1 |
|
-2 |
|
|
|
0 |
|
-7 |
|
|
|
>>A2=[2 -5;-9 -6; 8 5] |
|
|||
|
A2 = |
|
|
|
|
|
2 |
|
-5 |
|
|
|
-9 |
|
-6 |
|
|
|
8 |
|
5 |
|
|
|
>>A1+A2 % сума матриць |
|
|||
|
ans = |
|
|
|
|
|
5 |
|
-1 |
|
|
|
-8 |
|
-8 |
|
|
|
8 |
|
-2 |
|
|
|
|
||||
|
Лінійна комбінація матриці, які визначені змінними A1 і A2 |
||||
|
(матриці повинні мати однаковий розмір), |
a і b – це числа. |
|||
|
Наприклад: |
|
|
|
|
a*A1 b*A2 |
>>3*A1-2*A2 |
|
|
||
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
22 |
|
|
|
21 |
|
6 |
|
|
|
-16 |
-31 |
|
|
|
|
|
||||
|
Якщо f(x) – це елементарна функція, то означена операція |
||||
|
приводить до обчислення матриці того ж розміру, що і матриця |
||||
|
A, кожний елемент якої дорівнює значенню елементарної |
||||
|
функції від відповідного елемента матриці |
A. Наприклад: |
|||
|
>>sin(A1) |
|
|
|
|
|
ans = |
|
|
|
|
f(A) |
0.1411 |
|
-0.7568 |
|
|
|
|
|
|
|
|
|
0.8415 |
|
-0.9093 |
|
|
|
|
0 |
|
-0.6570 |
|
|
>>exp(B) |
|
|
|
|
|
ans = |
|
|
|
|
|
0.3679 |
|
|
|
|
|
7.3891 |
|
|
|
|
|
403.4288 |
|
|
|
|
|
|
||||
|
Поелементний добуток матриць, які визначені матрицями A і |
||||
|
C. Результатом є матриця того ж розміру, що і матриці A і C. |
||||
|
Наприклад: |
|
|
|
|
A.*C |
>>C=[2 1 0;3 1 3;4 -2 -7]; |
|
|||
|
>>A.*C |
|
|
|
|
|
ans = |
|
|
|
|
|
2 |
|
-3 |
0 |
|
|
|
|
|
|
|
20
|
12 |
|
3 |
24 |
|
|
-8 |
-12 |
-7 |
|
|
|
Матриці повинні бути одного розміру, інакше буде помилка, |
||||
|
наприклад: |
|
|
|
|
|
>>A.*B |
|
|
|
|
|
??? Error using ==> times |
||||
|
Matrix dimensions must agree. |
||||
|
|
||||
|
Поелементне ділення матриць, які визначені матрицями A і C. |
||||
|
Результатом є матриця того ж розміру, що і матриці A і C. |
||||
|
Наприклад: |
|
|
|
|
|
>>C=[2 1 0;3 1 3;4 -2 -7]; |
||||
|
>>A./C |
|
|
|
|
A./C |
Warning: Divide by zero. |
||||
|
ans = |
|
|
|
|
|
0.5000 |
|
-3.0000 |
Inf |
|
|
1.3333 |
|
3.0000 |
2.6667 |
|
|
-0.5000 |
|
-3.0000 |
0.1429 |
|
|
Матриці повинні бути одного розміру. |
||||
|
|
||||
|
Кожен елемент матриці, яка визначена змінною A |
||||
|
підноситься до степеня a. |
|
|||
|
>>A.^2%піднесення до степеня 2 |
||||
|
ans = |
|
|
|
|
|
1 |
|
9 |
4 |
|
|
16 |
|
9 |
64 |
|
A.^a |
4 |
|
36 |
1 |
|
|
|
|
|
|
|
|
Операція може бути застосована до будь якої прямокутної |
||||
|
матриці: |
|
|
|
|
|
>>A1.^2 % A1-прямокутна матриця |
||||
|
ans = |
|
|
|
|
|
9 |
|
16 |
|
|
|
1 |
|
4 |
|
|
|
0 |
|
49 |
|
|
|
|
||||
|
Звичайний добуток матриць, які визначені матрицями A і C. |
||||
|
Розміри матриць повинні бути узгодженні (кількість стовпців |
||||
|
першої матриці - множника повинна дорівнювати кількості |
||||
|
рядків другої матрицімножника). Наприклад: |
||||
|
>>A*C |
|
|
|
|
A*C |
ans = |
|
|
|
|
1 |
|
-6 |
-23 |
|
|
|
|
|
|||
|
49 |
|
-9 |
-47 |
|
|
18 |
|
2 |
11 |
|
|
Якщо розміри не узгоджені видається повідомлення про |
||||
|
помилку: |
|
|
|
|
|
>>A1*A2 |
|
|
|
|
|
|
|
|
|
|
21
|
??? Error using ==> mtimes |
|
|||||
|
Inner matrix dimensions must agree. |
|
|||||
|
>>A1*A2’ |
%розміри узгоджені – результат |
|||||
|
|
|
%є добуток матриці A1 та |
|
|||
|
|
|
%транспонованої матриці A2 |
|
|||
|
ans = |
|
|
|
|
|
|
|
-14 |
|
-51 |
44 |
|
|
|
|
12 |
|
3 |
-2 |
|
|
|
|
35 |
|
42 |
-35 |
|
|
|
|
|
||||||
|
Піднесення матриці, яка визначена змінною A, до степеня |
||||||
A^n |
n(матриця повинна бути квадратною). |
|
|
||||
|
>>A^2 %піднесення до степеня 2 |
|
|||||
|
|
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
-15 |
|
0 |
-20 |
|
|
|
|
0 |
|
45 |
40 |
|
|
|
|
20 |
|
30 |
45 |
|
|
|
|
|
||||||
|
Визначення розміру матриці, яка визначена |
||||||
|
змінною A. Наприклад: |
|
|
||||
|
>>size(A) |
|
|
|
|
|
|
size(A) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
3 |
|
|
|
|
|
>>size(B) |
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
3 |
|
1 |
|
|
|
|
|
|
||||||
|
Звернення до елементу матриці, яка |
||||||
|
визначена |
змінною |
A, який |
розташований в |
i-му |
||
|
рядку та j-му стовпцю. Наприклад: |
|
|
||||
|
>>A(2,3) |
|
|
|
|
|
|
A(i,j) |
ans = |
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
>>B(1) |
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
-1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Звернення |
до |
елементів |
матриці, |
яка |
||
|
визначена |
змінною |
A, які розташовані в i-му рядку |
||||
|
або j-му стовпцеві. Наприклад: |
|
|
||||
A(i,:),A(:,j) |
>>A(2,:)%2-й рядок |
|
|
|
|||
|
|
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
4 |
3 |
8 |
|
|
|
|
|
>>A(:,1)%1-й стовпець |
|
|
||||
|
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22
|
1 |
|
|
|
|
|
4 |
|
|
|
|
|
-2 |
|
|
|
|
|
|
||||
|
Обчислення визначника (!)квадратної матриці, яка визначена |
||||
|
змінною A. Наприклад: |
|
|
||
det(A) |
>>det(A) |
|
|
|
|
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
75 |
|
|
|
|
|
|
|
|||
|
Створення прямокутну матриці розміру m |
n ,що складається |
|||
|
з нулів. Наприклад: |
|
|
|
|
|
>>zeros(2,3) |
|
|
|
|
zeros(m,n) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
|
|
|
0 |
0 |
0 |
|
|
|
|
|
|||
|
Створення прямокутну матриці розміру m |
n ,що складається |
|||
|
з одиниць. Наприклад: |
|
|
||
|
>>ones(2,3) |
|
|
|
|
ones(m,n) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
|
|
1 |
1 |
1 |
|
|
|
|
||||
|
Створення квадратної матриці, у якої на діагоналі стоять |
||||
|
елементи вектора, що визначається змінною B, а інші |
||||
|
елементи дорівнюють 0. Наприклад: |
|
|||
|
>>diag(B) |
|
|
|
|
diag(B) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
-1 |
0 |
0 |
|
|
|
0 |
2 |
0 |
|
|
|
0 |
0 |
6 |
|
|
|
|
|
|||
|
Створення одиничної матриці розміру n |
n . Наприклад: |
|||
|
>>eye(3) % |
|
|
|
|
|
ans = |
|
|
|
|
eye(n) |
1 |
0 |
0 |
|
|
|
|
|
|||
|
0 |
1 |
0 |
|
|
|
0 |
0 |
1 |
|
|
|
|
|
|||
|
Обчислення зворотної матриці, |
для матриці, що визначена |
|||
|
змінною A (визначник повинен не дорівнювати нулю). |
||||
|
>>inv(A) |
|
|
|
|
|
ans = |
|
|
|
|
inv(A) |
-0.6000 |
|
0.2000 |
0.4000 |
|
|
|
||||
|
-0.2667 |
|
0.0667 |
|
0 |
|
0.4000 |
|
0 |
0.2000 |
|
|
|
||||
prod(x) |
Обчислення добутку елементів вектора. Наприклад: |
||||
>>x=[1 3 -3 2 -5 1 8] |
|
|
|||
|
|
|
|||
|
|
|
|
|
|
23
|
x = |
|
|
|
|
|
|
|
1 |
3 |
-3 |
2 |
-5 |
1 |
8 |
|
|
|
|
|
|
|
|
|
>>prod(x) |
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
720 |
|
|
|
|
|
|
|
|
|
|||||
|
Обчислення суми елементів вектора: |
|
|||||
|
>>sum(x) |
|
|
|
|
|
|
sum(x) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
||||||
|
Знаходження мінімального елементу вектора: |
||||||
|
>>min(x) |
|
|
|
|
|
|
min(x) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-5 |
|
|
|
|
|
|
|
|
||||||
|
Знаходження максимального елементу вектора: |
||||||
|
>>max(x) |
|
|
|
|
|
|
max(x) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
||||||
|
Сортування елементів вектора за зростанням: |
||||||
|
>>sort(x) |
|
|
|
|
|
|
|
ans = |
|
|
|
|
|
|
|
-5 |
-3 |
1 |
1 |
2 |
3 |
8 |
sort(x) |
Для сортування за спаданням, |
можна використати наступну |
|||||
|
команду: |
|
|
|
|
|
|
|
>>-sort(-x) |
|
|
|
|
||
|
ans = |
|
|
|
|
|
|
|
8 |
3 |
2 |
1 |
1 |
-3 |
-5 |
|
|
||||||
|
Знаходження середнього значення елементів вектора: |
||||||
|
>>mean(x) |
|
|
|
|
|
|
mean(x) |
ans = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Приклад виконання завдання
Продемонструємо роботу наведених у табл. 2.1 функцій та операцій для виконання завдання цієї практичної роботи при заданих матрицях A, B і векторі W :
3 |
1 |
0 |
4 |
5 |
6 |
A 6 |
13 |
1 ; B |
1 |
0 |
1 ; W 5 8 0 |
1 |
2 |
1 |
1 |
1 |
2 |
1. Визначити в середовищі MatLab матриці A та B розміром 3 3 .
>>A=[3 1 0;6 13 1;1 2 1];%визначення матриці А
>>B=[4 5 6;1 0 -1;-1 -1 2];%визначення матриці B
24
>> A, B |
|
|
A = |
|
|
3 |
1 |
0 |
6 |
13 |
1 |
1 |
2 |
1 |
B = |
|
|
4 |
5 |
6 |
1 |
0 |
-1 |
1 |
-1 |
2 |
2.Визначити в середовищі MatLab вектор W як вектор-стовбець.
>>W=[5;-8;0]%визначення вектора-стовпця W
W = 5 8 0
3. Обчислити A B ; A B ; 3A.
>> A+B % обчислення А+В, результат виводиться на екран ans =
7 |
6 |
6 |
7 |
13 |
0 |
0 |
1 |
3 |
>> A-B % обчислення А-В, результат виводиться на екран |
||
ans = |
|
|
1 |
-4 |
-6 |
5 |
13 |
2 |
2 |
3 |
-1 |
>> -3*A % обчислення -3А, результат виводиться на екран ans =
9 |
-3 |
0 |
18 |
-39 |
-3 |
3 |
-6 |
-3 |
4. Обчислити матрицю C AB BA.
>> C=A*B-B*A %обчислення C=AB-BA, результат виводиться на екран
C =
35 |
-66 |
6 |
34 |
30 |
26 |
12 |
14 |
5 |
Таким чином, дійсно демонструємо, що для матриць AB BA.
5. Обчислити A2 та матрицю, що складається з квадратів відповідних елементів матриці A. Порівняти результати.
>> A*A %обчислення квадрата матриці А
25
ans = |
|
|
15 |
16 |
1 |
97 |
177 |
14 |
16 |
29 |
3 |
>>A.^2 %обчислення матриці, що складається з квадратів відповідних
|
%елементів матриці А. |
|
ans = |
|
|
9 |
1 |
0 |
36 |
169 |
1 |
1 |
4 |
1 |
Зазначимо, що в результаті отримано дві різні матриці. A2 - це результат множення матриці A самої на себе, а не піднесення кожного елементу до квадрата.
6. Перевірити рівність A B T BT AT .
>> (A*B)’ %обчислення добутку двох матриць та його транспонування
ans = |
|
|
13 |
36 |
5 |
15 |
29 |
4 |
17 |
25 |
6 |
>> B’*A’ %обчислення добутку транспонованих матриць |
||
ans = |
|
|
13 |
36 |
5 |
15 |
29 |
4 |
17 |
25 |
6 |
В |
результаті |
отримали матриці, що співпадають, отже рівність |
дійсно виконується.
7. Обчислити вектор-стовбець V , який дорівнює добутку вектора W та матриці C .
>> V=C*W %обчислення вектора V V =
353
70
52
8. Обчислити вектор Q 5V 3W .
>> Q=5*V-3*W
Q=
1750
326
260
26
Дійсно, елемент q1 5 v1 3 w1 5 353 3 5 5 350 1750 , і
подібні рівності виконуються для другого та третього елементів.
9.Обчислити визначник матриці C .
>>det(C)
ans = -1186
10. Поміняти місцями перший та другий стовпчики матриці C . Обчислити визначник отриманої матриці C1. Порівняти визначники матриць C та C1.
>> C1=C;C1(:,1)=C(:,2);C1(:,2)=C(:,1)% поміняно стовпчики місцями C1 =
66 |
-35 |
6 |
30 |
34 |
26 |
14 |
12 |
5 |
>> C % у командне вікно виведено матрицю С |
||
C = |
|
|
35 |
-66 |
6 |
34 |
30 |
26 |
12 |
14 |
5 |
>> det(C1) % обчислимо визначник матриці С1 ans =
1186
Зазначимо, що від перестановки сусідніх стовпчиків визначник змінює знак на протилежний.
11. Елементи другого рядка матриці C помножити на 2 . Обчислити визначник отриманої матриці C2 . Порівняти визначники матриць C та C2 .
>> C2=C;C2(2,:)=C2(2,:).*2 % помножено елементи 2-го рядка на 2 C2 =
35 |
-66 |
6 |
68 |
60 |
52 |
12 |
14 |
5 |
>>det(C2) ans =
2372
>>2*det(C) ans =
2372
27