2017-10-17 7 views
0

J'ai un signal représenté par le tracé ci-dessousMatlab trouver signe point de changement

enter image description here

Maintenant, je veux trouver le point où ce signal passe par zéro, ou change de signe

J'ai écrit Un code pour trouver les points max/min locaux/globaux afin que je puisse définir l'intervalle quand je repère le point de passage à zéro (changement de signe)

Mais, j'ai du mal à trouver le point de passage par zéro en utilisant MATLAB

Mes données brutes est un tableau 3D (450x450x200) où 450x450 représente la région et 200 représente le temps axe

Ainsi, quand je prends, par exemple, (200200) le point et l'intrigue, je reçois le graphique du signal, comme le un montré ci-dessus.

Alors, ma question est la suivante:

  • Comment trouvez-vous un passage par zéro (ou, signe de changement) point dans certain intervalle?

Répondre

0

Vous pouvez faire une simple boucle pour les données y axe:

for idx = 2:lengthOfData % or an interval 
    if sign(data(idx))*sign(data(idx-1)) == -1 
     disp(data(idx)) % Or whatever you want to do with the idx 
    end %if 
end %for 

Ou vous pouvez utiliser FIND pour rechercher une gamme donnée de conditions (données autour de zéro), mais il n » t donner certains endroits, par exemple si les données tournent autour de zéro.