
乱数 x (0<x<1)を0.1刻みで発生させたいんですが
うまくいきません。
プログラム例
Sub 一様乱数()
Dim bin#(10)
n = 1000
For m = 1 To 10
bin#(m) = 0
Next m
For J = 1 To n
x = Rnd(1)
ix = Int(10 * Rnd(1))
bin#(ix) = bin#(ix) + 1
Next J
Cells(4, 1) = " I"
Cells(4, 2) = "Bin#(I)度数分布"
For I = 0 To 10
Cells(I + 5, 1).Value = I
Cells(I + 5, 2).Value = bin#(I)
Next I
End Sub
ここで、9行目ix = Int(10 * Rnd(1))で0.1刻みになり
15行目のFor I = 0 To 10を0 to 1に変えればできると思ったんですが
できませんでした。
どこが問題なのかヒントでもいいので教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>ここで、9行目ix = Int(10 * Rnd(1))で0.1刻みになり
>15行目のFor I = 0 To 10を0 to 1に変えればできると>思ったんですが
>できませんでした。
ここで、
Int(10 * Rnd(1))が生成する値は0以上10未満です。
また、For文の0 TO 10は0から10まで実行しますが、0 TO 1 は0から1までの実行になります。
STEP 0.1 とすれば0.1ずつ Iはかわって行きますが、次の行のCells文でエラーになります。
No.4
- 回答日時:
ご質問の意味がx (0<x<1) つまり 0.1--- 0.9を
得たいというのなら以下のようにしたらいかがですか。ついでにN数も入力出来るようにしました。
(よけいなお世話ですみません)
Sub test()
Dim bunpu(11) As Integer
'乱数の初期化(シード)
Randomize Timer
n = InputBox("試行回数の入力 例 1000")
For j = 1 To n
x = Int(Rnd * 9) / 10 + 0.1
ix = Int(x * 10) + 1
bunpu(ix) = bunpu(ix) + 1
Next j
Cells(4, 1) = " I"
Cells(4, 2) = "Bunpu(I)度数分布"
K = 0
For i = 1 To 11
Cells(i + 5, 1).Value = K
Cells(i + 5, 2).Value = bunpu(i)
K = K + 0.1
Next i
End Sub
No.3
- 回答日時:
#2です。
訂正します。>Rnd関数の結果が0や1のような特定の数になるのは、極めてまれ
>です。Int関数で切り捨てていますので、実際には0は発生します
>が、1はほとんど発生しません。
これを以下のように訂正します。
RND関数は0 以上、1 未満の範囲を返しますので、1は発生しません。
>したがって、ix = Int(10.9999 * Rnd(1))にすれば、ほぼ望み
>の結果が得られるのではないでしょうか。
したがって、ix = Int(11 * Rnd(1))にすれば、ほぼ望みの結果が得られるのではないでしょうか。
失礼しました。
No.2
- 回答日時:
質問の意味が取りにくいのですが、実行すると度数分布で10が0になるというのが、ご自身で問題と考えられているところでしょうか?
確かに、ix = Int(10 * Rnd(1))で0.1刻みを10倍した数値になるでしょうが、Rnd関数の結果が0や1のような特定の数になるのは、極めてまれです。Int関数で切り捨てていますので、実際には0は発生しますが、1はほとんど発生しません。
したがって、ix = Int(10.9999 * Rnd(1))にすれば、ほぼ望みの結果が得られるのではないでしょうか。
>15行目のFor I = 0 To 10を0 to 1に変えればできる
ここは何を意図されているのか全く分かりませんが、0.1刻みであることを明示したいのなら、For I = 0 To 10は変更せずに、次行を
Cells(I + 5, 1).Value = I / 10
にすればよろしいのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 乱数の表示 4 2022/10/12 10:43
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
vlan internal allocation poli...
-
エクセルでファイルの最終更新...
-
TXTファイルを上書き保存する前...
-
共有しているファイルを削除し...
-
onedriveで同期解除をしたら、...
-
Excel VBAで作成したマクロをxl...
-
沢山のフォルダにあるファイル...
-
teratarmでコマンド入力すると...
-
YAHAMA RTXシリーズのコマンド...
-
CPコマンドでファイルがコピー...
-
ファイルパスのチルダの意味
-
サブディレクトリも含めて最新...
-
【VBA】Excel等高線グラフの...
-
Edgeでダウンロード状況表示画...
-
USB内のフォルダが「ファイル」...
-
マイドキュメントのフォルダの...
-
Excel VBAでほかのアプリケーシ...
-
IBMメインフレームのFTP 文字コ...
-
VBAで、強制保存してブックを閉...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
再質問 コンボボックス リス...
-
C#で他のPCのサービスの起動...
-
シェルスクリプトに引数を渡す...
-
if文の条件に関数が入ってる場...
-
Word・Excelの「Ctrl+Y」につい...
-
マシンをスタンバイの状態にし...
-
Audioサービスが実行されていま...
-
コマンドプロンプトにてコマン...
-
ファイル名の日付について教え...
-
vlan internal allocation poli...
-
エクセルでファイルの最終更新...
-
teratarmでコマンド入力すると...
-
TXTファイルを上書き保存する前...
-
沢山のフォルダにあるファイル...
-
YAHAMA RTXシリーズのコマンド...
-
WindowsからSSHでサーバーにあ...
-
USBデータの消失
-
Edgeでダウンロード状況表示画...
-
Excel VBAで作成したマクロをxl...
おすすめ情報