Plot a binary value each time a number in vector A is also present in vector B.

1 view (last 30 days)
I have two vectors of different sizes: A=5000x1 and B=86000x1. They both represent time in seconds, but A shows important timestamps while B shows all seconds in my observation window.
I was wondering how I can calculate a binary Result vector where 1 will mark each of the seconds in B that were stamped in A, and 0 will mark all the remaining seconds. I realised A could also work as a vector showing indexes, since B is a continuous vector 1:86000, if that helps.
I am struggling with this problem, that doesn't look very complex but it's eating my brain. Thanks!
  1 Comment
Carlos Goncalves Moreira
Carlos Goncalves Moreira on 17 Jul 2018
I Actually solved this question already. I have created a 86000x1 vector of zeros and tranformed all the indexes stated in vector A into ones. It was easy. Thanks anyway.

Sign in to comment.

Answers (1)

Matt J
Matt J on 17 Jul 2018
Or you could use ismember,
result = ismember(B,A);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by