Trier des lignes de matrices
Bonjour,
Comme vous pouvez vous en douter, je débute sur Matlab et je bute sur un truc qui est sûrement bateau (j'arrive à le faire sur R mais je voudrais apprendre à le faire sur Matlab).
Alors voilà :
J'ai une grosse matrice de 3 colonnes (coordonnées X Y Z de points)
Je voudrais sélectionner les points ayant des coordonnées X Y particulières.
Le but au final est de créer une sorte de buffer autour d'un point GPS pour avoir la hauteur minimum (Z minimum) autour de ce point.
Mon soucis, c'est que je n'arrive pas à sélectionner la ligne ENTIERE.
Exemple avec une matrice banale :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
test = [1 1 3;1 2 4;2 1 5:2 2 6;1 3 6;3 1 9;3 3 6; 3 2 2; 2 3 4]
test =
1 1 3
1 2 4
2 1 5
2 2 6
1 3 6
3 1 9
3 3 6
3 2 2
2 3 4 |
Je veux les lignes pour lesquelles la première colonne a des valeurs de 1 ou 2
J'ai essayé ça :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
test(test(:,1)<2.5)
ans =
1
1
2
2
1
2 |
Comme vous le voyez, je ne récupère que la première colonne.
Dans la mesure où, au final j'aurais besoin de trier selon les coordonnées X ET Y, j'ai essayé ça :
Code:
1 2 3 4 5 6 7 8 9
|
test(test(:,1)<2.5 & test(:,2)<2.5)
ans =
1
1
2
2 |
Même punition, même si je lui demande de trier selon la première et la deuxième colonne, il ne me renvoie que la première.
Pour ceux qui connaissent R, j'essaie en gros de faire des subset en fonction des valeurs de la 1ère et 2ème colonne.
Merci pour vos réponses :)