![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3
- 回答日時:
> ちなみに乱数のプログラムは作成しました
とあったので、[0,1)の一様乱数くらいにはなっているのだと思ってました。
合同法で
x = (x * a + b) % m ; (C言語表記)
としたときに、
0≦x<m
になります。m>0より、各辺をmで割れば
0≦X(=x/m)<1
となります。
実際の場面でも、xをそのまま使うことは少なく、mで割った X を基に、欲しい範囲の乱数に加工します。
整数同士の割り算は整数に切り捨てられるため、doubleにキャストします。
#include <stdio.h>
unsigned rndnum=1;/*乱数の初期値*/
unsigned irnd(void);
unsigned drnd(void); /*実数版*/
void main(void)
{
int j;
for (j=0;j<10000;j++) {
printf("%8.6f \n",drnd());
}
}
unsigned irnd(void)
{
rndnum=(rndnum*48828125+0) % 2147483648;
Return rndnum;
}
double drnd(void)
{
return (double(irnd()) / 2147483648.0 ;
}
それから、CPadって、これですよね?
http://hp.vector.co.jp/authors/VA017148/pages/cp …
CPad自体は言語ではなく、開発環境です。
今後は使用している言語に合せたカテゴリーを使うことをお勧めします。
No.2
- 回答日時:
β≧αとする
平均から
(β+α)/2=1
β=2-α
分散から
(β-α)^2/12=1^2
(2-α-α)^2=12
4(α-1)^2=12
(α-1)^2=3
(α-1)=±√(3)
α=1±√(3) ..(1)
β=2-(1±√(3))
β=1?√(3) ...(2)
β≧αより
α=1-√(3)
β=1+√(3)
あいがとうございます。
もうひとつ疑問が浮かんだのですが
以下のプログラムだと範囲が(0<x>1)となりますよね。
これはどのようにして改善すればよろしいのでしょうか?
#include <stdio.h>
unsigned rndnum=1;/*乱数の初期値*/
unsigned irnd(void);
void main(void)
{
int j;
for (j=0;j<10000;j++) {
printf("%8d \n",irnd());
}
}
unsigned irnd(void)
{
rndnum=(rndnum*48828125+0) % 2147483648;
return rndnum;
}
No.1
- 回答日時:
わからないのはどこですか?
・一様乱数の発生方法
・正規乱数の発生方法
・ヒストグラムの作り方
一様分布の平均、分散の公式に条件(平均1、分散1)をあてはめれば、発生させる一様乱数の範囲が求まります。
[0,1)の一様乱数からN(0,1)の正規乱数を作る式があります。
それぞれの方法で規定回数乱数を発生させ、その区間毎の個数を数えるとヒストグラムになります
返答ありがとうございます。
一様分布の平均、分散の公式に条件(平均1、分散1)をあてはめれるとαもβも2つずつでてきてどちらを採用すればよいかわからないんですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 Excelによるサンプルの拡大について 6 2023/08/22 16:03
- 統計学 加重最小二乗法=①「変数を自然対数変換」=②「誤差項の分散の逆数を重み付け」? 8 2022/11/26 11:15
- 統計学 不偏分散について 3 2022/03/29 15:57
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 統計学 信頼区間についての質問です。 6 2023/06/25 17:34
- 数学 数学の答えと解き方を教えてください。 問:ある(人数の非常に多い)集団から無作為に6名を選んで身長を 4 2022/12/14 10:06
- 統計学 統計学の問題です よろしくお願いします 回帰直線 次のデータから集計表を作成し,以下の問いに答えよ。 1 2023/01/31 18:55
- 統計学 統計学の問題です よろしくお願いします 回帰直線 次のデータから集計表を作成し,以下の問いに答えよ。 2 2023/01/31 23:36
- 物理学 大学物理に詳しい方に質問です。 ラザフォードたちが実験で知りたかったことは衝突パラメータbと原子核の 1 2023/03/16 03:39
- C言語・C++・C# 3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボード 1 2022/07/13 16:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既定のコンストラクタがありま...
-
C++にてtemplateで受け取った任...
-
戻り値を返す関数の前に(void)...
-
void*型の配列について
-
コールバックって・・・
-
構造体を宣言と共に初期化する方法
-
ウインドウの移動禁止
-
const_castのつかいどころを教...
-
クラス間でのクラスの共有?
-
コンパイルエラー: LNK2001
-
静的でないメンバ関数の呼び出...
-
C#を勉強中でC#で壁紙を変更す...
-
VC++でGetKeyboardStateがうま...
-
ifstreamについて
-
typedef unsigned int UINT;が...
-
qsortの引数について
-
【gcc・cygwin】multiple defin...
-
bccでエラー:メンバー関数は呼...
-
Notepad++の関数リスト表示の変...
-
多重定義が起きている?--lnk20...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
既定のコンストラクタがありま...
-
【gcc・cygwin】multiple defin...
-
戻り値を返す関数の前に(void)...
-
C++にてtemplateで受け取った任...
-
多重定義が起きている?--lnk20...
-
gcc: incompatible pointer type
-
静的でないメンバ関数の呼び出...
-
int main()、void main()、void...
-
Notepad++の関数リスト表示の変...
-
C# KeyDownイベントでショート...
-
C# Controls.Addで動的に配置し...
-
ArduinoでMouse関数を使用して...
-
(void)0 はどんな意味ですか
-
DLLの関数呼び出しで引数がある...
-
void*型の配列について
-
ウインドウの移動禁止
-
const_castのつかいどころを教...
-
VC++でGetKeyboardStateがうま...
-
C言語 プロトタイプ宣言
-
stddef.hって何?
おすすめ情報