Compare vector to matrix of unique dimensions
Mostrar comentarios más antiguos
I have a column vector (5000x1) and a matrix (5x3). I want to find the maximum index (ii = 1,2,3) for each element of the vector against each row of the matrix where the vector element is less than or equal to the indexed element. I will end up with a matrix of size (5000x5). If the vector element is greater than all elements in a row, return 3 as the index.
Example with a (6x1) vector and (5x3) matrix:
v = [1 1 2 1 2 3]'; A = [0 1 2
1 2 3
0 0 0
1 1 2
2 3 4];
Output (6x5): B = [2 1 3 1 1
2 1 3 1 1
3 2 3 3 1
2 1 3 1 1
3 2 3 3 1
3 3 3 3 2];
Respuesta aceptada
Más respuestas (1)
Andrei Bobrov
el 8 de Nov. de 2017
out = sum(permute(A,[3,1,2]) <= v,3);
1 comentario
xtremecheez
el 8 de Nov. de 2017
Editada: xtremecheez
el 8 de Nov. de 2017
Categorías
Más información sobre Resizing and Reshaping Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!