>> А=[2 4;6 8]
А =
2 4
6 8
>>В=[1 3;5 7]
B=
1 3
5 7
>>%Действия над матрицами
>> (A+B)/3-2*(А-В)
ans =
-1.0000 0.3333
1.6667 3.0000
>> С=[1 2 3 4;5 6 7 8]
С =
1 2 3 4
5 6 7 8
>>%транспонирование матрицы
>>С’
ans =
1 5
2 6
3 7
4 8
При умножении матриц «*» важно помнить, что число столбцов первой перемножаемой матрицы должно быть равно числу строк второй. Возведение матрицы в степень «^» эквивалентно ее умножению на себя указанное число раз. При этом целочисленный показатель степени может быть как положительным, так и отрицательным. В первом случае выполняется алгоритм умножения матрицы на себя указанное число раз, во втором умножается на себя матрица, обратная данной. Примеры умножения матриц и возведения в степень можно увидеть в листинге 14.
Листинг 14.
>> А=[1 2; -3 1; 5 -2]
А=
1 2
-3 1
5 -2
>> В=[0 1 -3;2 1-2]
В =
0 1 -3
21 -2
>> %Умножение матриц
>> С=А*В
С =
4 3 -7
2 -27
-4 3 -11
>>% Возведение в степень
>> C^2
ans=
50 -15 70
-24 31 -105
34 -51 170
>> % То же, что и C^2
>> C*C
ans =
50 -15 70
-24 31 -105
34 -51 170
>>D=[l 2 3 2;0 3 2 1;2 1 0 3;4 3 0 1];
|
|
>>%Матрица обратная к D
>> D^(-1)
ans =
0.2500 -0.3750 -0.1250 0.2500
-0.3125 0.4687 0.0312 0.0625
0.5000 -0.2500 -0.2500 0.0000
-0.0625 0.0938 0.4063 -0.1875
>>%Матрица обратная к D в квадрате
>> D^(-2)
ans =
0.1016 -0.2148 0.0898 -0.0078
-0.2129 0.3350 0.0713 -0.0605
0.0781 -0.2422 -0.0078 0.1094
0.1699 -0.0518 -0.1670 0.0254
>> % То же что и D^(-2)
>>D^(-1)*D^(-1)
ans =
0.1016 -0.2148 0.0898 -0.0078
-0.2129 0.3350 0.0713 -0.0605
0-0781 -0.2422 -0.0078 0.1094
0.1699 -0.0518 -0.1670 0.0254
Для поэлементного преобразования матриц (листинг 15) можно применять описанные ранее операции поэлементного преобразования векторов: добавление (вычитание) числа к каждому элементу матрицы «+» («-»), поэлементное умножение матриц одинакового размера «.*», поэлементное деление матриц одинакового размера (прямое «. /» и обратное «.\»), поэлементное возведение в степень «.^» и применение к каждому элементу матрицы математических функций.
Листинг 15
>> А=[1 2;-3 1]
А =
1 2
-3 1
>>%поэлементное добавление числа
>> В=2+А
B=
3 4
-1 3
>>%Поэлементное умножение матриц
>>А.*В
ans=
-3 8
3 3
>>%Поэлементное прямое деление, то есть А на В
>>А./В
ans =
0.3333 0.5000
3.0000 0.3333
>>%Поэлементное обратное деление, то есть В на А
>> А.\В
ans =
3.0000 2.0000
0.3333 3.0000
>>%Поэлементное возведение в степень,
>>%элементы А в степени соответствующих элементов В
>> А.^В
ans =
1.0000 16.0000 -0.3333 1.0000
>>%Поэлементное возведение в степень, каждый элемент А в квадрате
>> А.^2
ans =
1 4
9 1
Довольно необычное, с точки зрения математики, применение нашлось для операторов «/» и «\». Символ «/» используется для операции, называемой делением матриц слева направо. Соответственно, знак «\» применяется для деления матриц справа налево. Операция В/A эквивалентна выражению В*A-1 ее удобно использовать для решения матричных уравнений вида Х*А= В. Соответственно, (А/В) => (A-1 • В) и применяется для решения уравнения А*Х= В. Если предположить, что Х и В - векторы, то получим запись системы линейных алгебраических уравнений в матричной форме. А это значит, что оператор «\» с успехом можно применять для решения линейных систем (листинг 16).
|
|