-4
A
回答
0
這是一個快速的解決方案,我沒有試過,以獲得最大的精確度和性能。根據您的REQ,你可能需要調整的數字格式,精度,計算邏輯等
create or replace function calc_sn_pdf(x in number) return number
is
pi CONSTANT NUMBER := 3.14159265358979;
begin
return 1/sqrt(2*pi) * exp(-x*x/2);
end;
/
民防部隊必須近似(因爲它是沒有簡單的數學公式AZ積分功能),一個可能的近似實施如下。維基百科上可以找到許多其他近似值。
create or replace function calc_sn_cdf(x in number) return number
is
b0 CONSTANT NUMBER := 0.2316419;
b1 CONSTANT NUMBER := 0.319381530;
b2 CONSTANT NUMBER := -0.356563782;
b3 CONSTANT NUMBER := 1.781477937;
b4 CONSTANT NUMBER := -1.821255978;
b5 CONSTANT number := 1.330274429;
v_t number;
begin
--see 26.2.17 at http://people.math.sfu.ca/~cbm/aands/page_932.htm
--see https://en.wikipedia.org/wiki/Normal_distribution#Numerical_approximations_for_the_normal_CDF
--Zelen & Severo (1964) approximation
if x < 0 then
--this approximation works for x>0, but cdf is symmetric for x=0:
return 1 - calc_sn_cdf(-x);
else
v_t := 1/(1 + b0*x);
return 1 - calc_sn_pdf(x)*(b1*v_t + b2*v_t*v_t + b3*v_t*v_t*v_t + b4*v_t*v_t*v_t*v_t + b5*v_t*v_t*v_t*v_t*v_t);
end if;
end;
/
順便說一句,如果你需要運行這些功能很多的時間,這將是打開本地PL/SQL編譯有用。
相關問題
- 1. Matlab vectorized bivariate標準正常CDF
- 2. nHibernate標準 - 我如何實現'有數'
- 3. 如何在BigQuery中的標準SQL中實現RATIO_TO_REPORT()?
- 4. Oracle sql或plsql將行轉換爲列
- 5. PLsql或Oracle Sql登錄帳戶
- 6. 我們如何在sql CTE中實現動態查詢?
- 7. Oracle plsql捕獲異常
- 8. 我們如何在Redis中實現Round-Robin實現?
- 9. 標準SQL替代Oracle DECODE
- 10. PLSQL Oracle遊標程序
- 11. 在NHibernate和Oracle中實現hilo(或seqhilo)
- 12. 如何實現UPSERT與附加標準
- 13. Powershell:如何實現標準交換機?
- 14. 我們可以在hibernate的標準查詢中有標準嗎?
- 15. 如何根據我們的序列標準在實體中生成id字段
- 16. 如何在Oracle中正常假脫機
- 17. JPA 2個標準API,孩子算我想實現像標準
- 18. 我如何基準malloc實現?
- 19. 在Python中實現標準__new__的正確方法
- 20. 人們通常如何在Silverlight/XAML中實現多語言?
- 21. Oracle SQL小程序實現
- 22. IFX標準Java實現
- 23. 排序標準不正常
- 24. .NET實現標準Java類
- 25. php - 存儲庫 - 我應該如何實現「自定義」標準?
- 26. 不同的語言如何在標準庫中實現排序?
- 27. 如何在excel中實現數據格式的標準化
- 28. 如何在pymongo中實現方差和標準差?
- 29. 如何在標準ML中實現某種「可空」類型?
- 30. 如何選擇行內的標準偏差? (在SQL中 - 或R :)
張貼詞,而不是圖片。 –
公式複雜,無法在此處輸入,所以粘貼圖片 – Vivek
懶惰在計算機編程中佔有一席之地。這不是那個地方。 –