Matlab中怎么产生-1到1之间的随机数

2025-02-22 21:38:42
推荐回答(5个)
回答1:

x=2*(rand(m,n)-0.5)
产生m*n个数,他们构成一个矩阵。。。
一楼正解、、、

例如:

>> x=2*(rand(5,5)-0.5)

x =

-0.7867 0.7374 -0.1372 -0.7279 0.7061
0.9238 -0.8311 0.8213 0.7386 0.2441
-0.9907 -0.2004 -0.6363 0.1594 -0.2981
0.5498 -0.4803 -0.4724 0.0997 0.0265
0.6346 0.6001 -0.7089 -0.7101 -0.1964

>> x=2*(rand(1,10)-0.5)

x =

-0.8481 -0.5202 -0.7534 -0.6322 -0.5201 -0.1655 -0.9007 0.8054 0.8896 -0.0183

回答2:

randdata =0.3*(2* rand(1,n)-1); n为产生多少列,前面的0.3可以根据你需要的幅值改动

回答3:

x=2*(rand(1,10)-0.5)
产生区间为a~b之间的数,程序可以这么写
(rand(1)*(b-a))+a;

回答4:

rand(1)*(N-M)+M (N,M)区间内的随机数,收敛性不太好

回答5:

2*(rand(10,1)-0.5),产生10个