sorted
Localizar sitios con respecto a sitios de malla
Sintaxis
pointer = sorted(meshsites,sites)
Descripción
Varios comandos de esta toolbox tienen que determinar el índice j por el que un x dado se encuentra en el intervalo [tj..tj + 1], con una secuencia no decreciente (ti) dada, por ejemplo, una secuencia de nudos. Este trabajo lo realiza sorted
de la forma siguiente.
pointer = sorted(meshsites,sites)
es el vector fila de enteros cuya entrada j
-ésima es igual al número de entradas en meshsites
que son ≤ ssites(j)
, con ssites
el vector sort(sites)
. Así, si tanto meshsites
como sites
son no decrecientes, entonces
meshsites(pointer(j)) ≤ sites(j) < meshsites(pointer(j)+1)
con las interpretaciones evidentes cuando
pointer(j) < 1 or length(meshsites) < pointer(j) + 1
En concreto, tener pointer(j) < 1
corresponde entonces a tener sites(j)
estrictamente a la izquierda meshsites(1)
, mientras que tener length(meshsites) < pointer(j)+1
corresponde a tener sites(j)
en, o a la derecha de, meshsites(end)
.
Ejemplos
La instrucción
sorted([1 1 1 2 2 3 3 3],[0:4])
generará la salida 0 3 5 8 8
, como también lo hará la instrucción
sorted([3 2 1 1 3 2 3 1],[2 3 0 4 1])
Algoritmos
Se utiliza la salida de indexación de sort([meshsites(:).',sites(:).'])
.