[問題]請問如何用分佈函數寫隨機產生器?

看板MATLAB作者 (高義他娘)時間9年前 (2014/10/16 23:20), 9年前編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
因為matlab沒有我需要的隨機產生器,所以想要自己寫一個,有參考其他隨機產生器的 code,可是還是不太懂,所以想請教大大 已知隨機變數的pdf為f(x) =u/(tanh(u*x_max)*cosh(u*x)^2) ,0<x=<x_max cdf為Y(x) =tanh(u*x)/tanh(u*x_max) x為分佈在0到x_max之間的隨機變數 u為控制分佈曲線的標準差,大小在0到1之 請求大大替我解答,不用寫太完整,只要出來的x是上面的分佈就好可以的話請教一下為什麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.107.168.14 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1413472825.A.679.html ※ 編輯: sh053394 (120.107.168.14), 10/16/2014 23:29:15

10/17 02:13, , 1F
Mathematically, you can find the transformmation
10/17 02:13, 1F

10/17 02:14, , 2F
and then tansform a uniform/normal distri. to
10/17 02:14, 2F

10/17 02:14, , 3F
to the one you want
10/17 02:14, 3F

10/17 11:32, , 4F
請參考 wiki 的 cdf 內的 inverse cdf
10/17 11:32, 4F

10/18 17:18, , 5F
可參考一些隨機過程的書
10/18 17:18, 5F
※ 編輯: sh053394 (120.107.168.14), 10/30/2014 20:35:18

10/30 20:37, , 6F
對不起,始終還是不懂為什麼可以令cdf是uniform dri
10/30 20:37, 6F
文章代碼(AID): #1KF-8vPv (MATLAB)