Mathematics | ![]() ![]() |
行列の乗算
行列の乗算は、その中に含まれている線形変換の構成を反映する一つの方法で、連立線形方程式のコンパクトな表現です。行列積C = ABは、Aの列次元がBの行次元と等しいときか、またはどちらか一方がスカラのとき、定義されます。Aがm行p列で、Bがp行n列の行列ならば、積Cはm行n列の行列になります。積は、MATLABのforループ、コロン記法、ベクトルのドット積を使って定義されます。
for i = 1:m for j = 1:n C(i,j) = A(i,:)*B(:,j); end end
MATLABは、行列乗算を定義するのに、単一アスタリスクを使います。つぎの二つの例は、行列積が累積になっていないことを示すものです。すなわち、ABは、通常、BAと異なります。
X = A*B X = 15 15 15 26 38 26 41 70 39 Y = B*A Y = 15 28 47 15 34 60 15 28 43
x = A*u x = 8 17 30 y = v*B y = 12 -7 10
長方形行列乗算は、次元の整合性を満足していなければなりません。
X = A*C X = 17 19 31 41 51 70 Y = C*A Error using ==> * Inner matrix dimensions must agree.
w = s*v w = 14 0 -7
![]() | ベクトル積と転置 | 単位行列 | ![]() |