MATHEMATICAチュートリアル

行列の部分抽出と設定

m[[i,j]] 要素を抽出する
m[[i]]i 行目を抽出する
m[[All,i]]i 列目を抽出する
Take[m,{i0,i1},{j0,j1}]行から 行まで,列から 列までの部分行列を抽出する
m[[i0;;i1,j0;;j1]]行から 行まで,列から 列までの部分行列を抽出する
m[[{i1,...,ir}, {j1, ... , js}]] 行が で列が の要素からなる r×s の部分行列を抽出する
Tr[m,List]対角要素を抽出する
ArrayRules[m]非零要素の位置

行列の部分抽出法

Mathematica では,行列はリストのリストとして表される.したがって,Mathematica のリスト操作に使う標準的な演算を行列に対しても行うことができる.

3×3の行列を例に使う.
In[1]:=
Click for copyable input
Out[1]=
行列から第2行を抽出する.
In[2]:=
Click for copyable input
Out[2]=
これは行列の第2列である.
In[3]:=
Click for copyable input
Out[3]=
これで部分行列を抽出する.
In[4]:=
Click for copyable input
Out[4]=
m={{a11,a12,...},{a21,a22,...},...}m が行列であると割り当てる
m[[i,j]]=a要素a に再設定する
m[[i]]=ai の全要素が a になるように再設定する
m[[i]]={a1,a2,...}i の要素がになるように再設定する
m[[i0;;i1]]={v1,v2,...} から までがベクトルになるように再設定する
m[[All,j]]=aj の全要素が a になるように再設定する
m[[All,j]]={a1,a2,...}j の要素がになるように再設定する
m[[i0;;i1,j0;;j1]]={{a11,a12,...},{a21,a22,...},...}から まで,列 から までの部分行列が新しい値となるよう再設定する

行列の部分的再設定

これは3×3行列である.
In[5]:=
Click for copyable input
Out[5]=
2, 2要素をに再設定し,次いで行列全体を表示する.
In[6]:=
Click for copyable input
Out[6]=
今度は第2列の全要素をに再設定する.
In[7]:=
Click for copyable input
Out[7]=
これは第2列の2つの要素を別々に再設定する.
In[8]:=
Click for copyable input
Out[8]=
第2列のすべての値を1大きくする.
In[9]:=
Click for copyable input
Out[9]=

指標の範囲は (Span)を使って指定することができる.

以下で最初の2行が新しいベクトルになるよう再設定する.
In[10]:=
Click for copyable input
Out[10]=
各行の第1・第3列目の要素を再設定する.
In[11]:=
Click for copyable input
Out[11]=
行2から3までの第1・第3列目の要素を再設定する.
In[12]:=
Click for copyable input
Out[12]=
New to Mathematica? Find your learning path »
Have a question? Ask support »