Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
tevzia
tevzia le 3 Sep 2013
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

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2013
Modifié(e) : Azzi Abdelmalek le 3 Sep 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
  2 commentaires
tevzia
tevzia le 3 Sep 2013
Thank you alot
Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2013
Look at edit

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2013
Modifié(e) : Azzi Abdelmalek le 3 Sep 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 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2013
What is the relation between [1,0,0,1] and [1 4 3 1]
tevzia
tevzia le 3 Sep 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by