Matlab-matrics
MATLAB-マトリックス
マトリックスは、数値の2次元配列です。
MATLABでは、各行に要素をコンマまたはスペース区切りの数値として入力し、セミコロンを使用して各行の終わりをマークすることにより、行列を作成します。
たとえば、4行5列の行列_a_を作成します-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
MATLABは上記のステートメントを実行し、次の結果を返します-
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
マトリックスの要素を参照する
行列_mx_のm ^ th ^行とn ^ th ^列の要素を参照するには、次のように記述します-
mx(m, n);
たとえば、最後のセクションで作成されたマトリックス_a_の2 ^ nd ^行と5 ^ th ^列の要素を参照するには、次のように入力します-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
MATLABは上記のステートメントを実行し、次の結果を返します-
ans = 6
m ^ th ^列のすべての要素を参照するには、A(:、m)と入力します。
行列aの4 ^ th ^行の要素から列ベクトルvを作成しましょう−
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
MATLABは上記のステートメントを実行し、次の結果を返します-
v =
4
5
6
7
また、m ^ th ^列からn ^ th ^列の要素を選択することもできます。
a(:,m:n)
私たちは2番目と3番目の列から要素を取り、より小さい行列を作成しましょう-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLABは上記のステートメントを実行し、次の結果を返します-
ans =
2 3
3 4
4 5
5 6
同様に、マトリックスのサブパートをとるサブマトリックスを作成できます。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLABは上記のステートメントを実行し、次の結果を返します-
ans =
2 3
3 4
4 5
5 6
同様に、マトリックスのサブパートをとるサブマトリックスを作成できます。
たとえば、サブマトリックス_sa_を作成して、aの内部サブパートを取得します-
3 4 5
4 5 6
これを行うには、書き込み-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)
MATLABは上記のステートメントを実行し、次の結果を返します-
sa =
3 4 5
4 5 6
マトリックス内の行または列の削除
マトリックスの行または列全体を削除するには、空の角カッコ[]のセットをその行または列に割り当てます。 基本的に、[]は空の配列を示します。
たとえば、aの4行目を削除しましょう-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []
MATLABは上記のステートメントを実行し、次の結果を返します-
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
次に、aの5列目を削除しましょう-
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
MATLABは上記のステートメントを実行し、次の結果を返します-
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
例
この例では、3行3列の行列mを作成し、この行列の2行目と3行目を2回コピーして4行3列の行列を作成します。
次のコードでスクリプトファイルを作成します-
a = [ 1 2 3 ; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)
あなたがファイルを実行すると、次の結果が表示されます-
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9
行列演算
このセクションでは、次の基本的で一般的に使用される行列演算について説明します-
- link:/matlab/matlab_matrix_add_subtract [行列の加算と減算]
- リンク:/matlab/matlab_matrix_division [行列の分割]
- リンク:/matlab/matlab_matrix_scalar_operation [行列のスカラー演算]
- リンク:/matlab/matlab_matrix_transpose [行列の転置]
- リンク:/matlab/matlab_matrix_concatenation [行列の連結]
- リンク:/matlab/matlab_matrix_multiplication [行列乗算]
- リンク:/matlab/matlab_matrix_determinant [行列の行列式]
- リンク:/matlab/matlab_matrix_inverse [逆行列]