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

2 Ansichten (letzte 30 Tage)
tevzia
tevzia am 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

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 3 Sep. 2013
Bearbeitet: Azzi Abdelmalek am 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

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 3 Sep. 2013
Bearbeitet: Azzi Abdelmalek am 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 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 3 Sep. 2013
What is the relation between [1,0,0,1] and [1 4 3 1]
tevzia
tevzia am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by