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 j-ésima entrada es igual al número de entradas en meshsites que son menores o iguales a la j-ésima entrada de 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(:).']).