2010-04-27 7 views
0

Je cherche une commande ou une astuce pour convertir deux tableaux en une matrice clairsemée. Les deux tableaux contiennent des valeurs x et des valeurs y, ce qui donne une coordonnée dans le système de coordonnées cartésien. Je veux regrouper les coordonnées, qui si la valeur est entre une certaine valeur sur les axes x et les axes y.MATLAB: Convertir deux tableaux en une matrice clairsemée

% MATLAB 
x_i = find(x > 0.1 & x < 0.9); 
y_i = find(y > 0.4 & y < 0.8); 

%Then I want to find indicies which are located in both x_i and y_i 

Y at-il un moyen facile de ce petit truc?

Répondre

5

En supposant que x et y ont la même forme (qu'ils devraient si elles sont coordonnées), vous pouvez simplement écrire

commonIndices = find(x > 0.1 & x < 0.9 & y > 0.4 & y < 0.8); 

Si vous voulez une manière générale pour trouver des numéros qui sont communs à deux listes , vous pouvez utiliser l'intersection

commonEntries = intersect(x_i,y_i); 
+0

+1: Me battre d'une minute! – gnovice

+0

Nice! Merci, c'était exactement ce que je cherchais. – aagaard

Questions connexes