sorted
找到相对于网格站点的位置
语法
pointer = sorted(meshsites,sites)
说明
该工具箱中的多种命令需要确定索引 j,使得给定的 x 位于区间 [tj..tj + 1] 内,其中 (ti) 为给定非递减序列(例如节点序列)。这项工作由 sorted 以如下方式完成。
pointer = sorted(meshsites,sites) 是整数行向量,其第 j 个条目等于 meshsites 中小于或等于 sort(sites) 的第 j 个条目的个数。因此,如果 meshsites 和 sites 均为非递减值,则
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(:).']) 的索引输出。