Dado un vector a = [1,2, 3,2, 4, 5] y un elemento x = 3 En el vector a, ¿cómo encontrar la entrada exacta que es más grande que x?Dado un vector a = [1,2, 3,2, 4, 5] y un elemento x = 3 En el vector a, ¿cómo encontrar la entrada exacta que es más grande que x?
5
A
Respuesta
9
No estoy seguro de lo que quiere decir con la entrada "exacta". Esto le dará índices de todos los valores mayores que x
:
indices = find(a > x);
Suponiendo a
ya está ordenado, esto le dará el índice de la primera (es decir, el valor más pequeño mayor que x
):
index = find(a > x,1);
1
Si desea calcular estas posiciones para varios valores de x
, usted será mejor usar histc
en lugar de bucle a través de todos los valores de x
, como en términos de complejidad histc
habrá O(n*log(n))
, mientras que el enfoque de bucle será O(n^2)
:
[~,I] = histc(x, [-Inf; a(:); Inf]);
I(x==inf) = numel(a)+1;
Esto funcionará para a
ordenados y arbitraria x
. Como un ejemplo:
a = 1:10;
x = [5.5, 0.1, 2.3];
producirá:
I = [6 1 3]
Cuestiones relacionadas
- 1. Dado un vector a = [1,2, 3,2, 4, 5] y un elemento x = 3 En el vector a, ¿cómo encontrar la entrada exacta que es más grande que x?
- 2. ¿Encontrar k vecinos más cercanos para un vector dado?
- 3. Crear un vector que enumera la longitud de ejecución del vector original con la misma longitud que el vector original
- 4. ¿Por qué std :: vector :: operator [] 5 a 10 veces más rápido que std :: vector :: at()?
- 5. 4 Elemento Vector (Matemáticas 3D)
- 6. reemplazar valores en un vector basado en otro vector
- 7. ¿Qué significa x = x (:) en matlab, donde x es un vector?
- 8. cómo determinar si el elemento kth más grande del montón es mayor que x
- 9. ¿Por qué usar "vector.at (x)" es mejor que "vector [x]" en C++?
- 10. Cómo encontrar el vector para el cuaternión de X Y Z rotaciones
- 11. ¿Cómo buscar un elemento en un vector?
- 12. ¿Es x + = 1 más eficiente que x = x + 1?
- 13. ¿Cómo puedo actualizar un elemento en un vector en Clojure?
- 14. Puntero a un Vector
- 15. MATLAB - ¿cómo puedo encontrar el primer índice donde el valor es mayor que el umbral
- 16. Algoritmo para encontrar el número primo más grande más pequeño que x
- 17. ¿Cuál es más exacto, x **. 5 o math.sqrt (x)?
- 18. prueba si un vector contiene un elemento dado
- 19. ¿Se puede usar glVertexAttribPointer para asignar un vector más pequeño a uno más grande?
- 20. ¿Hay una función R para encontrar el índice de un elemento en un vector?
- 21. ¿Por qué math.factorial es mucho más lento en Python 2.x que en 3.x?
- 22. En la declaración "std :: vector <X> f();", ¿es "std :: vector <X>" una instanciación?
- 23. C++ ampliar un vector con otro vector
- 24. Encuentra el valor más grande más pequeño que x en una matriz ordenada
- 25. múltiples elementos en un vector
- 26. ¿Construye GCC moderno (4.x) para apuntar a un kernel 2.4.x en la misma arquitectura que el host?
- 27. Dividir un vector en trozos en R
- 28. elemento de borrado en el vector mientras que la iteración el mismo vector
- 29. Cómo forzar el mapeo de color a un rango dinámico más grande que la entrada particular a imshow en matplotlib
- 30. Buscar una tupla en un diccionario de python que coincida (x, y) o (y, x)