主要内容

rangesearch

通过编辑距离范围找到最近的邻居

描述

例子

idx= rangesearch (eds单词maxDist找到所有的单词eds都在距离之内maxDist里面的词单词

例子

idxd= rangesearch(eds单词maxDist还返回相应单词的编辑距离。

例子

全部折叠

创建一个编辑距离搜索器并指定最大编辑距离为3。

词汇= [“MathWorks”“MATLAB”“金宝app模型”“文本”“分析”“分析”];maxDist = 3;eds = editDistanceSearcher(词汇表,maxDist);

找到最接近的单词“测试”“分析”,“分析”编辑距离小于或等于1。

单词= [“测试”“分析”“分析”];maxDist = 1;idx = rangesearch(eds,words,maxDist)
idx =3×1单元格数组{[4]} {[5]} {1x0 double}

“分析”时,搜索器中没有指定范围内的单词。为“测试”而且“分析”,每个结果都有一个。查看对应的单词“测试”使用返回的索引。

nearestWords = eds.Vocabulary(idx{2})
nearestWords = "analytics"

找到最接近的单词“测试”“分析”,“分析”编辑距离小于或等于3以及它们对应的编辑距离。

单词= [“测试”“分析”“分析”];maxDist = 3;[idx,d] = rangesearch(eds,words,maxDist)
idx =3×1单元格数组{[4]} {[5 6]} {[6]}
d =3×1单元格数组{[1]} {[1 2]} {[3]}

对于这两个“测试”而且“分析”,搜索器中有一个词在指定范围内。为“分析”,有两个结果。查看对应的单词“分析”(第二个词)使用返回的索引和它们的编辑距离。

I = 2;nearestWords = eds.Vocabulary(idx{i})
nearestWords =1 x2字符串“分析”“分析”
d{我}
ans =1×21 2

输入参数

全部折叠

编辑距离搜索器,指定为editDistanceSearcher对象。

输入单词,指定为字符串向量、字符向量或字符向量的单元格数组。如果你指定单词作为字符向量,函数将参数视为单个单词。

数据类型:字符串|字符|细胞

最大搜索距离,指定为非负数。

该函数查找in中的单词的索引eds谁的元素的编辑距离单词小于或等于maxDist,按升序编辑距离排序。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

搜索器中最近邻居的索引,作为向量单元格数组返回。

idx{我}是词的索引向量吗eds其编辑距离为单词(我)小于或等于maxDist,按升序编辑距离排序。

数据类型:细胞

编辑到邻居的距离,作为向量单元格数组返回。

d{我}是一个矢量之间的编辑距离单词(我)和对应的词在eds由词汇表索引给出idx{我}

数据类型:细胞

版本历史

在R2019a中引入