Vectorized FIND with 'FIRST' option
Up to now, to find the first non-zero element of a matrix along a column (for example) user might:
1. Use for-loop with FIND command
for j=1:size(A,2)
... = find(A(:,j), 1, 'first');
end
2. Use other vectorized methods, often time not very straight-forwards (MAX, LOGICAL, SPARSE, etc...). This method creates temporary arrays and scan such the arrays few times while doing some calculation.
3. Write the basic FOR-LOOP algorithm to accomplish the task.
The FINDFIRST command does just the same, but implemented using MEX engine which should be faster than any of the above. It can handle 'FIRST', 'LAST' option, and return more than one FIND count.
NOTE: not yet tested on Linux (gcc)
Citation pour cette source
Bruno Luong (2025). Vectorized FIND with 'FIRST' option (https://fr.mathworks.com/matlabcentral/fileexchange/24641-vectorized-find-with-first-option), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- MATLAB > Mathematics > Sparse Matrices >
Tags
Remerciements
A inspiré : csearch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
findfirst/
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 1.1.0.0 | Fix a bug when 'last' in invoked on 64-bit platform |
||
| 1.0.0.0 |
