Effacer les filtres
Effacer les filtres

how to find a vector in a known set of possibilities

1 vue (au cours des 30 derniers jours)
Itzik Ben Shabat
Itzik Ben Shabat le 15 Juil 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by