Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 1_1(Линал).doc
Скачиваний:
11
Добавлен:
05.06.2015
Размер:
347.65 Кб
Скачать

Умножение матриц

Умножение матриц AиB– есть операция вычисления матрицыC=AB, элементы которой равны сумме произведений элементов в соответствующей строке первого множителя и столбце второго.

Количество столбцов в матрице Aдолжно совпадать с количеством строк в матрицеB. Если матрицаAимеет размерностьm x n, матрицаBимеет размерностьn x p, то размерность их произведения, матрицыC=AB, будетm x p.

Операция матричного умножения «*»двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором; в этом случае говорят, что форма матриц согласована.

В частности, умножение всегда выполнимо, если оба сомножителя - квадратные матрицы одного и того же порядка.

Следует заметить, что из существования произведения AB вовсе не следует существование произведения BA.

Упражнение 6. Выполнить в тетради + MATLAB.

Для матриц ,,c=2,D1=ones(2,3),D2=ones(3,2),E1=eye(2,3),E2=eye(3,2),E3=eye(3), (ввести символьно соответствующие элементы:symsa11a12 итд.), осуществить операции:

A' % эрмитово сопряжение

A.' % транспонирование

B' % эрмитово сопряжение

B.' % транспонирование

% умножение на число:

A1 = 2*A, A2=A*3, A3=4.*A, A4=A*.5

% сложение матриц:

C1 = A+B, C2=A+D2, C3=B+D1, C4=A+E2, C5=B+C1

%умножение матриц:

% что меняет умножение квадратной матрицы на единичную E?

F1 = A*B, F2=B*A, F3=B' *A'б F4=E2*B, F5=A*E1, F=F1*F1*F1 F6=F1*E3, F7=E3*F1

% поэлементное умножение матриц:

C = A.*D2

% возведение матрицы А в степень, (то же что и B=A*A, выполнимо только для квадратных матриц)

A^2 % невыполнимо

F1^2 % выполнимо

A.^2 % возведение каждого элемента матрицы А в степень

Свойства операций над матрицами.

1) Сложение и вычитание допускается только для матриц одинакового размера.

2) Существует нулевая матрица Oтакая, что её прибавление к другой матрице A не изменяет последнюю. Все элементы нулевой матрицы равны нулю.

3) Возводить в степень (умножение матрицы на себя) можно только квадратные матрицы.

4) Ассоциативность сложения: A+(B+C)=(A+B)+C.

5) Коммутативность сложения: A+B=B+A.

6) Ассоциативность умножения: A(BC)=(AB)C.

7) Вообще говоря, умножение матриц некоммутативно: AB≠BA.

8) Дистрибутивность умножения относительно сложения:

A(B+C)=AB+AC

(B+C)A=BA+CA.

9) Свойства операции транспонирования матриц:

( A ') '=A

(AB) '=B 'A '

(A+B)'=A'+B'

10) Для квадратных матриц существует единичная матрица (аналог единицы для операции умножения чисел) такая, что умножение любой матрицы на неё не влияет на результат, а именно: EA=AE=A.

Упражнение 7.

1) Проверить на примерах 10 свойств операций над матрицами

2) Ввести матрицы

, ,,,,,.

2) Выполнить операции (или убедиться, что их выполнить нельзя):

, , ,,,,,,,,,,,,,,

  1. Работа с элементами массивов.

    1. Обращение к элементам векторов. Примеры.

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

>> v = [1.3 3.6 7.4 8.2 0.9];

то для вывода, например его четвертого элемента, используется индексация:

>> v(4)

ans = 8.2000

2. Появление элемента массива в левой части оператора присваивания приводит к изменению в массиве

>> v(2)=-55

v =

1.3000 -55.0000 7.4000 8.2000 0.9000

3. Из элементов массива можно формировать новые массивы, например

>> u = [v(3); v(2); v(1)]

u =

7.4000

-55.0000

1.3000

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

>> w=v([4,2,5])

w =

8.2000 -55.0000 0.9000

>> w=v([3,1,3,1,1])

w =

7.4000 1.3000 7.4000 1.3000 1.3000

>> v=v'

v =

1.3000

-55.0000

7.4000

8.2000

0.9000

>> w=v([3,1,3])

w =

7.4000

1.3000

7.4000

5. MATLAB предоставляет удобный способ обращения к блокам последовательно расположенных элементов вектора.

Для этого служит индексация при помощи знака двоеточия.

Предположим, что в массиве w, соответствующем вектор–строке из семи элементов, требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу:

>> w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];

>> w(2:5) = 0;

>> w

w =

0.1000 0 0 0 0 7.1000 9.8000

Присваивание  w(2:5) = 0  эквивалентно последовательности команд  w(2) = 0; w(3)=0; w(4)=0; w(5)=0. 

Можем изменять элементы через определенный шаг:

>> w(1:2:7) = -1;

>> w

w =

-1.0000 0 -1.0000 0 -1.0000 7.1000 -1.0000

6. Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив:

>> w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];

>> w1=w(1:2:7)

w1 =

0.1000 3.3000 2.6000 9.8000

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]