Je veux savoir comment sélectionner ces chiffres qui correspondent (c'est-à-dire la même position) à mes numéros prédéfinis.
Par exemple, j'ai ces vecteurs: P>
output = [1 100
2 300
3 400
4 700]
4 Réponses :
Créer un index logique basé sur A code> et l'appliquer sur A code> et B code> pour obtenir le résultat souhaité: ind = ~mod(a,1); % true for integer numbers
output = [a(ind); b(ind)].'; % build result
Bien que l'intention n'est pas claire, la création d'indexation à la matrice est la solution
Ma solution est p> la clé ici crée l'index sur Autres approches pour vérifier l'entier pourrait être P> A code> et B code> pour lequel il est un vecteur logique aux valeurs entier dans a code>. Cette fonction checkint code> fait un bon travail entier. P> checkint = @(x) ~mod(x,1) % Slowest, treat 0 as false
Belle comparaison des méthodes. Mais utiliser l'approche la plus rapide est en quelque sorte sourde en l'informant deux fois. Mieux enregistrer le résultat de checkint code> dans une variable temporaire.
output =
1 2 3 4
100 300 400 700
! = code> n'est pas valide Syntaxe MATLAB; Utilisez ~ = code> à la place
Nous pouvons générer une index logique basée sur une fonction de correctif ()