Articles of vectorización de

Vectorizando la noción de Colón (:) – valores entre dos vectores en MATLAB

Tengo dos vectores, idx1 e idx2 , y quiero obtener los valores entre ellos. Si idx1 e idx2 fueran números y no vectores, podría hacerlo de la siguiente manera: idx1=1; idx2=5; values=idx1:idx2 % Result % values = % % 1 2 3 4 5 Pero en mi caso, idx1 e idx2 son vectores de longitud […]

creación de matriz vectorizada a partir de una lista de índices de inicio / finalización

Tengo una matriz M dos columnas que contiene los índices de inicio / final de un grupo de intervalos: startInd EndInd 1 3 6 10 12 12 15 16 ¿Cómo puedo generar un vector de todos los índices de intervalo? v = [1 2 3 6 7 8 9 10 12 15 16]; Estoy haciendo […]

Algoritmos rápidos para encontrar la distancia euclidiana por pares (matriz de distancia)

Sé que Matlab tiene una función pdist integrada que calculará las distancias por pares. Sin embargo, mi matriz es tan grande que su 60000 por 300 y matlab se queda sin memoria. Esta pregunta es un seguimiento de la función de distancia cuadrada euclidiana por pares de Matlab . ¿Hay alguna solución para esta ineficiencia […]

¿Cómo comparo todos los elementos de dos matrices?

Tengo dos grandes matrices con aproximadamente 1000 filas y 1000 columnas. Necesito comparar cada elemento de estas matrices y almacenar 1 en otra matriz si los elementos correspondientes son iguales. Puedo hacer esto con loops pero eso lleva mucho tiempo. ¿Cómo puedo hacer esto más rápido?

Crea una matriz 2D llena de cero con las que están en las posiciones indexadas por un vector

Estoy tratando de vectorizar la siguiente operación de MATLAB: Dado un vector de columna con índices, quiero una matriz con el mismo número de filas de la columna y un número fijo de columnas. La matriz se inicializa con ceros y contiene unos en las ubicaciones especificadas por los índices. Aquí hay un ejemplo de […]

¿Cómo asignar valores en la diagonal?

Supongamos que tengo una matriz A de NxN, un vector de índice V que consiste en un subconjunto de los números 1: N y un valor K, y quiero hacer esto: for i = V A(i,i) = K end ¿Hay alguna manera de hacer esto en una statement con vectorización? por ejemplo, A ( algo […]

equivalente pdist2 en MATLAB versión 7

Necesito calcular la distancia euclidiana entre 2 matrices en matlab. Actualmente estoy usando bsxfun y calculando la distancia como a continuación (adjunto un fragmento del código): for i=1:4754 test_data=fea_test(i,:); d=sqrt(sum(bsxfun(@minus, test_data, fea_train).^2, 2)); end El tamaño de fea_test es 4754×1024 y fea_train es 6800×1024, usando su bucle for está haciendo que la ejecución del for […]

Multiplicar una matriz 3D con una matriz 2D

Supongamos que tengo una matriz X AxBxC y una matriz Y BxD . ¿Hay un método sin bucle por el cual puedo multiplicar cada una de las matrices C AxB con Y ?

Punto flotante atómico doble o vector de carga / almacenamiento de SSE / AVX en x86_64

Aquí (y en unas pocas preguntas de SO) veo que C ++ no es compatible con algo como lock-free std::atomic y todavía no es compatible con algo como atomic AVX / SSE vector porque depende de la CPU (aunque hoy en día de las CPU que conozco, ARM, AArch64 y x86_64 tienen vectores). ¿Pero hay […]

¿Convertir la imagen BMP a un conjunto de instrucciones para un trazador?

Tengo un trazador como este: La tarea que tengo que implementar es la conversión de 24 bits BMP a un conjunto de instrucciones para este trazador. En el trazador puedo cambiar 16 colores comunes. La primera complejidad a la que me enfrento es la reducción de colores. La segunda complejidad a la que me enfrento […]