位置: 編程技術(shù) - 正文
推薦整理分享Python隨機(jī)生成均勻分布在單位圓內(nèi)的點(diǎn)代碼示例(Python隨機(jī)生成均勻不重復(fù)的數(shù)),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。
文章相關(guān)熱門搜索詞:python隨機(jī)生成一組數(shù)據(jù),python 隨機(jī)生成,python隨機(jī)生成一組數(shù)據(jù),python隨機(jī)生成一組數(shù)據(jù),python 隨機(jī)生成,python生成隨機(jī)數(shù)并求平均值,python隨機(jī)生成一組數(shù)據(jù),python生成隨機(jī)數(shù)并求平均值,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!
Python有一隨機(jī)函數(shù)可以產(chǎn)生[0,1)區(qū)間內(nèi)的隨機(jī)數(shù),但是如果我們想生成隨機(jī)分布在單位圓上的,那么我們可以首先生成隨機(jī)分布在單位圓邊上的點(diǎn),然后隨機(jī)調(diào)整每個點(diǎn)距離原點(diǎn)的距離,但是我們發(fā)現(xiàn)這個距離不是均勻分布于[0,1]的,而是與扇形的面積相關(guān)的
我們使用另外的隨機(jī)函數(shù)生成從[0,1)的隨機(jī)數(shù)r,我們發(fā)現(xiàn)r<s0的概率為s0,顯而易見,如果r為0,那么對應(yīng)的距離應(yīng)該為0,如果是1,對應(yīng)的距離自然也應(yīng)該是1,假設(shè)我們產(chǎn)生了m個隨機(jī)數(shù),那么小于s0的隨機(jī)數(shù)應(yīng)該為s0*m左右,而且這些應(yīng)該對應(yīng)于扇形面積的s0倍處即圖2的小扇形區(qū)域,落在這一區(qū)域的點(diǎn)應(yīng)該為s0*m,此時扇形邊長為s0^0.5,因此s0對應(yīng)的距離應(yīng)該為s0^0.5,因此我們得到的映射函數(shù)為y=x^0.5(圖1)
圖1
圖2
因此我們對于每個頂點(diǎn)的邊長便是產(chǎn)生隨機(jī)數(shù)的算術(shù)平方根的大小
附代碼如下:
圖3
總結(jié)
標(biāo)簽: Python隨機(jī)生成均勻不重復(fù)的數(shù)
本文鏈接地址:http://esstyw.cn/biancheng/372229.html 轉(zhuǎn)載請保留說明!上一篇:python、java等哪一門編程語言適合人工智能?(java跟python哪個好)
網(wǎng)站地圖: 企業(yè)信息 工商信息 財(cái)稅知識 網(wǎng)絡(luò)常識 編程技術(shù)
友情鏈接: 武漢網(wǎng)站建設(shè)