MATLAB: 行列の演算

informatics/matlab/matrix_calculation
8-3-2017 updated

  1. 概要: 行列の四則演算

広告

概要: 行列の四則演算

足し算、引き算

足し算と引き算は単純である。単にそれぞれの要素が足し算または引き算される。ただし、行列の次元が違うとエラーになる。 ”Error using  + Matrix dimensions must agree." などと表示される。


>> A=magic(4)
A =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

>> B=rand(4)
B =
    0.8235    0.0344    0.7952    0.6463
    0.6948    0.4387    0.1869    0.7094
    0.3171    0.3816    0.4898    0.7547
    0.9502    0.7655    0.4456    0.2760

>> C=A+B
C =
   16.0971    2.0971    3.0971   13.0971
    5.0971   11.0971   10.0971    8.0971
    9.0971    7.0971    6.0971   12.0971
    4.0971   14.0971   15.0971    1.0971

>> D=A-B
D =
   15.9029    1.9029    2.9029   12.9029
    4.9029   10.9029    9.9029    7.9029
    8.9029    6.9029    5.9029   11.9029
    3.9029   13.9029   14.9029    0.9029


掛け算

行列の掛け算は複雑なので、小さい整数行列で考えてみる。


>> A=magic(2)
A =
     1     3
     4     2

>> B=[1 2; 3 4]
B =
     1     2
     3     4

>> A*B
ans =
    10    14
    10    16


これは単純な行列同士の掛け算である。なぜかわからない人はこの数学学習サイトを参照しよう。

MATLAB で覚えておきたいのは、以下の要素同士の掛け算である。すなわち、乗算記号 * の前に . (ドット)をつけることで、それぞれの要素同士を掛け合わせるという意味になる。


>> A.*B
ans =
     1     6
    12     8


同様に、A^2 は行列同士の掛け算になるが、A.^2 なら各要素を 2 乗するという意味になる。


コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。

References