Re: [問題] 產生random vector已回收

看板MATLAB作者 (Achilles)時間16年前 (2009/03/17 16:18), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串5/7 (看更多)
※ 引述《microball (無華之果)》之銘言: : 感謝 Leon 板友的指正 : 一般而言,在曲面上每塊小塊的 differential area 若是 f(p,q) dpdq : 那麼 dS(p,q) = C*f(p,q)dpdq, : f(p,q) 可以看成是 dS 出現的加權機率 : 若希望產生曲面上均勻的分布,就要產生一個 1/f(p,q) 的 pdf : 在這個例子裡 f(p,q) = sin(phi) 不好意思, 你的論述.. 還是有些問題. : 先考慮上半球面 (z>0) 的部份, : 需要產生 g(x) = csc(x), x屬於 (0,pi/2] 的分布 : Gridsize = 10000; % phi的精細程度 : x = (pi/2)*(1/Gridsize)*(1:Gridsize)'; % x=phi : g = csc(x); : CDFg = zeros(Gridsize,1); : for (j=1:Gridsize) : CDFg(j) = sum(g(1:j)); : end 我不是很明瞭你的程式, 這段看起來像是要 generate angle x, such that csc(x) is uniform? 但是 csc 的範圍是到 inf 的, 你這怎麼可能會對呢? -- 趙客縵胡纓,吾鉤霜雪明。銀鞍照白馬,颯沓如流星。 十步殺一人,千里不留行。是了拂衣去,深藏身與名。 閑過信陵飲,脫劍膝前橫。將炙啖朱亥,持觴勸侯贏。 三杯吐然諾,五嶽倒為輕。眼花耳熱後,意氣素霓生。 就趙揮金錘,邯鄲先震驚。千秋二壯士,烜赫大梁城。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.171.164.195

03/18 04:17, , 1F
所以是從 1:Gridsize 而非 0:Gridsize
03/18 04:17, 1F

03/18 04:18, , 2F
這裡產生的 phi 是離散化的
03/18 04:18, 2F

03/18 04:18, , 3F
所以有最小不是 0
03/18 04:18, 3F
文章代碼(AID): #19lrpdQB (MATLAB)
文章代碼(AID): #19lrpdQB (MATLAB)