- Python概率統計
- 李爽編著
- 791字
- 2024-12-27 19:43:19
1.10 本章上機練習
實訓環境
(1)使用Python 3.x版本。
(2)使用IPython或Jupyter Notebook交互式編輯器,推薦使用Anaconda發行版中自帶的IPython或Jupyter Notebook。
【實訓1-1】 求排列數,代碼如下:
#第1章/1-16.py from scipy.special import perm N = 20 k = 10 print(perm(N, k))
輸出如下:
670442572800.0
【實訓1-2】 求組合數,代碼如下:
#第1章/1-17.py from scipy.special import comb N = 20 k = 10 print(comb(N, k))
輸出如下:
184756.0
【實訓1-3】 用蒙特卡羅方法估計y=sin(x)在[0,π]上的積分,代碼如下:
#第1章/1-18.py import numpy as np #共產生N個點, 每個點兩個坐標 N = 1000000 M = 2 #生成隨機點 r = np.random.rand(N, M) #橫坐標變換為0和pi之間 x = r[:, 0] * np.pi y = r[:, 1] #計算y = sin(x)曲線之下的點的個數 result = y < = np.sin(x) print('積分的估計值為', result.sum()/N * np.pi)
輸出如下:
積分的估計值為2.00186996275722
【實訓1-4】 用蒙特卡羅方法估計y=x2在[0,1]上的積分,代碼如下:
#第1章/1-19.py import numpy as np #共產生N個點, 每個點兩個坐標 N = 100000 M = 2 #生成隨機點 r = np.random.rand(N, M) #橫坐標變換為0和pi之間 x = r[:, 0] y = r[:, 1] #計算y = x^2曲線之下的點的個數 result = y < = x ** 2 print('積分的估計值為', result.sum()/N)
輸出如下:
積分的估計值為0.3324
【實訓1-5】 設工廠A和B的產品次品率分別為1%和2%,現從工廠A和B分別占55%和45%的一批產品中隨機抽取一件,發現是次品,則該次品是工廠A生產的概率是多少?代碼如下:
#第1章/1-20.py #次品率 r1 = 0.01 r2 = 0.02 #產品比例 x1 = 0.55 x2 = 0.45 #貝葉斯公式 t = r1 * x1 + r2 * x2 p = r1 * x1/t print('A廠生產的概率為', p)
輸出如下:
A廠生產的概率為0.3793103448275862
【實訓1-6】 人的血型中,O型、A型、B型、AB型的概率分別為0.46、0.40、0.11、0.03。現在任選5人,求下列事件的概率
(1)恰有兩人為O型。
(2)三人為O型,兩人為A型。
(3)沒有AB型。
代碼如下:
#第1章/1-21.py from scipy.special import comb n = 5 #第(1)問 PO = 0.46 p = comb(n, 2) * PO ** 2 * (1-PO) ** (n - 2) print('恰有兩人為O型概率為', p) #第(2)問 PA = 0.4 p = comb(n, 2) * PO ** 3 * (1-PO) ** (n - 2) print('三人為O型, 兩人為A型的概率為', p) #第(3)問 q = 1-0.03 p = q ** n print('沒有AB型的概率為', p)
輸出如下:
恰有兩人為O型概率為0.3331938240000001 三人為O型, 兩人為A型的概率為0.15326915904000002 沒有AB型的概率為0.8587340256999999
推薦閱讀
- Getting Started with Gulp(Second Edition)
- LabVIEW2018中文版 虛擬儀器程序設計自學手冊
- Rust Cookbook
- 零基礎學MQL:基于EA的自動化交易編程
- Python數據可視化之Matplotlib與Pyecharts實戰
- 精通Python設計模式(第2版)
- INSTANT Django 1.5 Application Development Starter
- 學習正則表達式
- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- Red Hat Enterprise Linux Troubleshooting Guide
- Android Studio Cookbook
- Redmine Cookbook
- 計算機應用基礎案例教程(第二版)
- Spring Boot 3:入門與應用實戰
- Visual Basic 開發從入門到精通