Bonjour à tous,

je cherche à stocker 18 phases et 18 modules assocés à 18 signaux de fréquence différentes.
En gros j'ai V1 et V2 qui sont deux matrices complexe de dimensions 79380*18, f qui est un vecteur représentant mes 18 fréquences en question.

Mon programme est le suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Fs=44100; M=79380; Td=1.8;
f=150:50:1000; % 18 valeurs valeurs de fréquences
f_sec=0:(Fs-Td+1)/(M-Td):Fs;
Ensuite je récupère mes signaux complexes V1 et V2 qui sont des matrices de dimension 79380x18
lorsque je fais le rapport
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
H12=V2./V1; % dimension 79380x18
mod_H12=abs(H12); % dimension 79380x18
arg_H12=angle(H12) % dimension 79380x18
Le problème c'est que je ne vois pas comment récupérer seulement mes 18 phases et modules (sous forme vectorielle) correspondant aux fréquences
f=[150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000]

(plutot que d'avoir plein de courbes qui se supperposent les unes aux autres lorsque je trace cette matrice en fonction de mon vecteur f_sec)
j'ai essayé de faire une boucle for, mais ça ne me donne pas le bon résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
for i=1:18
for f=150:50:1000
modH12(i)=mod_H12(j+1,i)
argH12(i)=arg_H12(j+1,i)
end
end
en gros sur mon vecteur f_sec, il faudrait que j'identifie les numéros de point correspondant à f=150; f=200; f=250 .... f=1000
soit les point 271--> 150; 361-->200; 451-->250; --> 541-->300 , puis ensuite dans la première colonne du module/ phase aller chercher la valeur correspondant au point 271 pour avoir les modules/phases à 150 Hz; deuxième colonne aller chercher la valeur correspondant au point 361 pour avoir les modules/phases à 200 Hz, ainsi de suite jusqu'à la 18 ème colonne (à ce rythme là on n'a pas fini)

Je me demande si on peut aussi utiliser la fonction find ?

Merci encore pour votre aide, car la j'en ai vraiment besoin