yhkn.net
当前位置:首页 >> 如何用MATLAB生成依概率服从多个均匀分布的随机数... >>

如何用MATLAB生成依概率服从多个均匀分布的随机数...

function y=genrannum1(n)%本函数产生n个指定概率分布的随机数,本例中的%概率密度函数为f(x)=(1-x*x)/(1+x*x)/(pi-2) |x|x3 x1= min + (max-min).*rand(1); x2=uper*rand(1); x3=(1-x1*x1)/(1+x1*x1)/(pi-2); end y(k)=x1;end

用Matlab的rand()和unidrnd()产生服从均匀分布的一组随机数 rand(m,n)产生m行n列的【0,1】均匀分布随机数 unidrnd(N,m,n)产生m行n列的数值小于N的【0,N】均匀分布随机数

均匀分布U(a,b):产生m*n阶[a,b]均匀分布U(a,b)的随机数矩阵:unifrnd (a,b,m, n) 产生一个[a,b]均匀分布的随机数:unifrnd (a,b)0-1分布U(0,1) 产生m*n阶[0,1]均匀分布的随机数矩阵:rand (m, n) 产生一个[0,1]均匀分布的随机数:rand 二类分布

rand函数生成的就是0~1之间之间符合平均分布的随机数,如:a=rand(1,1000); hist(a)------------------生成的直方图为:

在matlab中用来产生指数分布随机数的函数是exprnd( ); 语法: 1. r=exprnd(mu) 生成服从参数为mu的指数分布随机数. 2. r=exprnd(mu,m) 生成服从参数为mu的指数分布的随机数矩阵,矩阵的形式由m定义. 例如,n=exprnd(5,[1 6]) 3. r=exprnd

如果你要的是整数的话randint(1,5,[1,156])新版的话可以用randi([1,156],1,5)如果你要的是实数的话unifrnd(1,156,[1,5])没装统计工具箱的话可以用rand(1,5)*(156-1)+1

binornd 二项分布的随机数生成器 chi2rnd 卡方分布的随机数生成器 exprnd 指数分布的随机数生成器 frnd f分布的随机数生成器 gamrnd 伽玛分布的随机数生成器 geornd 几何分布的随机数生成器 hygernd 超几何分布的随机数生成器 lognrnd 对数

方法2、用统计工具箱,Y = unifrnd(0,1,m,n).另外,提供常用的函数分布供参考:1、 均匀分布U(a,b) 产生m*n阶[a,b]均匀分布U(a,b)的随机数矩阵:unifrnd (a,b,m, n)2、0-1分布U(0,1) 产生m*n阶[0,1]均匀分布的随机数矩阵:rand (m, n)3、二类分布binornd(N,P,mm,nn),即产生mm*nn均值为N*P的矩阵4、产生m*n阶离散均匀分布的随机数矩阵: unidrnd(N,mm,nn) 产生一个数值在1-N区间的mm*nn矩阵;5、产生mm nn阶期望值为 的指数分布的随机数矩阵:exprnd ( ,mm, nn).

可调用matlab内部函数,格式为u=randn(n) 或者u=randn(m,n),前者为n维向量,后者为m*n矩阵,这种调用方式产生的随机序列均值为零,方差为1 例如:r = normrnd(mu, sigma, m, n)%产生服从n(mu, sigma^2) 分布的m行n列的随机数组r

抄别的一个函数给你吧:=========================================function y=dis_rand(x,p,n) %dis_rand 产生离散分布随机数 % x:可能取值 % p:取值概率 % n:拟生成随机数的数目 cp=cumsum(p); y=zeros(1,n); for i=1:n y(i)=x(sum(

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com