Умножение матриц
матричное произведение C = A*BA и B. Если A m-by-p и B p-by-n матрица, затем C матрица m на n, заданная
В этом определении говорится тот C(i,j) скалярное произведение iстрока th A с jстолбец th 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 заканчиваются, но с меньшим количеством операций и меньшим количеством промежуточного использования памяти.