こんにちは!
いつも大変参考にさせていただいております。
どうか教えていただきたい事があります。
数学は大の苦手で、学生時代からほとんど勉強してこなかっただけに、
数学の本を読んでも、今回の問題とどのように関係しているのかがわからず、お手上げ状態です。
実行したいのは、確率により乱数を発生させたいです。
たとえば、0から2の乱数を発生させるにあたり、
0の発生は50%、
1の発生は25%、
2の発生は25%、
というように、発生する確率を設定したいと思っています。
確率の本を読んでみたのですが、入門書には確率の求め方は載っていたのですが、それをどのように利用したらいいのかわかりません。
このような乱数の発生のさせかたは可能でしょうか?
また、どのようにしたらいいのでしょうか?
教えてください。。。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>0の発生は50%、
>1の発生は25%、
>2の発生は25%、
この例ならば、
0~3までの乱数を発生させ、
3のときは0にする。
で実装できますね。
あらかじめ乱数表を用意し、
そこから任意の回数ひくというやり方としては、
・任意の重み付けによる
「福引きの1等、2等...」もしくは「おみくじ」方式
や
・重み付けは均等で、乱数がダブらないようにする
→「シャッフルしたトランプ」方式
があります。
いろいろ工夫すると楽しいと思います。
ご健闘を。
No.2
- 回答日時:
例えば、システム時刻(ミリ秒だけで十分)を取ってきて、4を法とする剰余を求めます。
そして、剰余が0または3の時に「0」を返し、1の時は「1」、2の時は「2」を返す、
というような関数を定義してみましょう。
これもある種の疑似乱数のように振る舞ってくれるのではないでしょうか。
No.1
- 回答日時:
話の前提として、なんらかの乱数を発生させるライブラリ関数なんかは使っていいんですか?
大抵は一様乱数を発生させるライブラリ関数があるでしょうから、
まず乱数を発生させてからその値に応じて 0/1/2 に振り分けるフィルター関数を
作ってやればよいのではないでしょうか?
擬似乱数もとめるところから自前ででやれということだとちと面倒ですが、
それにしたって調べればいくらでも方法やサンプルが転がってます。
>確率の本を読んでみたのですが、入門書には確率の求め方は載っていたのですが
確率の求め方?
早速のご回答ありがとうございます
ライブラリ関数は使用できます
RAND()関数で乱数を発生させることができると思っています。
そうか、ssakusaker7さまのおっしゃるように、
乱数を発生させた後に、フィルタ関数をかける方法がありますね!!
擬似乱数というのはどんなものかわかりませんが、
そのフィルタ関数ならなんとかできそうです。
考えてみます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 事件・事故 アメリカの銃撃事件は内乱の前兆? 5 2022/06/03 11:46
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) エクセルで、指定した整数の範囲を乱数4つ発生させる場合 4 2022/04/01 11:44
- 数学 確率、排反と独立の問題について 2 2022/04/19 11:39
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- デスクトップパソコン 通話が遅延します 1 2023/06/18 02:36
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- 数学 既存の数列のランダム性について(初歩的質問) 2 2022/06/07 20:04
- 物理学 【流体力学】乱流での渦の発生周期について 1 2023/08/20 18:27
- 統計学 直前の問題の回答は間違いだと思いますが、皆さんは如何お考えですか。 6 2022/06/01 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mscommの受信バッファ異常について
-
WriteFile()でのデータ送信がで...
-
シリアル通信の出力バッファと...
-
winsockでソケット通信の開発を...
-
C# シリアル通信でデータ受信...
-
シリアルポート通信
-
rs232cでの受信データ(mscomm)...
-
WinsockAPIのrecvfromの受信デ...
-
ソケット通信内 read関数について
-
再現性の無いバグ
-
SocketのSend関数でのCLOSEの検...
-
ラズパイで、ウェブから、ウェ...
-
SerialPortのDataReceivedイベ...
-
RS232C通信(PC⇔PLC)
-
【WIN32 GetSaveFileNameがVIST...
-
winsockの動作について。
-
0byteデータの送信と受信
-
RS-232Cでバイナリデータを受信...
-
フローチャートの書き方
-
Connection reset by peer
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
winsockでソケット通信の開発を...
-
RS232C通信(PC⇔PLC)
-
socket: recvはいつ,どれだけ...
-
「スイッチングハブのバッファ...
-
シリアル通信の出力バッファと...
-
SocketのSend関数でのCLOSEの検...
-
SerialPortのDataReceivedイベ...
-
Linuxでのシリアル通信について...
-
Connection reset by peer
-
RS-232Cでバイナリデータを受信...
-
VC++2010 TCPIP通信の受信処理...
-
WriteFile()でのデータ送信がで...
-
C#で通信処理。応答がない場合...
-
ソケット通信内 read関数について
-
write関数でEAGAINのエラー発生...
-
シリアル通信エラー
-
recv関数の受信結果について
-
シリアル通信 大きいサイズの...
-
WinsockAPIのrecvfromの受信デ...
おすすめ情報