ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mtimes, *

説明

C = A*BAB の行列積です。A が m 行 p 列の行列で B が p 行 n 列の行列の場合、C は次の式で定義される m 行 n 列の行列になります。

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

この定義は、C(i,j)Ai 行目と Bj 列目の内積であることを示します。この定義を MATLAB® コロン演算子を使用して以下のように記述できます。

C(i,j) = A(i,:)*B(:,j)
非スカラーの AB に対しては、A の列数は B の行数と等しくなる必要があります。非スカラー入力の場合、行列乗算は必ずしも可換では "ありません"。つまり、A*B は一般的に B*A と等価ではありません。少なくとも 1 つの入力がスカラーの場合、A*BA.*B と等価であり、可換です。

C = mtimes(A,B)A*B の代替方法として実行できますが、まれにしか使われません。これにより、クラスの演算子のオーバーロードが可能です。

すべて折りたたむ

1 行 4 列の行ベクトル A と 4 行 1 列の列ベクトル B を作成します。

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

AB の乗算を行います。

C = A*B
C = 3

結果は 1 行 1 列のスカラーであり、ベクトル A および B"ドット積" または "内積" とも呼ばれます。ドット積 AB は、代わりに構文 dot(A,B) を使用して計算することもできます。

BA の乗算を行います。

C = B*A
C = 4×4

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

結果は 4 行 4 列の行列であり、ベクトル AB"外積" とも呼ばれます。2 つのベクトルの外積 AB は、行列を返します。

2 つの配列 A および B を作成します。

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

AB の積を計算します。

C = A*B
C = 2×3

    24    35   114
    30    52   162

A の 2 番目の行と B の 3 番目の列の内積を計算します。

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

この解は、C(2,3) と同じです。

入力引数

すべて折りたたむ

左側の配列。スカラー、ベクトルまたは行列として指定します。

  • AB は 2 次元配列であるか、いずれか 1 つがスカラーでなければなりません。

  • 非スカラー入力の場合、A の列数は B の行数と等しくなればなりません。

  • A または B のいずれかが整数クラス (int16uint8、…) の場合、もう一方の入力はスカラーでなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | calendarDuration
複素数のサポート: あり

右側の配列。スカラー、ベクトルまたは行列として指定します。

  • AB は 2 次元配列であるか、いずれか 1 つがスカラーでなければなりません。

  • 非スカラー入力の場合、A の列数は B の行数と等しくなればなりません。

  • A または B のいずれかが整数クラス (int16uint8、…) の場合、もう一方の入力はスカラーでなければなりません。

データ型: 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 より前に導入