MATLABの変数などなど - その2

配列変数(行列)

1. 配列について

MATLABでの配列や行列への演算は、基本的に配列や行列全体に対して行われる。MATLABでは「2次元の配列変数 = 行列」である。


2. 配列の生成

A = [0,1,2,3]
B = [1,2,3; 4,5,6; 7,8,9]
C = zeros(5,1)

これらのステートメントを実行すると、それぞれの行列は

A =
   0   1   2   3
B =
   1   2   3
   4   5   6
   7   8   9
C =
   0
   0
   0
   0
   0

という行列になる。配列の生成の関数はones、zeros、rand、linspaceなどの関数を使用可能。

関数名 説明
ones 全てが1の配列
zeros 全てが0の配列
rand 要素がランダムな配列
linspace 線形に配置されたベクトル
start:step:stop 線形に配置されたベクトル



3. 配列の計算

  • 要素ごと
演算子 説明
A + 10 各要素に10を加算
A .* 10 各要素に10を乗算
A .^ 10 各要素を10のべき乗
sin(A) 各要素にsin(a)を実行


  • 行列の演算
演算子 説明
A' 転置行列(シングルクォーテーション)
inv(A) 逆行列
A*A 行列の内積


  • 行列の連結
演算子 説明
D = [A, A] 行方向の連結
E = [A; A] 列方向の連結
D =
   1   2   3   1   2   3
   4   5   6   4   5   6
   7   8   9   7   8   9
E =
   1   2   3
   4   5   6
   7   8   9
   1   2   3
   4   5   6
   7   8   9



4. 配列へのアクセス

A(3, 3)

配列へのアクセスは「配列名(x1, x2, …)」で行える。

  • 引数は「1インデックス」
  • 範囲外への代入は拡張
  • 範囲外の参照はエラー



5. 配列への範囲アクセス

「start:stop」を使用する。「:」のみで全体。

A(1:3, 3)
A(2, :)
ans = 
   3
   6
   9
ans = 
   4   5   6