[GNU Octave - 무료 매트랩] 벡터 셔플 (뒤섞기, Shuffle, 랜덤순열)
벡터의 요소들을 랜덤하게 섞어 보려고 합니다.
우선 샘플 데이터를 입력합니다.
>> a = [3.14 5 2.718 4]
a =
3.1400 5.0000 2.7180 4.0000
numel() 함수로 벡터의 사이즈 N를 얻고 randperm() 함수로 1~N 사이 숫자로 이루어진 랜덤순열을 구합니다. 순열에 중복된 숫자는 없습니다. 결과적으로 샘플 데이터의 인덱스의 랜덤순열인 셈입니다.
>> ind = randperm (numel (a))
ind =
1 3 2 4
이제 인덱스의 랜덤순열로 샘플 데이터 벡터를 조회하면 됩니다.
>> b = a(ind)
b =
3.1400 2.7180 5.0000 4.0000
끝.
댓글
댓글 쓰기