Bonjour !
Je rencontre des difficultés à remplir une matrice de sorte à ce qu'elle soit d'une taille précise.
Je m'explique :
Je discrétise l'axe des abscisses de façon régulière comme suit :
Je souhaite calculer l'atténuation acoustique (SBL) en chacun de ces points (au sol). Je sais calculer les différentes valeurs de SBL. Les différentes valeurs obtenues correspondent à l'atténuation sur une portion de r.
Code : Sélectionner tout - Visualiser dans une fenêtre à part r = [rmin:dr:rmax]
Par exemple : dans [A(1) A(2)] SBL = -25dB avec (A(1),A(2)) < rmax et (A(1),A(2)) > rmin
Je souhaiterais tracer SBL en fonction de r.
J'ai essayé de faire comme suit :
- Sachant que je connais SBL sur [A(1)...A(n)] et que SBL est constante sur [A(i) A(i+1)], à chaque calcul de sbl sur ces tronçons j'ai fait :
J'ai complété en début de routine avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 n = numel([A(i):dr:A(i+1)]); SBL = [SBL repmat(sbl,1,n)];
Et en fin de routine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sbl = -200; n = numel([rmin:dr:A(1)]); SBL = [SBL repmat(sbl,1,n)];
Ce que j'ai fiat ne me donne pas numel(SBL) = numel(r), c'est proche mais pas égal et je comprends pourquoi :A(i) ~= r(j) !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sbl = -200; n = numel([A(end):dr:rmax]); SBL = [SBL repmat(sbl,1,n)];
Je vous remercie d'avance pour vos réponses !
Partager