|
1.8.2 数値の表を作る
数値の表としてリストを使うことができる.表は,パラメータに値を設定した数列の値について式を繰返し評価することで作成することができる.
= 1〜6における の値の表を作る.
In[1]:= Table[i^2, {i, 6}]
Out[1]= 
今度は, = 0〜4における の値の表を作る.
In[2]:= Table[Sin[n/5], {n, 0, 4}]
Out[2]= 
Nをリストに作用させ,数値を確認する.
In[3]:= N[%]
Out[3]= 
数式を要素とした表を作成することも可能である.
In[4]:= Table[x^i + 2i, {i, 5}]
Out[4]= 
Tableで使う反復子の記述は,1.5.4で説明した和Sumと積Productのものと同じ整数表記である.
In[5]:= Product[x^i + 2i, {i, 5}]
Out[5]= 
0.25刻みでxを0〜1に変えた表を作成する.
In[6]:= Table[Sqrt[x], {x, 0, 1, 0.25}]
Out[6]= 
Tableで作ったリストには,別の演算を行うことも可能である.
In[7]:= %^2 + 3
Out[7]= 
TableFormを作用させると,表の形式でリストを表示することができる.TableとFormの頭文字は大文字であることに注意.
In[8]:= % // TableForm
Out[8]//TableForm= 
これまで見てきた表の作成例は,すべて単一の表を変えて作成した.複数のパラメータに依存した表を作成することもできる,多次元の表を作るときも1.5.4の標準的な反復子の記述法が使われる.
〜 および 〜 と変えたときの の表を作成する.
In[9]:= Table[x^i + y^j, {i, 3}, {j, 2}]
Out[9]= 
上の例における表は,リストのリストである.外側のリストの要素は, の反復値に対応している.また,内側のリストの要素は, を固定したときの の反復値に対応している.
場合によっては,何も増分しないで,特定の式を何回も繰返し評価するだけで表を生成したい.
記号xを4つ並べたリストを作る.
In[10]:= Table[x, {4}]
Out[10]= 
擬似乱数を4つ生成しリストを作る.Tableは,反復するたびにRandom[ ]の評価を行う.このため,異なった擬似乱数が得られる.
In[11]:= Table[Random[ ], {4}]
Out[11]= 

表の生成に使う関数
1.2.4で説明した操作法でリストから任意の要素を抽出することができる.
のリストを作成し,mと呼ぶことに する.
In[12]:= m = Table[i - j, {i, 2}, {j, 2}]
Out[12]= 
表を構成しているリストのリストから,第1要素のサブリストを抽出する.
In[13]:= m[[1]]
Out[13]= 
次に,第2要素を抽出する.
In[14]:= %[[2]]
Out[14]= 
こうすれば,両方の操作を1回でできる.
In[15]:= m[[1,2]]
Out[15]= 
mを表の形式で表示する.
In[16]:= TableForm[m]
Out[16]//TableForm= 

表の要素抽出の方法
1.2.4で述べたように,Mathematicaにおいてリストは配列と同じように扱うことができる.例えば,リストのリストは2次元配列である.それを表形式でレイアウト表示したなら,各要素に割り当てられた2つの添数は, と の座標のような働きをする.
Tableを使えば,どんな次元数の配列でも作成できる.
2×2×2の3次元配列を作る.これは,リストのリストのそのまたリストである.
In[17]:= Table[i j^2 k^3, {i, 2}, {j, 2}, {k, 2}]
Out[17]= 
|