精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《Warlock (覡)》之銘言: : ※ 引述《bxxl (bxxl)》之銘言: : : 假設共要取 N 個亂數, x(1) ~ x(N) : : Step 1: 取 N-1 個 -1~1 之間的 uniform 亂數 : : Step 2: 第 N 個值 x[N] = 1 - sum(x(1:N-1)) : : Step 3: 如果 x[N] 不在 -1~1 之間, 就回到 Step 1. : 可以看做是一個複雜一點的無規行走問題 : Step2 的 sum 的絕對值 的成長速度 大約是 sqrt(N) : 所以 N大時 Step 3 失敗的可能性會非常高 : 所以這不是一個好的演算法。 的確是, 上面的方法大概算暴力法吧.... 用goole找了一陣, 有一個power point file 提到跟上面滿像的例子, (http://faculty.cs.wwu.edu/johnson/research/random.number.generation.ppt) 是用 Gibbs sampler 來做. 我以前沒看過這東西, 不敢多言, 只是他在第53頁舉的例子真的很像 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.66.171.13