Листинг 13

>> А=[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).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: