如何設置由高斯分佈擴展的24h週期的點?例如要在10點鐘有高峯?帶有PHP的24h高斯分佈
3
A
回答
8
以下代碼以給定時間爲中心並以給定標準偏差生成高斯分佈隨機時間(以小時爲單位,加上小時的幾分之一)。隨機時間可能會「迴繞」時鐘,特別是如果標準偏差爲幾個小時:這是正確處理的。如果你的標準偏差非常大(很多天),一個不同的'包裝'算法可能會更有效率,但無論如何,在這種情況下,分佈幾乎是一致的。
$peak=10; // Peak at 10-o-clock
$stdev=2; // Standard deviation of two hours
$hoursOnClock=24; // 24-hour clock
do // Generate gaussian variable using Box-Muller
{
$u=2.0*mt_rand()/mt_getrandmax()-1.0;
$v=2.0*mt_rand()/mt_getrandmax()-1.0;
$s = $u*$u+$v*$v;
} while ($s > 1);
$gauss=$u*sqrt(-2.0*log($s)/$s);
$gauss = $gauss*$stdev + $peak; // Transform to correct peak and standard deviation
while ($gauss < 0) $gauss+=$hoursOnClock; // Wrap around hours to keep the random time
$result = fmod($gauss,$hoursOnClock); // on the clock
echo $result;
2
如果你有麻煩產生高斯分佈的隨機點查找http://en.wikipedia.org/wiki/Box-Muller_transform
否則請澄清你的問題。
相關問題
- 1. 顛倒的高斯分佈
- 2. C++:生成高斯分佈
- 3. 半高斯分佈樣本
- 4. 有沒有辦法將3D高斯分佈或高斯混合分佈擬合到矢量上?
- 5. 高斯分佈和伽馬分佈的混合
- 6. 多元高斯分佈公式實現
- 7. 如何繪製高斯分佈曲線
- 8. 如何實現高斯分佈
- 9. 擬合高斯分佈到數據
- 10. 隨機double和高斯分佈
- 11. PHP - 插入數據有24h限制
- 12. MATLAB高斯積分
- 13. 高斯濾波器的帶通卷積/差分
- 14. 有沒有辦法對一組多元高斯分佈進行聚類?
- 15. 發佈帶有分類器的android庫
- 16. Ruby中生成高斯(正態分佈)隨機數的代碼
- 17. 使用Matlab查找高斯分佈的概率
- 18. 使用高斯族分佈來預測GLM中的離散量
- 19. R中的隨機遊走和高斯(正態)分佈
- 20. 生成從二元高斯分佈的手段
- 21. Matlab的數字 - 刪除填充高斯分佈
- 22. 1維高斯分佈函數的繪圖
- 23. 從CUDA中的高斯分佈生成隨機數
- 24. 如何高效地計算Python中兩個高斯分佈的熱圖?
- 25. 帶有高斯過程的多輸出空間統計
- 26. css佈局問題 - 帶自動高度的全寬部分?
- 27. OHCL時間序列 - 異常檢測與多元高斯分佈
- 28. 蘭特()不符合高斯分佈和中心極限定理
- 29. 如何用mysql自定義函數生成高斯分佈
- 30. 在Mathematica中繪製幾個高斯分佈
@Roel:標準偏差不重要,我只是需要PHP邏輯。我們可以使用類似於8. – powtac 2008-09-30 07:46:25
對不起,我誤解了這個問題,並刪除了我的'答案'(這首先不是答案)。對噪音抱歉。 – Roel 2008-09-30 08:10:45