matlab查找最临近搜索knnsearch

Idx = knnsearch(X,Y) finds the nearest neighbor in X for each query point in Y and returns the indices of the nearest neighbors in Idx, a column vector. Idx has the same number of rows as Y.

为Y中的每个查询点在X中查找最近的邻居,并返回IDX(列向量)中最近邻居的索引。IDX的行数与y相同。

Idx = knnsearch(X,Y,Name,Value) returns Idx with additional options specified using one or more name-value pair arguments. For example, you can specify the number of nearest neighbors to search for and the distance metric used in the search.

返回IDX,并使用一个或多个名称-值对参数指定其他选项。例如,可以指定要搜索的最近邻居的数目和搜索中使用的距离度量。

[Idx,D] = knnsearch(___) additionally returns the matrix D, using any of the input arguments in the previous syntaxes. D contains the distances between each observation in Y and the corresponding closest observations in X.

使用先前语法中的任何输入参数返回矩阵D。D包含Y中每个观测值与X中对应的最近观测值之间的距离。

举例:

Load Fisher‘s iris data set.

load fisheriris
X = meas(:,3:4); % Measurements of original flowers
Y = [5 1.45;6 2;2.75 .75]; % New flower data

Perform a knnsearch between X and the query points Y using Minkowski and Chebychev distance metrics.

使用Minkowski和chebychev距离度量在x和查询点y之间执行 knnsearch

[mIdx,mD] = knnsearch(X,Y,‘K‘,10,‘Distance‘,‘minkowski‘,‘P‘,5);
[cIdx,cD] = knnsearch(X,Y,‘K‘,10,‘Distance‘,‘chebychev‘);

Visualize the results of the two nearest neighbor searches. Plot the training data. Plot the query points with the marker X. Use circles to denote the Minkowski nearest neighbors. Use pentagrams to denote the Chebychev nearest neighbors.

可视化两个最近邻搜索的结果。绘制训练数据。用标记x绘制查询点。用圆表示Minkowski最近的邻居。用五角星表示切比雪夫最近的邻居。

gscatter(X(:,1),X(:,2),species);
line(Y(:,1),Y(:,2),‘Marker‘,‘x‘,‘Color‘,‘k‘,...
‘Markersize‘,10,‘Linewidth‘,2,‘Linestyle‘,‘none‘);
line(X(mIdx,1),X(mIdx,2),‘Color‘,[.5 .5 .5],‘Marker‘,‘o‘,...
‘Linestyle‘,‘none‘,‘Markersize‘,10);
line(X(cIdx,1),X(cIdx,2),‘Color‘,[.5 .5 .5],‘Marker‘,‘p‘,...
‘Linestyle‘,‘none‘,‘Markersize‘,10);
legend(‘setosa‘,‘versicolor‘,‘virginica‘,‘query point‘,...
‘minkowski‘,‘chebychev‘,‘Location‘,‘best‘);



来源:https://ww2.mathworks.cn/help/stats/knnsearch.html?searchHighlight=knnsearch&s_tid=doc_srchtitle

原文地址:https://www.cnblogs.com/yibeimingyue/p/10859901.html

时间: 2024-08-02 05:06:40

matlab查找最临近搜索knnsearch的相关文章

用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matlab查找关键字(SSID),把关键字后面的数字存起来用作后期处理分析,如下图,把ky后面的信号强度数据(那个负数)弄出来.求大神指点应该怎么办,或给程序,谢谢! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 fn = 'my_data.txt'; fid = fo

Android Studio查找功能(搜索功能)

F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[find],开始在整个工程内查找该字符串  查找结果如下:  3.查找类[Ctrl+N] 4.查找文件[Ctrl+Shift+N] 5.查找项目中的方法或变量[Ctrl+Shift+Alt+N] 6.查找类/方法/变量引用的地方 先定位光标 右键选择"Find Usages"(快捷键Alt+F7) 结果在find窗口中 ctrl+F

数组索引的kdtree建立及简明快速的k近邻搜索方法

1. kdtree概念 kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构,主要应用于多维空间关键数据的搜索,如范围搜索和最近邻搜索. 如下图所示,在既定的分割维度上,每一个根节点的值均大于其左子树,并小于其右子树.这样的二叉树,对于搜索某个点的最临近点或k近邻点,是十分高效快速的. 2. 建立kdtree 建立kdtree,主要有两步操作:选择合适的分割维度,选择中值节点作为分割节点.分割维度的选择遵循的原则是,选择范围最大的纬度,也即是方差最大的纬度作为分割维度:

查找命令find的用法

find用法 在linux中一切皆文件,里面有大量的文件,我们需要在成千上万个文件找到那些我们需要的文件!!!!这时就需要用到查找命令了,find命令比locate命令的功能要齐全而且要好用的多,所以博主只在这里接受find命令的用法. find  格式:find [option]...[查找路径][查找条件][处理动作] 查找路径:默认为当前目录,自动向下递归 查找条件:可以是基于文件名,大小,类型,权限等标准进行 处理动作:对查找到的内容做处理,默认输出打印到屏幕 find是通过遍历指定路径

Linux文件搜索工具--find、locate

文件查找 在文件系统上查找符合条件的文件: 文件查找: locate, find 非实时查找(数据库查找): locate 实时查找: find 1. 非实时查找(数据库查找): locate 查询系统上预建的文件索引数据库  (基于此数据库搜索) 数据库:  /var/lib/mlocate/mlocate.db 依赖于事先构建的索引 索引的构建是在系统较为空闲时自动进行(周期性任务), 管理员手动更新数据库 :  updatedb (新建立的文件,需要更新数据库以后才能搜索到,所以适合查找比

Linux基础之文件查找:locate、find

引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们想查找内容的搜索内容,这在Linux的文件查找中称为精确匹配,但是如果我们虽然知道我们想要的内容,但是找不到特别精确的言辞来形容它因此只能输入描述性内容为搜索条件,这种在Linux的文件查找中可以称为模糊匹配.本文的初衷是希望这篇文章可以解决大家在使用Linux的过程中不至于因为查找某个文件找不到而

linux五大搜索命令学习

五大搜索命令学习 分别解释locate,find,which,whereis,grep 五大linux搜索命令 locate 解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依赖于updatedb命令.该命令更新linux中的查找数据库/var/lib/locatedb 这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用 locate之前,先使用update

find搜索

find find搜索:实时查找工具,通过遍历指定路径完成文件查找 工作特点:   查找速度略慢   精确查找   实时查找   可能只搜索用户具备读取和执行权限的目录 find [OPTION]... [查找路径] [查找条件] [处理动作]  查找路径:指定具体目标路径:默认为当前目录  查找条件:指定的查找标准,可以文件名.大小.类型.权限等标准进行:默认为找出指定路径下的所有文件  处理动作:对符合条件的文件做操作,默认输出至屏幕 查找条件 指搜索层级: -maxdepth level

Linux下的文件查找类命令(转载)

如何快速有效的定位文件系统内所需要查找的文件呢?Linux为我们提供了一些文件查找类的命令,我们需要掌握以下几个命令: http://blog.csdn.net/sailor201211/article/details/53290470 which 命令which会依照用户的PATH环境变量查找一个外部命令对应的可执行文件的路径.如: $ which gcc /usr/bin/gcc whereis 和which命令相比,whereis命令则可以定位一个外部命令的二进制文件.源代码文件及用户手册