MATLAB: Find the intersection of two curves

digital signal processingsignal processing

hello. i have 2 curves which are drawn amplitude against samples. how can i find the intersection of samples in 2 curves? i mean i want to find that which samples of 2 curves have same amplitudes each of curves are the size 1*53
load s1w; load s2w;
plot (s1w,'.b-'); hold on; plot (s2w,'.r-');

Best Answer

Since samples of s1w and s2w are not exactly equal, you will need to define a tolerance value to find the point of intersection i.e. how much difference between value can still be treated as equal. In this case, following is one of the possible solutions
tol < 0.1; % change tolerance as required.
index = abs(s1w-s2w) < tol;
indexNumeric = find(index);
this will give you index from both vectors where values are almost equal.