Borrar filtros
Borrar filtros

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 Matrix Indexing 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