mtimes, *

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

Синтаксис

C = A*B
C = mtimes(A,B)

Описание

пример

C = A*B матричное произведение A и B. Если A является m-by-p, и B является p-by-n матрицей, то C является матрицей m на n, заданной

C(i,j)=k=1pA(i,k)B(k,j).

В этом определении говорится, что 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 и является коммутативным.

C = mtimes(A,B) альтернативный путь состоит в том, чтобы выполнить A*B, но редко используется. Это позволяет выполнить перегрузку оператора для классов.

Примеры

свернуть все

Создайте вектор - строку 1 на 4, A, и 4 1 вектор-столбец, B.

A = [1 1 0 0];
B = [1; 2; 3; 4];

Умножьте времена A B.

C = A*B
C = 3

Результатом является скаляр 1 на 1, также названный скалярным произведением векторов A и B. Также можно вычислить скалярное произведение AB с синтаксисом dot(A,B).

Умножьте времена B A.

C = B*A
C = 4×4

     1     1     0     0
     2     2     0     0
     3     3     0     0
     4     4     0     0

Результатом является матрица 4 на 4, также названная векторным произведением векторов A и B. Векторное произведение двух векторов, AB, возвращает матрицу.

Создайте два массива, A и B.

A = [1 3 5; 2 4 7];
B = [-5 8 11; 3 9 21; 4 0 8];

Вычислите продукт A и B.

C = A*B
C = 2×3

    24    35   114
    30    52   162

Вычислите скалярное произведение второй строки A и третьего столбца B.

A(2,:)*B(:,3)
ans = 162

Этот ответ совпадает с C(2,3).

Входные параметры

свернуть все

Левый массив, заданный как скаляр, вектор или матрица.

  • A и B должны быть 2D массивами, или один из них может быть скаляром.

  • Для нескалярных входных параметров количество столбцов в A должно быть равно количеству строк в B.

  • Если один из A или B является целочисленным классом (int16, uint8, …), то другой вход должен быть скаляром.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | calendarDuration
Поддержка комплексного числа: Да

Правый массив, заданный как скаляр, вектор или матрица.

  • A и B должны быть 2D массивами, или один из них может быть скаляром.

  • Для нескалярных входных параметров количество столбцов в A должно быть равно количеству строк в B.

  • Если один из A или B является целочисленным классом (int16, uint8, …), то другой вход должен быть скаляром.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | calendarDuration
Поддержка комплексного числа: Да

Выходные аргументы

свернуть все

Продукт, возвращенный как скаляр, вектор или матрица. Массив C имеет одинаковое число строк как вход A и одинаковое число столбцов как вход B. Например, если A является m-0 пустой матрицей, и B является 0 n пустой матрицей, то A*B является матрицей m на n нулей.

Расширенные возможности

Представлено до R2006a