mtRandom - Bộ tạo số ngẫu nhiên Mersene Twister
CÚ PHÁP
mtRandom( seed = Null )
mtRandomA( seed = Null )
TRẢ VỀ
SỐ hoặc MẢNG
CHỨC NĂNG
mtRandom( seed = Null ) - trả về một số ngẫu nhiên đơn lẻ (số hạng) trong khoảng từ [0,1)
mtRandomA( seed = Null ) - trả về một mảng các số ngẫu nhiên trong khoảng từ [0,1)
seed là giá trị hạt giống của bộ tạo số ngẫu nhiên. Nếu bạn không chỉ định giá trị seed, bộ tạo số ngẫu nhiên sẽ được khởi tạo tự động bằng thời gian hiện tại làm giá trị seed, đảm bảo một chuỗi duy nhất.
Cả hai hàm sử dụng thuật toán Mersene Twister mt19973ar-cok. (Bản quyền (C) 1997 - 2002, Makoto Matsumoto và Takuji Nishimura.)
Mersene Twister vượt trội hơn rất nhiều so với bộ tạo số giả ngẫu nhiên trong C-runtime có sẵn thông qua hàm Random().
Nó có chu kỳ 2^19973 = khoảng 2.9*10^6012 Để biết thêm thông tin, hãy truy cập: https://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
Xem thêm: M. Matsumoto và T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, tháng 1 năm 1998, pp 3--30.
VÍ DỤ
printf("Số ngẫu nhiên: %g", mtRandom());