Re: [問題] 產生random vector已回收
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 7 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章