matching from a distribution

I am a new user and I hope my question is not too sample.
I have a value A=1000; and i have a huge vector B . From B I want to select the observations that : 1. are 10% away from A in either direction (+ and - 10% of A) 2. select the matching values that fall in the same tercile of A (i.e where A falls in the 33.33% of the distribution of the values of B).
How can I do so without writing long programs. I feel a couple of lines by an expert can do the job.

4 Comments

What's x and Y?
sorry. x is A . it is the 1000 and Y is B. I forgot that i named them A and B and I named them x and y instead
i edited the question. now it is clearer
i edited the question. now it is clearer

Sign in to comment.

Answers (2)

[I]
idx = B > A + .1*A | B < A + .1*A;
B(idx)

2 Comments

I think you mean:
idx = B > A - .1*A | B < A + .1*A;
B(idx)
For A = 1000, your formulation detects B > 900 and B < 1100 which means values in between, but you said away in both directions from A, which I interpret outside of the confidence intervals.

Sign in to comment.

Danielle Leblanc
Danielle Leblanc on 4 Jul 2011
The solution for the 1st problem proposed by oleg is wrong. I think it should be : idx = B > A - .1*A & B < A + .1*A; B(idx)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Asked:

on 3 Jul 2011

Community Treasure Hunt

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

Start Hunting!