[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


끝.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] PLC 아날로그 입출력 기본

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

커패시터에 저장된 에너지 계산

[스마트팜] 유기농 비료에 관한 책 추천: 자연 친화적인 농업을 위한 필독서

제너 다이오드에 저항을 연결하는 이유

[PLC] 릴레이 자기유지 (Realy Latch or Sealing)

[아두이노] 74HC595 시프트 레지스터 연동