matlab模拟伯努利实验,matlab仿真随机数的发⽣
概率论和数理统计实验(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.
normrnd函数用法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
由于这样的矩阵有许多,本⼈在此只做了三组实验。
由于本⼈能⼒有限,编写过程中可能存在不⾜之处,望⼈⼈海涵~~~~谢谢⼈⼈
本站声明:⽹站内容来源于⽹络,若有侵权,请,我们将及时处理。Deep Learning with Python 读书笔记(三)神经⽹络的引擎:梯度优化

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。