WOLFRAM言語チュートリアル

Nearestを使う

Nearestは,指定されたデータ点に最も近いリスト中の要素を見付けるために使う.

Nearest[{elem1,elem2,},x]x が最も近い のリストを与える
Nearest[{elem1->v1,elem2->v2,},x]
x が最も近い に対応する を与える
Nearest[{elem1,elem2,}->{v1,v2,},x]
同じ結果を与える
Nearest[{elem1,elem2,}->Automatic,x]
を整数1, 2, 3, として取る
Nearest[data,x,n]x に近い n 個の要素を与える
Nearest[data,x,{n,r}]半径 r 内で x に最も近い要素を最大 n 個与える
Nearest[data]異なる x に繰り返し適用できるNearestFunction[]を生成する

Nearest関数

Nearestは数値のリスト,テンソル,文字列のリストに使える.

4.5に最も近い要素を与える.
In[1]:=
Click for copyable input
Out[1]=
4.5に最も近い3つの要素を見付ける.
In[2]:=
Click for copyable input
Out[2]=
半径2以内で4.5に最も近い要素をすべて見付ける.
In[3]:=
Click for copyable input
Out[3]=
に一番近い点を2Dで見付ける.
In[4]:=
Click for copyable input
Out[4]=
"cat"に一番近い文字列を見付ける.
In[5]:=
Click for copyable input
Out[5]=

規則ベースのデータシンタックスにより,一番近い要素を使い,そのラベルを返すことができる.

2Dの点にラベルが付けられる.
In[6]:=
Click for copyable input
Out[6]=
In[7]:=
Click for copyable input
Out[7]=
連続した整数を使って要素にラベルを付ける.
In[8]:=
Click for copyable input
Out[8]=

Nearestを同じ数値データに繰り返し適用する場合,最初にNearestFunctionを生成するとパフォーマンスに格段の差が出る.

次で2Dにおける10,000個の点の集合とNearestFunctionを生成する.
In[9]:=
Click for copyable input
Out[9]=
10の目標点に一番近い点を集合の中から見付ける.
In[10]:=
Click for copyable input
Out[10]=
NearestFunctionを使わなかったら,もっと時間がかかる.
In[11]:=
Click for copyable input
Out[11]=
In[12]:=
Click for copyable input
Out[12]=
オプション名
デフォルト値
DistanceFunctionAutomatic使用する距離測定法

Nearestのオプション

Nearestは数値データに対してはデフォルトでEuclideanDistanceを使う.文字列の場合はEditDistanceを使う.