行列間の演算を実行する場合、「.*」と「*」の意味は異なります:「*」は行列の乗算です。2 つの行列は、左側の行列の列数が次の条件を満たす必要があります。行数; 「.*」はドット乗算演算であり、2 つの行列の対応する要素の乗算演算を指します。
#この記事の動作環境: Windows7 システム、Dell G3 コンピューター、MATLAB R2020a バージョン。
.*” と “*” の違い:
- 数値間の演算を実行します。 "
.*" と "
*" に違いはなく、どちらも通常の乗算演算を表します。例: m = 2、n = 3、m.*n = 6 、m* n = 6.
- 行列間の演算を行う場合の「
.*」と「
*」の意味は異なります。と b は 2 つの行列を表し、a*b は行列 a と行列 b の行列乗算を表します。a.*b は行列 a の要素と行列 b の要素を順番に乗算します。得られた結果は、次の要素として使用されます。新しい行列の同じ位置です。
# は行列の乗算です。A が m*n 次元の行列、B が n*p 次元の行列の場合、 A*B は m*p 次元行列
-
.* はドット乗算演算であり、2 つの行列の対応する要素の乗算を指します。 2 つの行列の次元が同じであることが必要です
MATLAB は特別な記号を使用して行列演算と配列演算を区別します。この 2 つを区別する必要がある場合は、前にドットを置きます。これが配列演算であることを示す記号 (例: .*)。行はいくつかの一般的な配列および行列演算を示します。
- 配列加算: A B、配列加算および行列加算同じです。
- 配列の減算: A-B、配列の減算と行列の減算は同じです。
- 配列の乗算: A.*B、A、およびB の要素は 1 つずつ乗算されます。2 つの配列は同じ形状であるか、一方がスカラーである必要があります。
- 行列乗算: A*B、A の行列乗算および B、A の列数は B の行数と同じでなければなりません。
- 配列の右除算: A./B、A と B の要素は次のとおりです。 1 つずつ除算: A(i,j)/ B(i,j) 2 つの配列は同じ形状であるか、一方がスカラーである必要があります。 : A.\B、A と B の要素は 1 つずつ対応します 除算: B(i,j)/A(i,j) 2 つの配列は同じ形状であるか、一方がスカラーである必要があります。
#行列右除算: A/B 行列除算、A*inv(B) と同等、inv(B) は B の逆行列です。 行列左除算: A\B 行列除算、inv (B)*A と同等、inv(A) は A の逆行列です。 配列指数演算: A. ^B、AB の要素は次の演算を 1 つずつ実行します: A(i, j)^B(i,j)、A(i,j)/B(i,j) は同じ形状、または 1 つの形状でなければなりません。 関連記事をさらに読みたい場合は、- PHP中文网
にアクセスしてください。 !
以上がMatlab の .* と * の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。