matlab中random函数的用法

来自:    更新日期:早些时候
matlab random函数怎么用~

第一个参数就是这个随机变量从哪个分布族抽出来。比如beta分布,二项分布,卡方分布,等等。可以只用部分字符串匹配(比如gam就可以代表gamma,因为只有这个名字里面有gam),也可以不区分大小写。

没有rando函数。只有rand和randn
1.rand()
生成(0,1)区间上均匀分布的随机变量。基本语法:
rand([M,N,P ...])
生成排列成M*N*P... 多维向量的随机数。如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:
rand(5,1) %生成5个随机数排列的列向量,一般用这种格式
rand(5) %生成5行5列的随机数矩阵
rand([5,4]) %生成一个5行4列的随机数矩阵
生成的随机数大致的分布。
x=rand(100000,1);
hist(x,30);
由此可以看到生成的随机数很符合均匀分布。(视频教程会略提及hist()函数的作用)
2.randn()
生成服从标准正态分布(均值为0,方差为1)的随机数。基本语法和rand()类似。
randn([M,N,P ...])
生成排列成M*N*P... 多维向量的随机数。如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:
randn(5,1) %生成5个随机数排列的列向量,一般用这种格式
randn(5) %生成5行5列的随机数矩阵
randn([5,4]) %生成一个5行4列的随机数矩阵
3、matlab中random函数——通用函数,求各分布的随机数据,其用法:
y = random('norm',A1,A2,A3,m,n)
式中:A1,A2,A3为分布的参数,m,n用来指定随机数的行和列,name的取值有相关的表格来参照。
例:产生一个3行4列均值为2、标准差为0.3的正态分布随机数:
>>y =random('norm',2,0.3,3,4)
y =

2.1613 2.2587 1.8699 2.8308
2.5502 2.0956 2.1028 1.5950
1.3223 1.6077 3.0735 2.9105

Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。 

Y = randn(m,n) 或 Y = randn([m n]),返回一个m*n的随机项矩阵。

Y = randn(m,n,p,...) 或 Y = randn([m n p...]),产生随机数组(感觉就是三维数组,请看如下例子)。

扩展资料:

举例分析

产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:

1: x = .6 + sqrt(0.1) * randn(5)

其他类似函数:rand, randperm, sprand, sprandn



matlab中random函数——通用函数,求各分布的随机数据,其用法:
y = random('norm',A1,A2,A3,m,n)
式中:A1,A2,A3为分布的参数,m,n用来指定随机数的行和列,name的取值有相关的表格来参照。
例:产生一个3行4列均值为2、标准差为0.3的正态分布随机数:
>>y =random('norm',2,0.3,3,4)
y =

2.1613 2.2587 1.8699 2.8308
2.5502 2.0956 2.1028 1.5950
1.3223 1.6077 3.0735 2.9105

random格式:random(x);(注释:x是个正整数)。

random功能:即可随机产生0~x之间的一切整数。而且它是一个函数,不能单独使用。

random举例:
program exercise(input,output);
var i,a:longint;
begin
for i := 1 to 10 do
begin
a:=random(100);
write(a,' ');
end;
end.


matlab中random函数的用法视频

相关评论:
  • 17788786110random函数matlabrandom函数
    栾杰仁关于random函数matlab,random函数这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!1、用法:随机生成(0,1)之间的浮点数***.***()2、随机生成100-200的整数***.randint(100,200)3、随机产生范围为10间隔为2的数***.randrange(0,11,2)注:这里输出(0,2,4,6,8,...

  • 17788786110matlab中random函数的问题
    栾杰仁产生一个3行3列的随机数矩阵。随机数服从0-10之间的均匀分布 ,即X~U(0,10)。

  • 17788786110MATLAB问题求助!请问在MATLAB中如何产生0.001到0.01之间的随机数?谢谢...
    栾杰仁为了产生随机数,如果是均匀分布,可以用函数 rand(); 如果只要产生单个数,可以用rand(1);对于一个区间 [a, b], 可以产生随机数后再做偏移,比如 r = a + (b-a) .* rand(1);针对你的情况: r= 0.001 + (0.1 - 0.001) .* rand(1);实际上,对于均匀分布,函数random() 可以...

  • 17788786110matlab中rand(3)和random([3,3]),这两结果不一样,这里面加了中括号有...
    栾杰仁rand是从标准正态分布中随机取数,rand(3)相当于rand([3,3]) 代表生成3*3个随机数。rand([2,4])就是生成2行4列随机数 random(NAME, A, M, N) 其实random应该是这么用,第一个参数NAME是分布的名称,也就是说random函数可以指定取随机数的分布,A是NAME分布的参数:random('beta',2,3,...

  • 17788786110试用matlab编程分别产生符合下列分布的随机数变量。
    栾杰仁random函数的第一个字符串参数表明了分布类型,后面的参数依次是该分布按习惯顺序的对应参数,例如正态分布就是μ(均值)和σ(标准差),伽马分布就是α(形状参数)和β(尺度参数),泊松分布就是单参数λ(均值或方差)。第二种方法:用各自分布对应的函数,如下:datan2 = normrnd(3.5, sqrt(...

  • 17788786110matlab random和randn
    栾杰仁randn 产生的是标准正态分布 random(name,A) 这个可以改你要的随机数是什么分布,可以调整随机数的参数,例如正态分布可以改两个参数

  • 17788786110matlab中rand是什么意思
    栾杰仁matlab中rand的意思是产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。语法: 用rand函数随机取100个从-1到1(原来写成了2)的数x1,x2,...,x = rand(1,100) * 2 - 1。

  • 17788786110在matlab中R = random('Normal',0,1,2,4): 生成期望为 0,标准差为 1...
    栾杰仁换个容易理解的,你要产生0到1的均匀分布(1行4列),如 >> rand(1,4)ans = 0.8147 0.9058 0.1270 0.9134 很明显的,你产生的4个数分布不是均匀的等差分布,但其产生的方式是0到1内均匀的,产生每个数的概率是相等的。明白?至于random的功能,可以 >>help random ...

  • 17788786110matlab产生N个随机点。。每两点之间的距离必须大于一个固定值M...
    栾杰仁思路:先随机产生一个随即点x1,再产生一个随即点x2,求abs(x1-x2)是否大于M,若是,记a1=x1,a2=x2,继续产生随即点,若不是,扔掉,产生随即点x3,求abs(x3 -ai),i=1,2.继续判断,若是,则a3=x3,继续产生下一点x4,继续判断,知道an=xn。方可停止。.随机点的产生可以用random函...

  • 17788786110matlab中如何定义数组的维数?
    栾杰仁x=ones(1,n)表示x为全0数组;q=zeros(1,n)表示q为全0数组;n=length(a)表示获得数组a的最大维度。1、数组的维数:在MATLAB中,允许标量数据沿行、列、页等方向排列成 ‘长方体’,而构成数组,而行、列、页等排列方向就分别被 称为行维、列维和页维。2、数组的规模及相关术语:数组沿某...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网