Main Content

許容誤差を使用した散布データのグループ化

この例では、散布データ点を対象となる点への近さに基づいてグループ化する方法を説明します。

一連のランダムな 2 次元の点を作成します。次に、乱数データの上に等間隔に配置された点によるグリッドを作成してプロットします。

x = rand(10000,2);
[a,b] = meshgrid(0:0.1:1);
gridPoints = [a(:), b(:)];
plot(x(:,1), x(:,2), '.')
hold on
plot(gridPoints(:,1), gridPoints(:,2), 'xr', 'Markersize', 6)

Figure contains an axes object. The axes object contains 2 objects of type line.

ismembertol を使用して gridPoints のグリッド点の許容誤差内にある x のデータ点を特定します。ismembertol には次のオプションを指定します。

  • 点の座標は x の行に含まれるため、ByRowstrue に指定します。

  • gridPoints の対応する行の許容誤差内にある x の行すべてのインデックスを返すため、OutputAllIndicestrue に指定します。

[LIA,LocB] = ismembertol(gridPoints, x, 0.05, ...
    'ByRows', true, 'OutputAllIndices', true);

各グリッド点について、グリッド点の許容誤差内にある x の点をプロットします。

figure
hold on
for k = 1:length(LocB)
    plot(x(LocB{k},1), x(LocB{k},2), '.')
end
plot(gridPoints(:,1), gridPoints(:,2), 'xr', 'Markersize', 6)

Figure contains an axes object. The axes object contains 122 objects of type line.

参考

関連するトピック