Compare vector to matrix of unique dimensions
Mostra commenti meno recenti
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];
Risposta accettata
Più risposte (1)
Andrei Bobrov
il 8 Nov 2017
out = sum(permute(A,[3,1,2]) <= v,3);
1 Commento
xtremecheez
il 8 Nov 2017
Modificato: xtremecheez
il 8 Nov 2017
Categorie
Scopri di più su Resizing and Reshaping Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!