|
3.1.7 発展:区間演算

実数の区間の表記法
と の間のすべての数を表す.
In[1]:= Interval[{-2, 5}]
Out[1]= 
と の間にある数の2乗は必ず0から25の間にある.
In[2]:= Interval[{-2, 5}]^2
Out[2]= 
逆数を計算すると,2つの区間が返ってくる.
In[3]:= 1/Interval[{-2, 5}]
Out[3]= 
Absを作用させると,区間を数直線の正の側に折り返す.
In[4]:= Abs[%]
Out[4]= 
区間をいろいろな種類の関数計算に使ってもよい.
In[5]:= Solve[3 x + 2 == Interval[{-2, 5}], x]
Out[5]= 
ある種の関数は自動的に区間を返す.
In[6]:= Limit[Sin[1/x], x -> 0]
Out[6]= 

区間に関する操作
2つの区間の交差する部分を探す.
In[7]:= IntervalIntersection[Interval[{3, 7}], Interval[{-2, 5}]]
Out[7]= 
Maxと Minを使い区間の端を探す.
In[8]:= Max[%]
Out[8]= 
7がどの区間に含まれるか判定させる.
In[9]:= IntervalMemberQ[ Table[Interval[{i, i+1}], {i, 1, 20, 3}], 7]
Out[9]= 
厳密な値に対してだけでなく近似値に対しても区間が使える.機械精度の数であっても答が有効になるように内部で四捨五入処理が施される.
機械精度で 0.に四捨五入される区間を表示する.
In[10]:= Interval[0.]
Out[10]= 
100.近傍に相当する区間を表示する.これは 100.のまわりの同様の区間を 0のまわりまで平行移動したものを示す.
In[11]:= Interval[100.] - 100
Out[11]= 
どんな桁精度の数でも同様な処理を行える.
In[12]:= Interval[N[Pi, 50]] - Pi
Out[12]= 
普通の機械精度の計算では,この例の値は間違って計算される.
In[13]:= Sin[N[Pi]]
Out[13]= 
しかし,ここで生成する区間は正解である0を含む.
In[14]:= Sin[Interval[N[Pi]]]
Out[14]= 
|