난수 함수 rand와, seed설정을 통한 난수
[0,1) 사이의 난수를 뽑아낸다.
rand(1) : 숫자 하나 난수를 뽑아내라.
rand(3) : 3x3 행렬 (=rand(3,3)이다. 행,열이 같을 경우 한번만 써도 됨)
만든 난수행렬을 기억하고 싶다면?
변수에 따로 저장하거나, 다음과 같은 방법을 쓸 수 있다.
rand('seed',k)
해당 seed넘버(아래에서는 1)를 기준으로 rand를 생성.
(어차피 난수 생성도 특정 시각을 기준으로 생성한다. 그거랑 비슷하게 특정 seed number 기준으로 난수를 생성하는 거다. 그럼 seed가 같으면 그 seed에 해당하는 난수가 나오는 것.)
0과 9사이의 정수로 구성된 5x5 행렬을 만들어보자. (혹은 1과 10 사이)
정수행렬 만들기 3가지 방법
ㅡfloor함수
ㅡceil함수
ㅡrandi함수 (integer의 i다)
먼저, 범위의 설정
범위 [0,1)을 [0,9)로 만들어야 한다.
범위의 설정은 그냥.. 10*rand(5)하면 된다.
floor 명령어
소수점 이하를 떼버리려면,
즉 정수로 만들고 싶으면
floor()함수를 사용하면 되겠지.
ceil 명령어
1과 10 사이의 정수로 구성된 2x4 난수 행렬
이건 floor 대신에 ceil을 쓰면 되겠쥬
randi 명령어
또는, randi라는 명령어도 존재한다. (integer)
[1,10] 범위를 정해주고,
행렬의 크기 2,4를 작성하면 된다.
floor나 ceil을 사용할 필요가 사실 없다. randi가 있기 때문.
반응형
'수학' 카테고리의 다른 글
[Matlab] 벡터 기본 (0) | 2021.03.15 |
---|---|
[Matlab] 변수 관련 명령어 | 변수 확인, 삭제, 지우기, 저장하기(save) (0) | 2021.03.11 |
[Matlab] 실수 한계 (realmax, realmin) / 복소수 연산 (0) | 2021.03.11 |
[Matlab] format long의 사용 이유 (0) | 2021.03.10 |
[Matlab] 화면에 출력 (0) | 2021.03.10 |