Bonjour,
Je sollicite votre aide pour un petit problème :
J'aimerai généré un vecteur ligne qui indexera des valeurs à partir de matrice.
J'ai 3 matrices (47,53) donnant des valeurs d'altitudes, elles correspondent à des couches géologiques. J'aimerai que pour chaque point nx,ny,nz avoir une indexation de la couche géologique dans lequel se trouve ce point. Pour ce faire j'ai écris un bout de code, mais il doit y avoir une erreur dedans, je n'ai pas le résultat souhaité :
J'ai d'abord crée le le vecteur colonne ayant pour valeur 0 aux bonnes dimensions. Quand j'excecute ce code le vecteur colonne domain reste avec des valeurs 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 nz=200 ny=53 nx=47 domain =[]; domain = [1:nx*ny*nz] == 0; for k=1:nz for j=1:ny for i=1:nx if dz*k<ZIsocle(i,j) domain(i+(j-1)*nx+(k-1)*(nx*ny))==0; else if dz*k<ZIh2(i,j) domain(i+(j-1)*nx+(k-1)*(nx*ny))==1; else if dz*k<ZIh1(i,j) domain(i+(j-1)*nx+(k-1)*(nx*ny))==2; else if dz*k<ZIsurface(i,j) domain(i+(j-1)*nx+(k-1)*(nx*ny))==3; else domain(i+(j-1)*nx+(k-1)*(nx*ny))==0; end end end end end end end
Voyez-vous ou se trouve mon erreur s'il vous plaît. J'espère que je suis assez clair dans mes explications.
Merci d'avance.
Bien cordialement.
Guilhem
Partager