概率论和数理统计实验(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)

效果如图[射击效果直方图]

d4c2e0e6b05c57a032bc4b5924b55dbf.png

从上图可以看出,该射击员每轮最有可能掷中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

ad4b8ba745c9d5f67b2290c536952042.png

三.均匀漫衍随机数

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

由于这样的矩阵有许多,本人在此只做了三组实验。

由于本人能力有限,编写过程中可能存在不足之处,望人人海涵~~~~

谢谢人人

原文链接:https://www.cnblogs.com/qw-blog/p/12343928.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。

Deep Learning with Python 读书笔记(三)神经网络的引擎:梯度优化

更多推荐