# how to find a vector in a known set of possibilities

1 view (last 30 days)
Itzik Ben Shabat on 15 Jul 2013
Hi, say i have a vector v that can be one of previously known 11 possibilities. is there a simple way to know which possibility it is without compairing each element? (i think its something like a lookup table but the matlab lookup table function seems to do something completely different).
for example v=[1 0 0]; possibilities=[ 0 0 1; 0 1 1; 1 0 0...] the answer to this example should be 3 (v corresponds to row 3 in the possibilities matrix)
thanks
##### 1 CommentShowHide None
Azzi Abdelmalek on 15 Jul 2013
How did you find 11 possibilities?

Azzi Abdelmalek on 15 Jul 2013
Use the function below to find all possibilities
function y=arrangement(v,n)
m=length(v);
y=zeros(m^n,n);
for k = 1:n
y(:,k) = repmat(reshape(repmat(v,m^(n-k),1),m*m^(n-k),1),m^(k-1),1);
end
Then write
v=[1 0];
n=3
y=arrangement(v,n)
idx=find(ismember(y,[1 0 0],'rows'))
##### 1 CommentShowHide None
Itzik Ben Shabat on 15 Jul 2013
find(ismember(y,[1 0 0],'rows')) is all i needed. thanks!