% function [] = trackplot(freq,amp) % % This function steps through a given matrix amp and finds continuous vectors of data % along the columns (separated by zeros) and plots the corresponding values of freq % matrix as lines vs. the row index. function [] = trackplot(freq,amp) born=1; flag = 0; freqhold=[]; count = 1; pp = []; [numpeaks,numtracks] = size(freq); clg hold on for k = 1:numtracks % for each column born=1;flag=0;freqhold=[];count=1;pp=[]; for i = 1:numpeaks % find continuous vectors of data and plot them. if(flag==1 & born==1) % found a zero and are at end of track so plot. plot(pp,freqhold,'b') flag = 0; freqhold = []; pp=[]; count = 1; born = 0; % end elseif(amp(i,k)~=0 & born==1) % are still in a track get next guy. freqhold(count)=freq(i,k); pp(count) = i; count = count + 1; % end elseif(amp(i,k)~=0 & born==0) % just printed a track and now found a new one freqhold(count)=freq(i,k); pp(count)=i; count = count+1; born = 1; elseif(amp(i,k)==0 & born==1) % Have found a zero at the end of a track. flag = 1; else end end end title('Frequency Tracks'); xlabel('Frame'); ylabel('Frequency (w)');