Умножение матрицы
- матричное произведение C = A*BA и B. Если A является m-by-p и B является матрицей p-by-n, то C является матрицей m-by-n, определяемой
(k, j).
Это определение говорит, что C(i,j) является внутренним продуктом iтретий ряд A с j4-я колонна B. Это определение можно записать с помощью оператора двоеточия MATLAB ® как
C(i,j) = A(i,:)*B(:,j)
A и B, количество столбцов A должно равняться количеству строк B. Матричное умножение не является универсально коммутативным для нескалярных входов. То есть A*B обычно не равно B*A. Если хотя бы один вход скалярен, то A*B эквивалентно A.*B и является коммутативным.С цепными матричными умножениями, такими как A*B*C, вы можете увеличить время выполнения, используя круглые скобки для определения порядка операций. Рассмотрим случай умножения трех матриц на A*B*C, где A 500 на 2, B 2 на 500, и C 500 на 2.
Без скобок порядок операций слева направо, так что A*B вычисляется первым, который формирует матрицу 500 на 500. Эта матрица затем умножается на C чтобы получить результат 500 на 2.
Если вместо этого указать A*(B*C), то B*C умножается первым, создавая матрицу 2 на 2. Малая матрица затем умножается A получить тот же самый результат 500 на 2, но с меньшим количеством операций и меньшим промежуточным использованием памяти.
colon | cross | dot | pagemtimes | times