Раздел 2 - Работа с матрицами в Scilab(230114)
.pdfА.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
|
3 |
8 |
|
Вычисление произведения элементов строк |
||
-->p=prod(a,2) |
|
|
p = |
|
|
2 |
|
|
12 |
|
|
Функция sort |
используется для упорядочения элементов матрицы и вектора : |
Упорядочение по возрастанию элементов вектора
--> b=[2 1 3] --> s=sort(b) s =
1 2 3
Упорядочение по возрастанию элементов столбцов матрицы
--> a=[3 5 5; 1 4 3; 0 2 2]
-->s=sort(a,1) s=
[0 2 2; 1 4 3; 3 5 5]
Упорядочение по возрастанию элементов строк матрицы
--> a=[5 2 1; 1 4 3; 6 1 2]
-->s=sort(a,2) s=
[1 2 5; 1 3 4; 1 2 6]
Функция max используется для поиска максимального элемента матрицы и вектора :
Поиск максимального элемента вектора
--> b=[1 2 3] --> m=max(b)
m=
3
Поиск максимальных элементов столбцов матрицы
--> a=[1 2; 3 4]
-->m=max(a,’c’) m =
3 4
Функция min используется для поиска минимального элемента матрицы и вектора :
Поиск минимального элемента вектора
--> b=[1 2 3] --> m=min(b)
34
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
m=
1
Поиск минимальных элементов столбцов матрицы
--> a=[1 2; 3 4]
-->m=min(a,'r') m =
1 2
Функция trace используется для вычисления следа матрицы.
a11 |
a1n |
|
n |
|||
Если a |
|
|
|
|
|
|
|
|
|
, то |
trace(a)= aii |
||
|
|
|
|
|
|
i=1 |
a |
a |
|
|
|||
|
n1 |
|
nn |
|
|
--> a=[1 2; 3 4] -->trace(a)
ans = 5
Функция norm используется для вычисления норм векторов и матриц
a11 |
a1m |
|
|
|||
|
n n |
|||||
Если A |
|
|
|
|
|
|
|
|
|
, то norm(a, p)= p aijp |
|||
|
|
|
|
|
|
i 1 i 1 |
a |
a |
|
|
|||
|
n1 |
|
nm |
|
|
Рассмотрим использование функции нормы для матриц:
norm( A) - это наибольшее сингулярное число матрицы A и его можно вычислить как max(svd(A)) , где svd – функция поиска сингулярных чисел матрицы A .
norm(A, 2) norm( A)
norm(A,1)=max(sum(abs(A),1), т.е. максимальное значение из сумм модулей элементов столбцов матрицы A :
|
|
n |
|
|
|
n |
|
|
norm(a,1)=max |
ai1, |
, |
aim . |
|||
|
i 1 |
|
|
i 1 |
|
||
norm(A, inf )=max(sum(abs(A),2), |
|
|
|
|
|
|
|
|
|
|
m |
|
|
m |
|
|
norm(a,inf )=max |
a1 j , |
, |
anj |
|||
|
|
|
j 1 |
|
|
j 1 |
|
norm(A,'fro') sqrt(sum(diag( A'* A))) - норма Фробениуса |
|
||||||
Функция нормы для векторов: |
|
|
|
|
|
|
|
|
norm(v, p) sum(abs(v). ^ p)) ^ (1/ p) |
|
|
|
|
|
|
n
norm(v, p)= p | vi |p
i 1
35
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
norm(v) norm(v, 2)
n
norm(v, 2)= vi 2
i 1
norm(v, inf )=max(abs(v))=max(|v1|,…,|vn|)
36
А.В.Сорокин |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Среда вычислений Scilab: Первые шаги |
|||||||||||
|
2.7.Практическое задание |
|||||||||||||||||||||||||||||||
2.7.1 Обозначения в лабораторной работе: |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
tr A след матрицы A , |
tr A aii |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
det A определитель матрицы A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n n |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
A |
|
2 aij2 , |
|
b |
|
2 |
bi2 , |
|
|
|
b |
|
|
|
1 max( |
|
b1 |
|
, |
|
b2 |
|
, , |
|
bn |
|
) |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
i 1 j 1 |
|
i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
|
|
|
|
|
|
E 0 |
1 |
0 |
0 |
- единичная матрица. |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
0 |
0 |
0 |
1 |
|
Пусть D - матрица размера 4х4 |
|
|
|
|
|
d |
d |
|
|
|
|
11 |
12 |
|
D |
d21 |
d22 |
||
d |
31 |
d |
32 |
|
|
|
|
||
|
|
d42 |
||
|
d41 |
d |
d |
|
13 |
14 |
|
d23 |
d24 |
|
d33 |
d34 |
|
d43 |
|
|
d44 |
Влючить режим сохранения работы в сеансе в дневнике (команда) diary
a11 |
a12 |
a13 |
|
b1 |
|
|
||
1. Для матрицы A a |
a |
a |
|
|
и вектор-столбца b b |
|
, заданных согласно |
|
21 |
22 |
|
23 |
|
|
2 |
|
|
a |
a |
a |
|
b |
|
|
||
31 |
32 |
33 |
|
|
3 |
|
|
варианту:
Решить систему Ax b методом Крамера. Проверить правильность вычисления решения, решив ее другими способами:
x A \ b
x inv(A)*b
x A ^ ( 1)*b
2.Построить блочную матрицу:
|
A AT |
b |
|
b |
|
|
|
|||
|
|
|
|
1 |
|
|||||
det A |
||||||||||
D |
|
|
|
|
|
|
|
|||
|
|
|
|
bT b |
||||||
tr( A) bT |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|||||
|
|
|
|
det A |
и вычислить ее ранг rank D .
37
А.В.Сорокин |
|
|
|
|
|
Среда вычислений Scilab: Первые шаги |
|
2.7.2 Пример выполнения задания |
|||||||
|
2 |
1 |
4 |
|
|
5 |
|
|
|
|
|
|
|
|
|
Пусть |
A |
1 |
3 6 |
, |
b |
2 . |
|
|
|
3 |
2 |
2 |
|
|
9 |
|
|
|
|
|
|
|
|
Включение дневника
--> diary(’lab12.txt’)
Ввод матрицы и вектор столбца
--> A=[2 1 4; 1 3 -6; 3 -2 2] A =
2.1. 4.
1.3. -6.
3. -2. 2.
--> b=[5 6 -3]'
b =
5.
6. -3.
Вычисление определителя
--> dA=det(A)
dA =
-76
Решение СЛАУ методом Крамера
--> x1=det([b A(:,2:3)])/dA x1 =
0.4737
--> x2=det([A(:,1) b A(:,3)])/dA x2 =
2.5789
--> x3=det([A(:,1:2) b ])/dA x3 =
0.3684
--> x=[x1 x2 x3]'
38
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
x =
0.4737
2.5789
0.3684
Проверка найденного решения СЛАУ
--> A*x-b
ans =
0
0
0
Решение СЛАУ другими способами
--> x=A\b
x =
0.4737
2.5789
0.3684
--> x=inv(A)*b
x =
0.4737
2.5789
0.3684
--> x=A^(-1)*b
x =
0.4737
2.5789
0.3684
Вычисление матрицы D
--> D=[(A+A')/det(A) b*max(abs(b)); trace(A)*b' b'*b/det(A)]
D =
-0.0526 -0.0263 -0.0921 30.0000 -0.0263 -0.0789 0.1053 36.0000 -0.0921 0.1053 -0.0526 -18.0000 35.0000 42.0000 -21.0000 -0.9211
Вычисление ранга матрицы D
--> rd=rank(D)
rd =
4
39
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
Выключение дневника |
|
--> diary(0) |
|
Содержимое дневника lab12.txt
ans =
1.
-->A=[2 1 4; 1 3 -6; 3 -2 2]
A=
2. 1. 4.
1.3. - 6.
3.- 2. 2.
-->b=[5 6 -3]'
b=
5.
6.
-3.
-->dA=det(A) dA =
- 76.
-->x1=det([b A(:,2:3)])/dA
x1 =
0.4737
-->x2=det([A(:,1) b A(:,3)])/dA
x2 =
2.5789
-->x3=det([A(:,1:2) b ])/dA x3 =
0.3684 -->x=[x1 x2 x3]'
x=
0.4737
2.5789
0.3684
-->A*x-b ans =
0.
-2.D-15
0.
-->x=A\b x =
40
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
0.4737
2.5789
0.3684
-->x=inv(A)*b
x=
0.4737
2.5789
0.3684
-->x=A^(-1)*b
x=
0.4737
2.5789
0.3684
-->D=[(A+A')/det(A) b*max(abs(b)); trace(A)*b' b'*b/det(A)] D =
- |
0.0526 |
- |
0.0263 |
- 0.0921 |
30. |
- |
0.0263 |
- |
0.0789 |
0.1053 |
36. |
-0.0921 0.1053 - 0.0526 - 18.
35. 42. - 21. - 0.9211
-->rd=rank(D) rd =
4.
-->diary(0)
41
А.В.Сорокин |
Среда вычислений Scilab: Первые шаги |
2.7.3 Варианты заданий
Вариант №1
|
|
3 |
2 1 |
|
|
|
5 |
|
|
|
A AT |
|
b |
|
|
|
|
|
|
|
|||||||||||||||
1. A |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
2 |
1 |
, |
b |
6 |
, 2. |
D |
|
|
|
|
b |
|
|
|
2 |
|
|
b |
|
1 |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
1 |
5 0 |
|
|
3 |
|
|
|
|
|
|
T |
|
T |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
b b |
|
|
|
|
|
|||||||||||||||
Вариант №2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4 |
3 |
1 |
|
|
|
8 |
|
|
|
A |
|
A |
|
|
|
2 AT |
|
b |
|
|
|
|
|
|
|
||||||||||
|
8 5 |
|
|
b |
|
|
, D |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
A |
3 |
, |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
T |
|
|
|
|
|
|
|
||||||||
|
3 |
3 |
2 |
|
|
|
8 |
|
|
|
|
det A b |
b b |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
7 |
2 |
|
3 |
|
|
15 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
1b |
1b |
1b |
|
|
||||||||
1. A |
|
3 |
|
|
, b |
|
|
|
|
2. d |
|
bi |
|
|
|
|
|
||||||||||||||||||
5 |
2 |
15 |
, |
|
|
i 1 |
|
|
|
|
1 |
2 |
3 |
|
|
||||||||||||||||||||
|
|
10 |
11 |
|
5 |
|
|
36 |
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
A |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №4
|
2 1 |
0 |
|
|
5 |
|
|
bT |
|
|
|
|
|
b |
|
|
|
2 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
1. |
A |
1 0 |
3 |
, |
|
b 16 |
, |
2. |
D |
|
T |
|
1 |
|
1 |
|
|
|
|
1 |
T |
|||||
|
|
0 5 |
1 |
|
|
10 |
|
|
A |
|
|
b |
|
b |
b |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
3 |
|
|
|||||
Вариант №5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
1 |
1 |
2 |
|
|
|
6 |
|
|
|
|
|
|
b |
|
A |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
2., 2. D |
|
|
|
|
|
|||||||||||
1. |
A 2 |
3 |
7 |
, |
|
b 16 |
, |
|
T |
|
|
1 |
|
T |
|
|
|
|||||||||
|
|
5 |
2 |
1 |
|
|
16 |
|
|
|
|
(b |
|
b) |
|
b |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
5 |
8 |
1 |
|
|
2 |
|
|
(bT b)E A b |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
1. |
A |
3 |
2 |
6 |
, |
b 7 |
, 2. D |
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
||||
|
2 |
1 |
1 |
|
|
5 |
|
|
|
|
b |
|
|
|
det A |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №7
42
А.В.Сорокин Среда вычислений Scilab: Первые шаги
|
2 |
3 |
1 |
|
7 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
b det A |
b b |
T |
A |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
2. D |
n n |
|
|
|
|||||
1. |
A |
1 |
4 |
2 |
, |
b |
1 |
, |
aij |
bT |
|
|||
|
|
1 |
4 |
0 |
|
|
5 |
|
|
j 1 i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №8
|
1 |
1 |
2 |
|
|
1 |
b tr A |
AT |
|
|
|
|
|
|
|
|
|||
1. |
A 2 |
1 |
2 |
, |
b 4 |
, 2. D T |
|
T |
|
|
4 |
1 |
4 |
|
|
2 |
b A b |
b |
|
|
|
|
|
|
|
|
|
|
|
Вариант №9
|
3 |
2 |
1 |
|
|
5 |
|
|
A AT |
|
|
b |
|
|
|
||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
1. |
A 2 |
1 |
, |
b |
6 |
, 2. |
D |
|
b |
|
|
|
2 |
|
|
b |
|
1 |
|||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
1 |
5 |
0 |
|
|
3 |
|
|
|
T |
|
|
T |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
b |
|
b b |
|
Вариант №10
|
4 |
3 |
1 |
|
|
8 |
|
|
A |
|
A |
|
2 AT |
b |
|
||
1. |
|
8 |
5 |
|
|
|
|
|
2. |
|
|
||||||
A |
3 |
, |
b 16 |
, |
D |
|
|
|
|
T |
T |
|
|||||
|
|
3 |
3 |
2 |
|
|
8 |
|
|
|
det A b |
b b |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
7 |
|
2 3 |
|
15 |
|
|
|
3 |
|
|
|
1b |
1b |
|
1b |
|
|
||||||||||
|
|
|
|
3 |
|
|
|
|
|
|
2. d |
bi |
|
|
|
|
||||||||||||
1. |
A |
5 |
|
2 |
, b 15 |
, |
i 1 |
|
|
|
1 |
|
|
|
|
2 |
|
3 |
|
|
||||||||
|
10 |
11 |
5 |
|
36 |
|
|
b |
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант №12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
2 1 |
0 |
|
|
|
5 |
|
|
bT |
|
|
|
|
|
|
b |
|
|
|
2 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
1. |
A |
1 0 |
3 |
|
, |
b 16 |
, 2. |
D |
T |
|
|
1 |
|
1 |
|
|
|
|
1 |
T |
|
|
||||||
|
|
0 5 |
1 |
|
|
10 |
|
|
A |
|
|
|
b |
|
b |
b |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
3 |
|
|
|
|
|||||
Вариант №13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
1 |
1 |
2 |
|
|
6 |
|
|
|
|
|
b |
|
|
A |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
1. |
A 2 3 |
7 |
, |
b 16 |
, 2. |
D |
|
T |
|
1 |
|
T |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
5 2 |
1 |
|
16 |
|
|
(b |
|
b) |
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
|
|
|
|
|
|
|
|
|
|