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

Removing some elements from a vector

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.

Products

No products are associated with this question.

Answer by the cyclist on 1 Jun 2013
Edited by the cyclist on 1 Jun 2013

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) = [];
```

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.

hdr mhr on 6 Jun 2013

Sure I will do so, thanks.