MathCad_6
.pdfМіністерство транспорту та зв’язку України Дніпропетровський національний університет залізничного транспорту імені акад. В.Лазаряна
Львівська філія
ІНТЕГРОВАНА МАТЕМАТИЧНА СИСТЕМА
MathCAD 2000
ч. 6
“МАСИВИ. МАТРИЧНІ ОПЕРАЦІЇ І ФУНКЦІЇ.”
Інструкція до лабораторної роботи з курсу “Обчислювальна техніка та програмування”
Львів 2002
Лабораторна робота № 6
Тема: Масиви. Матричні операції і функції.
Мета: Навчитись формувати та редагувати векторні й матричні вирази ,формувати вектори й матриці за допомогою явно заданої функції індексних змінних в середовищі MathCAD.
Матричні операції
Змінній можна присвоїти значення матриці (вектор-стовпчик - це матриця з одним стовпцем). Для цього використовують палітру векторів і матриць.
Наприклад, змінна А - це матриця разміру 3*3, а змінна В - вектор-стовпчик разміру 3*1.
|
1 |
2 |
0 |
|
|
1 |
|
A := |
0 |
7 |
−1 |
|
B := |
2 |
|
|
|
|
|
|
|
|
|
|
−1 |
2 |
5 |
|
3 |
З матрицями можно виконуви всі допустимі операції: обчислити обернену матрицю, перемножати, додавати і віднімати матриці. Можна також транспонувати матрицю, проводити вибірку її елементів.
|
|
|
|
0.949 |
−0.256 |
−0.051 |
|
|
|
1 |
0 |
−1 |
|
|
A |
−1 |
= |
|
0.026 |
0.128 |
0.026 |
T |
= |
|
2 |
7 |
2 |
T |
= ( 1 2 3 ) |
|
|
A |
|
B |
||||||||||
|
|
|
|
|
0.179 |
|
|
|
|
|
|
|
||
|
|
|
|
0.179 |
−0.103 |
|
|
|
0 |
−1 |
5 |
|
||
Обернену матрицю отримаємо вказавши -1 степень, а операції транспонування вибираємо з |
||||||||||||||
палітри векторів і матриць. |
Можна розв'язати систему рівнянь матричним способом А Х = В |
|||||||||||||
Тоді, в нашому випадку: |
X := A−1 B |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
0.282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
X = |
0.359 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Доступ до елементів матриці проводиться по індексу. Відлік індексів починається з 0. Щоб почати відлік індексів з 1 , необхідно внутрішній змінній ORIGIN присвоїти значення 1
в рядку меню Математика/Параметры/Переменные
Вектор-стовпчик має один індекс, який вводиться за допомогою символа лівої квадратної дужки - [ або з .палітри векторів і матриць
Наприклад, розв'язок розглянутої вище задачі можно вивести так:
X0 = 0.282 |
X1 = 0.359 |
X2 = 0.513 |
|
Вводится X[0= X[1= X[2=. |
|
Двовимірний масив має вже два індекси, що також відраховуються від 0, перший з них нумерує |
|||||
рядки, другий - стовпці. Так, для матриці A , це буде виглядати: |
|
||||
A0,0 = 1 |
|
A0,2 = 0 |
A2,2 = 5 |
A2,0 = −1 |
|
Вводимо A[0,0= |
A[0,2= |
A[2,2= |
A[2,0=. |
Індекси разділяються комами. |
Можна вибрати один стовпчик двовимірного масиву, вводячи верхній індекс командою Ctrl+6 або кнопкою палітри векторів и матриць, наприклад, виберемо перший рядок матриці A :
1
A 0 = 0
−1
Якщо його транспонувати,
A 0 T = ( 1 0 −1 ) |
тоді |
(A |
0 T) |
,0 |
= 1 |
|
|
(A |
0 T) |
,1 |
= 0 |
(A |
0 T) |
,2 |
= −1 |
|
|
|
0 |
|
|
|
|
0 |
|
|
0 |
|
|||
Можна обчислити визначник матриці (Shift |): |
|
|
A |
|
= 39 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Обчислити скалярний (Shift +8) и векторний (Ctrl+ 8) добутки:
|
|
−1T |
0 |
B = 0.282 |
B B = 14 |
|
|
|
|
|
||
A |
|
|
|
|
|
|
|
|
||||
Скалярний добуток |
|
Векторний добуток |
||||||||||
1 |
|
|
−2 |
1 |
|
−2 |
|
−1 |
||||
|
−1 |
0 |
= −1 |
|
−1 |
× 0 |
= |
−3 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
−2 |
1 |
|
1 |
1 |
1 |
|
Можна обчислити суму елементів вектора, наприклад: ∑B = 6
Є ще одна цікава можливість: за допомогою операції векторизації проводити поелементні обчислення над матрицями (вводиться комбінацією клавіш Ctrl - або кнопкою палітри векторів і
матриць). При її використанні операції проводяться над кожним елементом вектора незалежно, |
||||||||||||
|
|
|
|
|
|
|
|
→ |
|
|
|
|
|
|
|
|
1 |
−2 |
|
−2 |
|||||
так наприклад: |
|
|
−1 |
|
0 |
|
|
= |
0 |
|||
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
Або інший приклад: |
|
|
1 |
|
|
|
||||||
|
|
|
|
|
−1 |
|
|
|||||
|
1 |
|
|
1 |
|
|
|
|
|
|
||
a := |
−2 |
|
b := |
−1 |
|
c := |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
|
|
|
−2 |
|
Корені квадратного рівняння для трьох наборів вихідних даних:
→ |
|
|
0.618 |
→ |
|
|
−1.618 |
||
−b + b2 − 4 a c |
|
= |
|
−1 |
−b − b2 − 4 a c |
= |
|
0.5 |
|
2 a |
|
2 a |
|
||||||
|
0.387 |
|
−1.721 |
||||||
|
|
|
|
|
|
|
Символьні перетворення матриць
Символьні перетворення матриць можна виконати за допомогою палітри символьних операцій ,
або командами Символы/Матрицы/...
Приклад 1: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
a |
b |
|
|
Транспонована матриця |
|
|
|
|
a |
c |
|
|||||||
|
c |
d |
|
|
|
|
|
|
b |
d |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
−b |
|
|
|
||
Обернена матриця |
|
(a d − b c) |
|
|
(a d − b c) |
|
|||||||||||||
|
|
−c |
|
|
|
|
|
a |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
(a d − b c) |
|
(a d − |
b c) |
||||||||||
Визначник матриці |
a d − b c |
|
|
|
|
|
|
|
|
|
|||||||||
Приклад 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
x y |
−1 |
|
|
|
|
|
x y |
|
−1 |
|
|
||||||
M := |
2 |
2 |
|
|
|
|
|
M → |
2 |
2 |
|
|
|
||||||
|
|
|
t x |
|
|
|
|
|
|
|
t x |
|
|
|
|
||||
|
|
z d |
−3 |
|
|
|
|
|
z d |
|
−3 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
x |
|
t |
z |
|
|
|
||
Транспонована матриця |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
MT → |
y |
2 |
d |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
−1 |
|
2 −3 |
|
|
|
|||
Визначник матриці |
|
M |
|
→ −3 x3 − 2 x d + 3 t y − t d + 2 z y + z x2 |
|||||||||||||||
|
|