Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab_лек.2_Выражения_Матричные операции.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
89.63 Кб
Скачать

2.2.10.1. Векторное и скалярное произведения векторов.

Умножение двух векторов определено в математике только для векторов одинакового размера и лишь тогда, когда один из векторов сомножителей является строкой, а второйстолбцом. Иначе говоря, если векторы Х и У являются строками, то математический смысл имеют только две формы умножения этих векторов: U=X*Y' и V=X'*Y. Причем в первом случае результатом будет скалярное произведение векторов Х и У (число), а во втором – квадратная матрица. Пример:

>> x=[1 2 3]; y=[4 5 6];

>> v=x*y'

v =

32

>> v=x'*y

v =

4 5 6

8 10 12

12 15 18

Векторное произведение. Для трехкомпонентных векторов в MATLAB существует функция cross, которая позволяет найти векторное произведение двух векторов. Пример:

>> x =[1 2 3]; y =[4 5 6];

>> cross(x,y)

ans =

-3 6 -3 . Это вектор, перпендикулярный исходным векторам.

Скалярное произведение двух векторов возвращает функция dot :

>> s=dot(x,y)

s =

32

ПРИМЕЧАНИЕ: скалярное произведение также можно найти с помощью функции sum и знака поэлементного умножения векторов:

>>sum(x.*y)

ans=

32

Функция sum определяет для матриц суммы столбцов, а для векторов – сумму всех элементов. Скалярное произведение равно произведению длин векторов на КОСИНУС угла между ними.

Длины векторов можно вычислить следующим образом:

len1 = sqrt(sum(x.*x)) ;

len2 = sqrt(sum(y.*y)). Здесь len1 = 3.7417 ; len2 = 8.7750 .

Угол между векторами определяется на основе вычисления скалярного произведения:

>>phi = acos(sum(x.*y) / (len1*len2))

phi=

1.1422

2.2.10.2.Вычисление определителя и обратной матрицы.

Функция det(B) – вычисляет определитель│B│ квадратной матрицы B.

>> d=det(B)

d =

-6

Функция обращения матрицы – inv(B) – вычисляет матрицу, обратную заданной матрице B. Исходная матрица B должна быть квадратной, и ее определитель не должен быть равен нулю. Пусть B = .

Пример:

>> B1=inv(B)

B1 =

-0.6667 0.3333 -1.1667

0.3333 0.3333 0.3333

-0.3333 -0.3333 0.1667

Матрица, обратная матрице В, обозначается В-1 и удовлетворяет соотношениям -1)-1 = B, ВВ-1 = В-1В = E, где E – единичная матрица того же порядка n, что и B.

Проверка правильности результата выполнения операции обращения матрицы B:

>> disp(inv(B1))

-1.0000 -2.0000 -3.0000

1.0000 3.0000 1.0000

0 2.0000 2.0000

В результате получена матрицу B, т.е. соотношение -1)-1 = B выполняется.

>> disp(B*B1)

1.0000 0 0

-0.0000 1.0000 -0.0000

0 0 1.0000

>> disp(B1*B)

1.0000 0 0

0 1.0000 0

0 -0.0000 1.0000

В результате получена единичная матрица Е, т.е. соотношения ВВ-1 = В-1В = E также выполняются.

2.2.10.3. Возведение матрицы в степень.

Примеры возведения квадратной матрицы в степень

>> disp(B^2)

-1 -10 -5

2 9 2

2 10 6

>> disp(B^-1)

-0.6667 0.3333 -1.1667

0.3333 0.3333 0.3333

-0.3333 -0.3333 0.1667

При возведении матрицы в целую положительную степень происходит матричное умножение матрицы на саму себя столько раз, каков показатель степени, в отличие от поэлементного возведения матрицы в степень при помощи оператора .^. Для отрицательных степеней вычисляется степень обратной матрицы.

Возможно использование дробных степеней. Пример извлечения из матрицы B кубического корня D=.

>> D=B^(1/3)

D =

0.5355 + 0.7217i -0.3647 - 0.0000i -0.7244 + 0.7217i

0.2356 - 0.2165i 1.4422 0.2356 - 0.2165i

-0.0355 + 0.1443i 0.3647 1.2244 + 0.1443i

Проверка полученного результата возведением в куб:

>> D^3

ans =

-1.0000 + 0.0000i -2.0000 - 0.0000i -3.0000 + 0.0000i

1.0000 - 0.0000i 3.0000 - 0.0000i 1.0000 - 0.0000i

0.0000 + 0.0000i 2.0000 + 0.0000i 2.0000 - 0.0000i

>> real(ans)

ans =

-1.0000 -2.0000 -3.0000

1.0000 3.0000 1.0000

0.0000 2.0000 2.0000

Соотношение D3 = B выполняется, т.е. кубический корень D= найден верно.