randn randi和randn
一、rand函数的运用
1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。
2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:intnum=rand()%100;这样,num的值就是一个0~99中的一个随机数了。
3、如果要产生1~100,则是这样:intnum=rand()%100+1;
4、总结来说,可以表示为:intnum=rand()%n+a;
其中的a是起始值,n-1+a是终止值,n是整数的范围。
5、一般性:rand()%(b-a+1)+a;就表示a~b之间的一个随机整数。
6、若要产生0-1之间的小数,则可以先取得0-10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。
若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依此类推。
二、sprandn函数的用法
randn:产生正态分布的随机数或矩阵的函数
randn:产生均值为0,方差σ^2=1,标准差σ=1的正态分布的随机数或矩阵的函数。
用法:Y=randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y=randn(m,n)或Y=randn([mn]):返回一个m*n的随机项矩阵。Y=randn(m,n,p,...)或Y=randn([mnp...]):产生随机数组。Y=randn(size(A)):返回一个和A有同样维数大小的随机数组。
三、c++ rand函数公式技巧
在C++中,可以使用rand()函数来生成随机数。为了提高随机性,可以结合srand()函数设置随机数种子,例如srand(time(0)),使得每次运行程序时种子不同,从而生成更加随机的数。
另外,可以利用取模运算来限制生成的随机数范围,例如生成0到100之间的随机数可以使用rand()%101。
此外,也可以结合其他数学公式或算法来增强随机性,例如线性同余发生器等。通过这些技巧可以更灵活地利用rand()函数生成所需范围内的随机数。