Bonjour tout le monde,
Je dispose d'une matrice X, sa dimension est (28,90). cette matrice contient des coordonnées de points (pas dans l'ordre). Je dispose également d'une matrice Y de la même dimension avec les coordonnées Y correspondant au coordonnées X des points donnés.

je dois extraire seulement les point contenu dans un domaine précis, sauf que mon domaine n'est pas un carré. J'ai le vecteur longitude_extract=[4 6] . Mais mon vecteur latitude_extract=[41 y_droit(i)]
ou la y_droite=[42.0000 42.0156 42.0312 42.0469 42.0625 …] (en vérité la dimension de y_droite =33)

C'est a dire pour les point dont le X est entre 4 et 4.0625 par exemple, j'extrais les points Y entre 41 et 42.0156,
pour les point entre 4.0625 et 4.1250 en X, j'extrais les points entre 41 et 42.0312 en Y,
et ainsi de suite

si le domaine était un carré j'aurais pu juste faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
[l, c]=find(4<=X) & (X<=6) &(41<=Y) & (Y<=42);
 
 
 matrice_ext=matrices_Ray(l,c);

sauf que là c'est plus compliqué

J'ai pensé donc à définir la droite entre long[4 6] et lat [42 42.5]

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
a=(42-42.5)/(4-6);
x_droite=vecteurlon;
y_droite=a*x_droite+41;
ensuite de faire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
for i=1:length(x_droite)-1
 
idx_lon(:,:,i) = x_droite(i)<=X & X<=x_droite(i+1);
idx_lat(:,:,i) = 41<=Y & Y<=y_droite(i+1);
 
end
mais je ne sais pas du tout comment je vais pouvoir trouver les points après
quelqu'un aurait une idée*?

merci