Finding index of minimum of a subset of an array
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I want to find the index of the greater array for a subset within that array.
Example:
A=[2 3; 1 8; 2 6; 3 1;]
[row, col]=find(min(A([2 4], 2)));
This will compare the numbers 8 and 1, and I want to retrieve the index of A for the value of 1. Instead what this will output now is 2, since the subset being considered is [8 1]. What I want is for [row col] to equal [4 4], because this is the index in A where the minimum of the subset is located.
Any suggestions? Thanks,
Risposta accettata
Più risposte (1)
Matt J
il 1 Mag 2018
Modificato: Matt J
il 1 Mag 2018
Another way. This method is probably more efficient if you need to do this repeatedly with a large array A, but small subsets.
subset={[2,4],2}; %example
lookup=reshape(1:numel(A),size(A));
T=lookup(subset{:});
[minval,loc]=min( A(subset{:}) );
[row,col]=ind2sub(size(A), T(loc) )
0 Commenti
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!