Алгебра вектор и матриц Создание векторов и матриц
Пример1
>> [-4,-6,2, 7,8]
ans =
-4 -6 2 7 8
>> v=[45+7i 8-9i 2]
v =
45.0000 + 7.0000i 8.0000 - 9.0000i 2.0000
Пример 2
>> M = [5 2 8; 2 -4 1; -6 3 8]
После нажатия клавиши <Enter> на экране появится следующая матрица:
M =
5 2 8
2 -4 1
-6 3 8
>>M = [8-4i,2+i,14;6,8,5;i,3,-i]
А теперь матрица выглядит так:
M =
8.0000 - 4.0000i 2.0000 + 1.0000i 14.0000
6.0000 8.0000 5.0000
0 + 1.0000i 3.0000 0 - 1.0000i
Пример3
>>V = [1:5]
V = 1 2 3 4 5
>>M=[1:3;2:4;7:9]
M =
1 2 3
2 3 4
7 8 9
>>V=[1:0.7:3]
V =
1.0000 1.7000 2.4000
>>M=[2:0.3:2.8;2:0.8:3.7;4:6]
M =
2.0000 2.3000 2.6000
2.0000 2.8000 3.6000
4.0000 5.0000 6.0000
Вызов на экран и замена элементов матрицы
Пример4
>>v= [2 3 6 9 12] ; v(3)
ans=
6
>>M= [ 1,5,6;2,8,9,5,4,1] ; M (2,2)
ans=
8
>>
Пример 5
>> v(5)=6
v =
2 4 5 8 6
>> M(3,1)=10
M =
2 3 6
4 7 11
10 8 4
Изменение размера вектора или матрицы
Пример 6
Пусть матрица имеет вид
>> M=[2 5 6;3 8 5;4 13 -9]
M =
2 5 6
3 8 5
4 13 -9
Необходимо удалить вторую строку и третий столбец.
Решение будет иметь вид:
>>M(5,:)
ans =
4 13 -9
>>M(:,2)
ans =
5
8
13
Пример 7
>> V1=[234]
V1 =
234
>> V2 =[4-15]
V2 =
-11
>> V1= [234]
V1 =
234
>> V2=[415]
V2 =
415
>> V3 =[725]
V3 =
725
>> M=[V1;V2;V3]
M=
234
415
725
>> Z=[M,M+3;M-2,M*3]
Z =
234 237
415 418
725 728
232 702
413 1245
723 2175
>>
Математические операции с векторами и матрицами
Определитель матрицы
Пример 8
>>M=[4 5 -3;2 -7 3;3 4 6];
>>det(M)
ans =
-90
>> M=[1+2i, 3, -2.5;i,-1,5;3,5,0];
>>det(M)
ans =
12.5000 -62.5000i
Транспортирование матрицы
Пример 9
Пусть исходная матрица имеет вид
>>M=[1+2i, 3, -2.5;i,-1,5;3,5,0];
>> Z=M'
Z =
1.0000 - 2.0000i 0 - 1.0000i 3.0000
3.0000 -1.0000 5.0000
-2.5000 5.0000 0
Следматрицы
Пример 10
Пусть матрица имеет вид:
>>M=[3 4 -1; 6 7 8; 2 -3 1]
M =
3 4 -1
6 7 8
2 -3 1
>>M=[3 4 -1; 6 7 8; 2 -3 1];
>>Z=trace(M)
Z = 11
Обратная матрица
Пример 11
>>M=[3 4 -1; 6 7 8; 2 -3 1];
>> Z=inv(M)
Z =
0.1879 -0.0061 0.2364
0.0606 0.0303 -0.1818
-0.1939 0.1030 -0.0182
Единичная матрица
Пример 12
>> M=eye(4)
M =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>>M=eye(3,4)
M =
1 0 0 0
0 1 0 0
0 0 1 0
>> M=[2 2 3 4;3,3,-4,7;0,2,3,0;2,3,4,5];
>> M=eye(size(M))
M =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Образование матрицы с единичными элементами
Пример 13
>> M=oens (2)
M =
1 1
1
>> M=oens (2,3)
M=
1 1 1
1 1 1
>> M=[2,1,3,4;6,2,1,7] ;
>> Z=ones ( size(M) )
Z =
1 1 1 1
1 1 1 1
>>
Образование матрицы с нулевыми элементами
Пример 14
>> M=zeros(3)
M =
0 0 0
0 0 0
0 0 0
>> M=zeros(3,4)
M =
0 0 0 0
0 0 0 0
0 0 0 0
>> M=[1,2,3;2,3,4;3,4,5];
>> M=zeros(size(M))
M =
0 0 0
0 0 0
0 0 0
Перестановка элементов матрицы
Пример 16
>>M=[2,3,4,5;4,2,6,7]
M =
2 3 4 5
4 2 6 7
>>Z=fliplr(M)
Z =
5 4 2
7 6 2 4
>>W=flipud(M)
W =
4 2 6 7
2 3 4 5
Пример 17
>>V=[3,4,6];
>>P=perms(V)
P =
6 4 3
6 3 4
4 6 3
4 3 6
3 4 6
3 6 4
Создание матриц с заданной диагональю
Пример 18
>>V=[5,2,6];
>>M=diag(V,0)
M =
5 0 0
0 2 0
0 0 6
>> Z=diag(V,-4)
Z =
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
5 0 0 0 0 0 0
0 2 0 0 0 0 0
0 0 6 0 0 0 0
>> V=diag(M,0)
V =
5
2
6
>> M=[3,2,4,5;4,3,6,3];
>> V=diag(M,1)
V =
2
6
>>V=diag(M)
V =
2
2
Создание массивов со случайными элементами
Пример 19
>>Z=rand(2)
Z =
0.8147 0.1270
0.9058 0.9134
>>M=[2, 3, 5; 6, 3,7; 2, 3, 9];
Z=rand(size(M))
Z =
0.6324 0.5469 0.1576
0.0975 0.9575 0.9706
0.2785 0.9649 0.9572
Программа будет иметь следующий вид:
>> X=rand(800, 2);
>> Y=rand(800, 2);
>>plot(X, Y, '.')
Рис. 4.1. Точки со случайными значениями координат x и y,
распределенными по равномерному закону
» Z=randn(4,5)
Z=
-0.0835 1.8291 -0.4736 1.2559 -1.7756
0.6164 0.0853 -1.7035 0.1558 0.3297
-0.5250 -0.0683 -0.0537 0.0549 -1.0579
1.0077 -0.5635 -0.8813 1.3986 -0.6434
Пример 20
>> Z=randn(4, 6)
Z =
0.2584 1.4584 0.6269 0.2071 0.0171 -0.8672
0.8917 -0.8551 0.0015 -0.4446 -0.3630 -1.0401
-0.8366 -0.9921 -0.8163 -1.1205 -0.6312 1.2654
0.5531 -0.0117 0.1151 0.4354 -0.5003 -0.2415
Пример 21
>> Y=randn(2000, 3);
>> hist(Y, 200)
Ответ представлен на рис. 4.2.
Рис. 4.2. График нормального закона распределения случайных чисел
Пример 22
>> M=[2,3,4;5,7,8;2,3,4];
>> Z=rot90(M,2)
Z =
4 3 2
8 7 5
4 3 2
Выделение треугольных частей матрицы
Пример 23
>> M=[2,3,6;5,*,8;2,3,4]
M =
2 3 6
5 9 8
2 3 6
>>Z=tril(M)
Z =
2 0 0
5 9 0
2 3 6
>>Z=tril(M,1)
Z =
2 3 0
5 9 8
2 3 6
Вычисление математического квадрата
Пример 24
>> M=magic(6)
M =
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
Математические операции над векторами и матрицами
Пример 25
>> M=[2,3,4;5,7,8;2,3,4];
>>N=[2 0 3;3 5 6;1 2 3];
>>M.*N
ans =
4 0 12
15 35 48
2 6 12
>> N=[2 0 3;3 5 6;1 2 3]
N =
2 0 3
3 5 6
1 2 3
>> M.*N
ans =
4 0 12
15 35 48
2 6 12
>> M^2
ans =
27 39 48
61 88 108
27 39 48
Пример 26
>>V1=[3,4,6,7];
>>V2=[-2,3,4,6];
>>V1+V2
ans =
1 7 10 13
>> V1-V2
ans =
5 1 2 1
>> V1.*V2
ans =
-6 12 24 42
>> V1.^2
ans =
9 16 36 49
>> V1/V2
ans =
1.1077
>> V1\V2
ans =
0 0 0 0
0 0 0 0
0 0 0 0
-0.2857 0.4286 0.5714 0.8571
>> V1./V2
ans =
-1.5000 1.3333 1.5000 1.1667
>>V1.\V2
ans =
-0.6667 0.7500 0.6667 0.8571
Примеры образования функций от вектора и матриц
Пример 27
>>N=[2,4,6,8,9];
>>Z=log(N)
Z =
0.6931 1.3863 1.7918 2.0794 2.1972
>> Z=exp(N)
Z =
1.0e+003 *
0.0074 0.0546 0.4034 2.9810 8.1031
>> Z=sin(N)
Z =
0.9093 -0.7568 -0.2794 0.9894 0.4121
Пример 28
>> K=[2,3,6;3,-3,7];
>> Z=log(K)
Z =
0.6931 1.0986 1.7918
1.0986 1.0986 + 3.1416i 1.9459
>> Z=exp(-K)
Z =
0.1353 0.0498 0.0025
0.0498 20.0855 0.0009
>> Z=exp(K)+2*K+K.^2
Z =
1.0e+003 *
0.0154 0.0351 0.4514
0.0351 0.0030 1.1596