How to | 行列の部分を取り出す方法
How to | 行列の部分を取り出す方法
Wolfram言語では,行列の構築,計算,可視化等の操作をサポートする数多くの行列操作を行うことができる.また,Wolfram言語は行列の部分を選んだり抽出したりするための豊富な言語も兼ね備えている.
以下のような行列を定義する.Wolfram言語における行列は数字の項目だけに限らないことに注意する:
mat = Table[Subscript[m, i, j], {i, 5}, {j, 5}];
mat//MatrixFormPartを使って第1行の2番目の要素を取る:
Part[mat, 1, 2]あるいはPartの簡略表記[[…]]を使う:
mat[[1, 2]]mat[[4]]1列全体を取る場合には,Allですべての行を選び,列を指定する:
mat[[All, 4]]部分行列を選ぶ場合にはSpan (;;)を使うとよい.まず4×5の行列を定義する:
mat = RandomInteger[10, {4, 5}];
mat//MatrixFormここで太字になっている左上の3×4行列は,行1から3,そして列1から4に対応している:
(| | | | | |
| - | -- | - | -- | - |
| 9 | 2 | 8 | 5 | 0 |
| 1 | 10 | 9 | 10 | 3 |
| 0 | 0 | 0 | 5 | 7 |
| 9 | 10 | 9 | 0 | 4 |)Span (;;)を使ってここで該当する行と列の範囲を指定することによって,太字部分の行列を抽出する:
mat[[1 ;; 3, 1 ;; 4]]mat[[1 ;; 3, 1 ;; 4]]//MatrixForm一番外側の行と列を除いたすべての要素(負の指数は終りから数える)を抽出する:
mat[[2 ;; -2, 2 ;; -2]]mat[[2 ;; -2, 2 ;; -2]]//MatrixForm