Bonjour,
J'ai besoin d'aide sur un projet MATLAB :
On a un profil de profondeur "Z", ce profil est recoupé par un nombre de couches défini par l'utilisateur, les profondeurs limites entre les couches sont rangées dans la matrice "Zt", chaque couches à un paramètre "a" et "Epi", rangés dans les matrices at et Epit (premiere couche --> première colonne de ces matrices, n ème couche---> n ème colonne de ces matrices)
on veut faire un calcul ici "toto" pour chaque profondeur de Z en tenant compte des paramètres "a" et "Epi" qui varient en fonction de la profondeur.
voilà mon programme (qui est faux)
ce que je veux en résultat (pour cet exemple) c'est une matrice "toto" de une ligne et 8 colonnes avec les valeurs suivantes :
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
22
23
24
25
26 clc clear all nbrcouche=4;% nombre de couches Z=[0:1:8]; %profondeur du profil Zt=[0 3.6 4.5 5.7]; %limite des couches at=[1 2 3 4]; %ensemble des a de la couche 1 à n Epit=[1 2 3 4];%ensemble des Epi de la couche 1 à n for i=1:length(Z) for n=2:(nbrcouche+1) if n>numel(Zt) a=at(1,length(at)); Epi=Epit(1,length(Epit)); toto(i)=Z(i)+(a*Epi); else if Zt(n-1)<Z(i) & Z(i)<Zt(n) a=at(1,(n-1)); Epi=Epit(1,(n-1)); toto(i)=Z(i)+(a*Epi); end end end end
comme sur cette image où les lignes gras noire représentent les limites de couches :
Code : Sélectionner tout - Visualiser dans une fenêtre à part toto=[1 2 3 4 8 14 22 23 24]
Merci d'avance, ça fait cinq heures que je galère dessus, je commence à avoir du mal à réfléchir.
Partager