randomSeed()

名称

randomSeed()

説明

randomSeed()は疑似乱数生成器を初期化し、疑似乱数系列の任意の地点から開始させる。この系列はとても長く、乱雑で、いつも同じである。

以降のスケッチの実行において、random()によって生成される値列が異なることが重要なのであれば、何も接続していないピンをanalogRead()で読んだ値のような、とても乱雑な値をrandomSeed()に与えて、乱数生成器を初期化すること。

逆に、同じ疑似乱数系列を利用することが有効な場合もある。これは、乱数系列を利用する前に、randomSeed()を同一の値を使って呼び出すことで実現できる。

書式

void randomSeed(unsigned long seed);

引数

seed疑似乱数系列を初期化するための種(0以外の数値)。

戻り値

なし。

使用例

以下のコードは、疑似乱数を生成し、生成した数値をシリアルポートに送信する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
long randNumber;

void setup() {
  Serial.begin(9600);
  randomSeed(analogRead(0));
}

void loop() {
  randNumber = random(300);
  Serial.println(randNumber);
  delay(50);
}

注意

引数のseedを0にして、randomSeed()を呼び出しても、何も起こらない。

参照

オリジナルのページ

https://www.arduino.cc/reference/en/language/functions/random-numbers/randomseed/

Last Revision: 2022/05/08

実装の解析

まだ解析していません。

最終更新日

January 4, 2024

inserted by FC2 system