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

看板MATLAB作者 (Achilles)時間16年前 (2009/03/16 06:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/7 (看更多)
※ 引述《kobe30 (kobe30)》之銘言: : 請問各位大大 : 小弟小要產生1000組三維的random vector : 每組向量長度都為1 : 請問要如何撰寫程式呢 : 謝謝 那個用 rand, 再 normalize 的方法是不對的. (這很適合拿來當期中考題?) 證明有點複雜, 這樣吧, 我們先看 2D 的 case. 我們想要得到, Random vector with length = 1. 其實就是 randomly 在圓周上取點. 但是如果用 normalize 呢? X,Y are uniform R.V on [-1,1], let u = X / sqrt(X^2 + Y^2), v = Y / sqrt(X^2 + Y^2), consider angle = 0, and angle = 45 degree, obviously 45 degree has more probability density. (it's sqrt(2):1 ) 從以上得知, 你要取 3D, length = 1 就需要在球面上 uniformly 的取點. -- 趙客縵胡纓,吾鉤霜雪明。銀鞍照白馬,颯沓如流星。 十步殺一人,千里不留行。是了拂衣去,深藏身與名。 閑過信陵飲,脫劍膝前橫。將炙啖朱亥,持觴勸侯贏。 三杯吐然諾,五嶽倒為輕。眼花耳熱後,意氣素霓生。 就趙揮金錘,邯鄲先震驚。千秋二壯士,烜赫大梁城。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.171.164.195
文章代碼(AID): #19lNo6Pq (MATLAB)
文章代碼(AID): #19lNo6Pq (MATLAB)