概率論和數理統計實驗(matlab中實現) 一.伯努利分佈 R=binornd(N,P); //N,P為二次分佈的倆個參數,返回服從參數為N,P的二項分佈的隨機數,且N,P,R的形式相同。 R=binornd(N,P,m); //m是一個1 2向量,它為指定的隨機數的個數,其中N,P分別代表返回值R ...
概率論和數理統計實驗(matlab中實現)
一.伯努利分佈
R=binornd(N,P); //N,P為二次分佈的倆個參數,返回服從參數為N,P的二項分佈的隨機數,且N,P,R的形式相同。
R=binornd(N,P,m); //m是一個1*2向量,它為指定的隨機數的個數,其中N,P分別代表返回值R中行與列的維數;
R=binornd(N,P,m,n); //m,n分別表示R的行數與列數;
例:一個射擊手進行射擊比賽,假設每槍射擊命中率為0.45,每槍射擊10次,共進行10萬輪,就可以用matlab去模擬該實驗的可能情況。
編寫代碼如下:
x=binornd(10,0.45,100000,1);
hist(x,11)
結果如圖[射擊結果直方圖]
從上圖可以看出,該射擊員每輪最有可能命中4環。
二.泊松分佈隨機數
y=poisspdf(x,lambda); 求取參數為Lambda的泊松分佈的概率密度函數值。
我要觀察取不同的Lanbda值,使用poisspdf函數繪出來的泊松分佈概率密度圖像。(分別取2.5,5,10)
在matlab中編程
x=0:20;
y1=poisspdf(x,2.5);
y2=poisspdf(x,5);
y3=poisspdf(x,10);
hold on
plot(x,y1,':r*')
plot(x,y2,':b*')
plot(x,y3,':g*')
hold off
三.均勻分佈隨機數
1.R=unifrnd(A,B): 生成被A和B指定上下端點【A,B】的連續均勻分佈的隨機數組R.
2.R=unifrnd(A,B,m,n,…): 返回mn……數組.
a=0;
b=1:5;
r1=unifrnd(a,b)
r1 =
0.5799 0.2172 2.6572 3.2917 3.7076
四.正態分佈隨機數
R=normrnd(mu,sigma);返回均值為mu,標準差為sigma的正態分佈的隨機數據。
R=normrnd(mu,sigma,m,n,…);m,n分佈表示R的行數與列數。
如果要得到mu=10,sigma=0.4的2行4列個正態隨機數,可以在MATLAB命令行視窗輸入代碼:
R=normrnd(10,0.4,2,4)
R =
9.7923 10.1380 10.5178 9.5354
9.9844 9.6784 9.2855 9.9237
>> R=normrnd(10,0.4,2,4)
R =
9.7484 10.3920 10.1876 10.4871
10.1456 10.3034 9.5257 10.1286
>> R=normrnd(10,0.4,2,4)
R =
10.3718 10.2499 9.9566 9.9542
9.9151 10.1271 9.9685 10.1344
因為這樣的矩陣有很多,本人在此只做了三組實驗。
由於本人能力有限,編寫過程中可能存在不足之處,望大家海涵~~~~
謝謝大家