필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
tevzia
tevzia 2013년 9월 3일
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

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 9월 3일
편집: Azzi Abdelmalek 2013년 9월 3일
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

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 9월 3일
편집: Azzi Abdelmalek 2013년 9월 3일
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
Azzi Abdelmalek
Azzi Abdelmalek 2013년 9월 3일
What is the relation between [1,0,0,1] and [1 4 3 1]
tevzia
tevzia 2013년 9월 3일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by