2017-12-05 22 views
0

제목에서 알 수 있듯이 사용자가 선택한 노래 목록을 임의로 뒤섞는 코드를 작성하려고합니다. 나는 모든 부분에서 성공했지만 노래를 뒤섞어 버리는데, 노래 목록을 뒤섞을 때 코드가 아무 것도하지 않는 것 같습니다. 아래 코드는 Z가 사용자가 선택한 모든 트랙 이름을 포함하는 셀 배열이고 V는 사용자가 선택할 수있는 모든 트랙을 포함하고있는 셀 배열이기도합니다. 필요한 경우이 코드를 완성하거나 모든 코드를 변경하는 데 도움이 필요합니다. 그런데 myoffset은 사용자가 입력을 통해 선택한 값일 뿐이므로 내 친구가 사용하라고 말했지만 왜 그렇게되면 무시하고 삭제해야하는지 알 수 없습니다.선택한 노래를 셔플하는 코드

function shuffled=theSpotifyShuffle(Z, myOffset)  
Z=strcat('Track',L,':',V(result)');  
U1=unique(Z);  
Numbsongs = zeros(size(U1)); 
for i = 1:length(U1) 
Numbsongs(i) = sum(strcmp(chosen,U1(i))); 
end 
for j=1:length(T) 
for i = 1:length(U1) 
if Numbsongs(i)==1 
    myOrder(Numbsongs)=rand(1); 
else Numbsongs(i)> 1; 
N=Numbsongs(i); 
for n=1:N 
    myorder(i)=(n/(N+1)*(1+myOffset*randn(1))); 
end 
end 
end 
end 
end 

답변

1

사용 randperm이 단행 인덱스를 생성하고이 Z을 단행하는데 사용할 수 있습니다.

shuffled = Z(randperm(numel(Z)));