MATLAB产生任意随机数

作者&投稿:苍衫 (若有异议请与网页底部的电邮联系)
matlab中如何产生N个随机数,和为定值M~

1、首先在电脑中,找到并打开MATLAB软件,二项分布随机数的产生。

2、接着输入二项分布随机数X~b(n,p),n为发生次数,p为发生概率,如下图所示。

3、然后输入泊松分布,参数为p,如下图所示。

4、接着输入指数分布,参数为λ,如下图所示。

5、最后正态分布,X~N(μ,δ^2),如下图所示,就完成了。

matlab用命令rand可以产生0-1的随机数,用线性变换即可,
y=ax+b
x=0,y=15
x=1,y=30
a=15,b=15,
如果你要的是整数,取整,用round,

>> rand(1,50)

ans =

Columns 1 through 11

0.9134
0.6324
0.0975
0.2785
0.5469
0.9575
0.9649
0.1576
0.9706
0.9572
0.4854

Columns 12 through 22

0.8003
0.1419
0.4218
0.9157
0.7922
0.9595
0.6557
0.0357
0.8491
0.9340
0.6787

Columns 23 through 33

0.7577
0.7431
0.3922
0.6555
0.1712
0.7060
0.0318
0.2769
0.0462
0.0971
0.8235

Columns 34 through 44

0.6948
0.3171
0.9502
0.0344
0.4387
0.3816
0.7655
0.7952
0.1869
0.4898
0.4456

Columns 45 through 50

0.6463
0.7094
0.7547
0.2760
0.6797
0.6551

>> ans*15+15

ans =

Columns 1 through 10

28.7006
24.4854
16.4631
19.1775
23.2032
29.3626
29.4733
17.3642
29.5589
29.3575

Columns 11 through 20

22.2806
27.0042
17.1283
21.3264
28.7360
26.8831
29.3924
24.8361
15.5357
27.7369

Columns 21 through 30

29.0099
25.1810
26.3661
26.1470
20.8834
24.8322
17.5678
25.5907
15.4775
19.1538

Columns 31 through 40

15.6926
16.4570
27.3519
25.4224
19.7565
29.2533
15.5167
21.5812
20.7234
26.4828

Columns 41 through 50

26.9280
17.8031
22.3465
21.6838
24.6947
25.6405
26.3203
19.1404
25.1955
24.8265

>> round(ans)

ans =

Columns 1 through 18

29
24
16
19
23
29
29
17
30
29
22
27
17
21
29
27
29
25

Columns 19 through 36

16
28
29
25
26
26
21
25
18
26
15
19
16
16
27
25
20
29

Columns 37 through 50

16
22
21
26
27
18
22
22
25
26
26
19
25
25


当然,这个方法的随机数分布不是均匀的,边界有问题,
你如说你要生成的随机数有15中可能
rand产生一个你判断它是否小于1/15*i,i=1,2,3,...15大于1/15*(i-1),是的话,这个数就是i


没看清题,不好意思,同楼上,x、y没有约束,如果x、y也是正整数,你随机出来,x+y的值,然后,x就是1到x+y在随机一次,y就是差,不过要满足某种分布还不知道如何做

可以用这个命令来试验一下
randn
它所产生的随机数是标准差是1,且平均值是0的正态分布的随机数,所以产生的随机数在理论上是在正负无穷大之间。
如果你嫌他所产生的随机数太小,可以乘以一个较大的数,例如用下面的命令
1000000000*randn

负无穷到正无穷好像不行的,只能取一个较大的区间,比如-1000000000到1000000000。

随机数只能是在一个区间中的


matlab产生随机数
randperm(n)会产生把1~n随机打乱的效果。在被打乱的序列里取前5个,然后把这5个当作位置在那个整数集里挑数就好。randi可以产生随机整数但可能重复,故不推荐

如何用MATLAB或simulink产生1和-1交替周期可以任意设置的方波函数,越...
x = square(t,duty)其中duty用来表示周期

在matlab中如何输入一个任意的多项式
Type radius: % 现在键入 2 做为半径值 r =2 >> area=pi*r^2; % 键入面积算式 >> name = input('Your nameplease: ','s') % 要键入文字则须在加上's',s 是代表字串(string)Your name please: % 键入名字 J.C.Wu name =J.C. Wu 严格按照matlab的输入方式。MATLAB 是美国...

求助大神!!matlab求一个点与任意多点之间的距离!!
n = 10; % 生成 n 个随机点rg = [5 95]; % 坐标点范围A = randint(n,2,rg);a = randint(1,2,rg); % 任意点for p = 1:n pc = num2str(p); plot(A(p,1),A(p,2),'b.'); text(A(p,1)+2,A(p,2)-1,pc); hold on axis([0 100 0 100...

matlab如何定义一个变量为无区间的任意数值?
情况一:符号变量 一定要定义,定义之后才能使用。如下面的例子,未定义就会出错。符号变量定义方法例如: sym x 或 syms x ,两者有区别也有共同点。情况二:计算过程当中的存储数值的变量 可以不必定义,随时需要,随时定义,但有时若变量很多,那最好提前声明,声明时,可直接赋予0值,并且注释,这样...

MATLAB repeating sequence 是什么意思
其实就是三角波发生器,如:20Khz等腰三角形设置:模块:Repeating Sequence Time:0 2.5e-5 5e-5 Output:-1 1 -1 你定义第一个三角波的端点坐标就可以了。后面的三角波都是重复产生的

matlab编写函数,画出任意一个函数在[-10,10]上的函数图像,及求其零点...
syms x real;f=inline('function');x0=-10:0.1:10;plot(x0,f(x0));%画图 root=solve('function=0')%求零点 上面function就是你要处理的函数。如果是多项式或者涉及到多项式的话,乘号用.*而不是*,否则plot那一步会出不来,需要换一种方式做,比这样麻烦点。举个例子,如果你要画的...

matlab 如何在矩阵中选取任意元素?
可以选取任意一行,任意一列,任意一个数 矩阵A A(i,j)就可以选取第i行j列的值 A(:,j)表示选取第j列的值 A(:,j:k)表示选取第j列到k列的值 A(i,:)返回i行的值 A(i:m,j:k)就返回i到m行j到k列的值

利用matlab如何随机生成一条空间曲线啊
这样看你随即生成什么曲线了 如果是直线 那么只要使用Matlab随即生成直线的那三个参数就好了其他曲线我们也只需要生成对应的控制参数如果说是任何任意的曲线,那么可以直接使用rand生成随机点 再连接起来就好了

matlab能否在画的图像上任意加点
可以用[x,y] = ginput(n)这个函数,n为你想选的点的个数,鼠标点的那些点的横坐标和纵坐标就会保存到[x,y]中。然后再plot(x,y,'*')!应该可以满足你的要求了!

广德县19510716812: MATLAB产生任意随机数 -
枕涛香草: 可以用这个命令来试验一下 randn 它所产生的随机数是标准差是1,且平均值是0的正态分布的随机数,所以产生的随机数在理论上是在正负无穷大之间.如果你嫌他所产生的随机数太小,可以乘以一个较大的数,例如用下面的命令1000000000*randn

广德县19510716812: Matlab中怎样产生指定范围内的随机数? -
枕涛香草: 如果没有特殊要求的话,平均分布的随机数matlab语句 -13+10*rand(1,5,10) 生成5行10列共50个

广德县19510716812: 如何用matlab生成随机数函数 -
枕涛香草:[答案] rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m*n的随机数矩阵 (现成的函数) 另外: Matlab随机数生成函数 betarnd 贝塔分布的随机数生成器 binornd 二项分布的随机数生成器 chi2rnd 卡方分布的随机数生成器 exprnd 指数...

广德县19510716812: matlab 中怎样按概率产生随机数 -
枕涛香草: 1. 首先,MATLAB自带很多生成满足一定分布的随机数的函数,例如: rnd:服从0~1的均匀分布U(0,1). randn:服从标准正态分布N(0,1). exprnd(MU):服从参数为MU的指数分布. 等等,这些都是最基本的. 2. 如果要生成除上面这些之外的随机数,需要严密的数学推导,利用这些分布进行构造,例如a+b*randn就是服从N(a,b),这些都可以在概率论的书上找到他们之间的联系.如果推导不出,还可以利用大数定律进行生成,通过一组随机数确定一个随机数的方式.

广德县19510716812: matlab 如何生成指定分布的随机数? -
枕涛香草: 抄别的一个函数给你吧: ========================================= function y=dis_rand(x,p,n) %dis_rand 产生离散分布随机数 % x:可能取值 % p:取值概率 % n:拟生成随机数的数目 cp=cumsum(p); y=zeros(1,n); for i=1:ny(i)=x(...

广德县19510716812: 如何用Matlab产生1到10之间3个不同的随机数 -
枕涛香草: <% Function RndNumber(MinNum,MaxNum) Randomize RndNumber=int((MaxNum-MinNum+1)*rnd+MinNum) RndNumber=RndNumber End Function Function RndN(N,a,b) '产生一个长度为N的不重复的随机字符串,a为最小值,b为最大值 x = ...

广德县19510716812: MATLAB如何产生两个数间的随机数 -
枕涛香草: 如果是产生任意数,包括小数: randint(1,1,1890)*rand(1,1)+110 如果只是整数: randint(1,1,1890)+110 也就是说,如果你想产生在a到b之间产生一个随机数:randint(1,1,(b-a))*rand(1,1)+a or randint(1,1,(b-a))+a

广德县19510716812: matlab中怎么对应产生随机数 -
枕涛香草: 直接rand(M,N)产生0~1之间的M行N列随机数 randi([a,b],M,N)产生整数a~b的M行N列的随机数1 2 3 4 5>> randi([4,8],1,2)ans = 48

广德县19510716812: matlab中随机数生成 -
枕涛香草: a=randperm(35); a=a(1:16);

广德县19510716812: MATLAB:随机生成数 -
枕涛香草: 先建立一个字符矩阵:A0=['0' '1'..'9' 'a'..'z' 'A'..'Z']; 然后根据随机函数random(N) 这里A1=round((randperm(25)/25)*62);程序如下:A1=['0' '1' '2' '3' '4' '5' '6' '7' '8' '9' ... 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h''i' 'j' ... 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't'... 'u' 'v' 'w' 'x' 'y' 'z' 'A' 'B' 'C' '...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网