|
2.5.11 数値の定義
f[x_] := valueのような定義を作ると, Mathematicaは,与えられた値 valueを,任意の関数 fが現れるたびに使う.しかし,場合によっては,値を,数値が要求されるときに限って使われるものとして定義したいことがある.

通常の値と数値の定義
関数 fに対して数値を定義する.
In[1]:= N[f[x_]] := Sum[x^-i/i^2, {i, 20}]
数値の定義自体は, fの普通の値に関して Mathematicaには何も指示しない.
In[2]:= f[2] + f[5]
Out[2]= 
近似数値を返すように指示すると,定義式が使われ値が求まる.
In[3]:= N[%]
Out[3]= 
数値は,関数に対してでもシンボルに対してでも定義することができる.定義された数値は, NIntegrateや FindRoot等のすべての組込み関数により使われる.

計算精度に依存する数値の定義
シンボル constに対して,n桁精度用の数値を定義する.値は,4n + 5個の項からなる乗積とする.
In[4]:= N[const, {n_, Infinity}] := Product[1 - 2^-i, {i, 2, 4n + 5}]
指定した値が使われ,30桁精度における constの値が評価される.
In[5]:= N[const, 30]
Out[5]= 
数値は基本的に上向きの値と同様に扱われる. fに対して数値的な値を定義するとき,この定義は, fの上向きの値を数値解析関数 Nで使うためのものとして内部に保管される.
|