主要内容

sorted

找到相对于网格站点的位置

语法

pointer = sorted(meshsites,sites)

说明

该工具箱中的多种命令需要确定索引 j,使得给定的 x 位于区间 [tj..tj + 1] 内,其中 (ti) 为给定非递减序列(例如节点序列)。这项工作由 sorted 以如下方式完成。

pointer = sorted(meshsites,sites) 是整数行向量,其第 j 个条目等于 meshsites 中小于或等于 sort(sites) 的第 j 个条目的个数。因此,如果 meshsitessites 均为非递减值,则

meshsites(pointer(j)) ≤ sites(j) < meshsites(pointer(j)+1)

在以下条件下会出现明显解释

pointer(j) < 1    or    length(meshsites) < pointer(j) + 1 

具体而言,当存在 pointer(j) < 1 时,sites(j) 必须严格位于 meshsites(1) 的左侧;而当存在 length(meshsites) < pointer(j)+1 时,sites(j) 必须位于 meshsites(end) 的右侧或与之齐平。

示例

语句

sorted([1 1 1 2 2 3 3 3],[0:4])

将生成输出 0 3 5 8 8,以下语句同样会生成该输出

sorted([3 2 1 1 3 2 3 1],[2 3 0 4 1])

算法

使用来自 sort([meshsites(:).',sites(:).']) 的索引输出。