请问Matlab中如何产生一个介于-1到1之间的随机数?谢谢了

如题所述

r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

matlab中生成随机数主要有三个函数:rand, randn,randi
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数
2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样
3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-26
2*rand-1
rand函数产生的是0到1之间的数

祝你学习愉快!
第2个回答  2011-02-26
a=-1;b=1;
r = a + (b-a).*rand(n,1)%其中n为你要产生数的个数
第3个回答  2011-02-26
randdata =2* rand(1,1)-1本回答被提问者采纳