MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by hdr mhr on 1 Jun 2013

I have a vector that consists of some numbers in the following way: A = [153 244 253 353 453 530 653 ...] The pattern is that there is always 153,253,353,...,2353 (these represent time i.e. 1:53am,...11:53pm) for a day. In between these *53 numbers there are some numbers that I don't wish to keep them. For example between 353 and 453, a 433 appears which needs to be removed from the vector. So the final result I wish to get is vector A = [153 253 353 ...2353] (of course in the original vector I have, this pattern for one day is repeated for a whole year).

Any thought on how to do this?

I would really appreciate any answer.

*No products are associated with this question.*

Answer by the cyclist on 1 Jun 2013

Edited by the cyclist on 1 Jun 2013

Accepted answer

First, try to define an index that identifies the values you don't want. It sounds like this will do it:

idx = not((mod(A,100)==53));

Then, you can use that index to remove the unwanted values:

A(idx) = [];

Show 1 older comment

hdr mhr on 5 Jun 2013

Now that I ran the program, I realized that some of the "53" ones are missing (for some days). So the array I have is something like this:
A = [53 153 253...2353 53 153...2353 153 ` 353`...2353], which a "253" is missing between 153 and 353 in that particular day. I would like to insert a specific number, say 10000 whenever there is a missing "*53", so that I can locate the missing ones. Can you think of an efficient way to do this?

Thank you

the cyclist on 5 Jun 2013

I suggest you open up a new question for this. New questions buried in comments of old questions don't get much "traffic". Be sure to give enough detail that someone can understand what you are trying to do, without reference to this one.

## 0 Comments