how to find a vector in a known set of possibilities

1 view (last 30 days)
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

Accepted Answer

Azzi Abdelmalek
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 Comment
Itzik Ben Shabat
Itzik Ben Shabat on 15 Jul 2013
find(ismember(y,[1 0 0],'rows')) is all i needed. thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by