How to find out the index of the list for each number

2 visualizaciones (últimos 30 días)
Hi, I try to make new index lists for numbers in my main list. Here is an example of the list
Schedule(1,4,3,1)
and i want a results like this
period1=(1,0,0,1) % first and second one is 1
period2=(0,0,0,0) %non of 2 in the list
period3=(0,0,1,0)
period4=(0,1,0,0)
thank you

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 3 de Sept. de 2013
Editada: Azzi Abdelmalek el 3 de Sept. de 2013
EDIT
Schedule=[1,4,3,1];
m=numel(Schedule);
n=max(Schedule);
out1=zeros(n,m);
out1(sub2ind([n m],Schedule',(1:m)'))=1;
%Or
Schedule=[1,4,3,1];
m=numel(Schedule);
n=max(Schedule);
out=zeros(n,m);
for k=1:n
idx=find(Schedule==k);
out(k,idx)=1;
end

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 3 de Sept. de 2013
Editada: Azzi Abdelmalek el 3 de Sept. de 2013
period1=[1,0,0,1]
idx=find(period1==1)
%or
period1=[1,0,0,1;0,0,0,0;0,0,1,0;0,1,0,0]
out=cell2mat(arrayfun(@(x) find(period1(x,:)==1),1:size(period1,1),'un',0))
  3 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 3 de Sept. de 2013
What is the relation between [1,0,0,1] and [1 4 3 1]
tevzia
tevzia el 3 de Sept. de 2013
i try to create list for number 1 and other numbers
[1,4,3,1]
for 1 [1,0,0,1] % shows 1 in this list and others 0
for 2 [0,0,0,0] % there is no 2 in the list
for 3 [0,0,1,0] there is number 3 which is third element of the list
for 4 [0,1,0,0} % number 4 is second element of the list.
I want to create new list for each number and show where is location with binary variables

Iniciar sesión para comentar.

Categorías

Más información sobre Operators and Elementary Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by