1. 小视频教程 > 知识库 >

random函数,matlab中random函数的用法

本文目录索引

1,matlab中random函数的用法

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函数的用法

2,c++中的RANDOM()函数怎么使用?

方法:rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。 rand()会返回一个范围在0到RAND_MAX(32767)之间的伪随机数(整数)。 在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。 rand()函数需要的头文件是: rand()函数原型:int rand(void); 使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100; C++中的rand( )应该小写,需要加载头文件 拓展资料 rand( )函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。

3,matlab中rando函数和random函数的区别

没有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

4,java中产生随机数的函数是什么

一、利用random方法来生成随机数。

  在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的double型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数。

  如我们可以先通过random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。然后再利用Int方法进行转换(它会去掉小数掉后面的数字,即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的random方法按照如下的格式进行变型:(int)(Math.Random()*10)即可。其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换成n即可,如改为(int)(Math.Random()*n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。如将n设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。在Java中定义自己的工具库

  有时候程序员可能需要生成一个指定范围内的随机偶数或者奇数。此时是否可以通过这个方法来实现呢?答案是肯定的。如现在程序要需要生成一个1-100范围内的偶数。此时该如何实现?首先,需要生成一个0到99之内的随机数(至于这里为什么是99,大家耐心看下去就知道原因了)。要实现这个需求,很简单吧,只要通过如下语句就可以实现: i=1+(int)(Math.Random()*100)。其中(int)(Math.Random()*99)产生0到99的整数型随机数。然后再加上1就是产生1到100之间的随机整数。然后将产生的随机数赋值给变量i。但是此时其产生的随机数即有偶数,又有奇数。而现在程序员需要的是一个随机的偶数。那么我们可以在后面加上一个if判断语句。将这个随机数除以2,如果没有余数的话(或者余数为0)则表明这个随机数是偶数,直接返回即可。如果其返回的余数不为零,那么就表明其是奇数,我们只要加上1就变为了偶数,返回即可。注意,在上面的随机数生成中,笔者采用的范围是0到99,然后再加上1让其变为1到100的随机数。最后的结果就是生成1到100之间的随机偶数。其实,如果要范围随机奇数的话,至需要对上面的语句进行稍微的修改即可。Java:改变你我的世界

5,如何用rand函数写出1到100的随机数

先用srand函数设置一个种子,一般为当前时间,然后使用rand函数产生随机数,如产生a~b的随机数使用表达式rand()%(b-a+1)+a。
注意:srand函数在头文件#include 中。
示例代码:
#include
#include
#include
int main()
{
int a[10]/*用于保存10个产生的随机数*/, i;
srand((unsigned int)time(NULL));//设置当前时间为种子
for (i = 0; i < 10; ++i){
a[i] = rand()%100+1;//产生1~100的随机数
}
//打印生成的随机数
for (i = 0; i < 10; ++i){
printf ("%d ", a[i]);
}
printf ("\n");
return 0;
}

6,详细介绍一下C语言里面的随机数产生函数random怎么用

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a). 初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列,是吧。利用srand((unsign)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的. 下面讲一讲在C语言里所提供的随机数发生器的用法。现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535; 2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 3) 根据需要多次调用rand(),从而不间断地得到新的随机数; 4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。 以下是一个产生随机数的例子: 需要首先使用随机数“种子”初始化,srand函数: #i nclude #i nclude #i nclude //使用当前时钟做种子void main( void ){int i;srand( (unsigned)time( NULL ) );//初始化随机数/* 打印10个随机数. */for( i = 0; i < 10;i++ )printf( " %d\n", rand() );} #include #include main{int i;srand(time(0)); //初始化随机种子i = rand(); //产生随机数} 首先,加一个"#include 然后设一个变量,如j,j=rand(),就可以给j赋一个1~32767的随机数,如果要获得一个随机函数的十位(其它类似),只需令j=j%10就行. 添加头文件 #include 然后在文件中添加 srand((unsigned)time(NULL)); srand()是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的,它不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的. 上面是有个随机种子的说明及方法,为了避免重复.然后再 用 随机函数,rand() 就行了. 头文件是 stdlib.h random() 产生随机数为 0或1 random(n) 产生随机数为 0到n之间的一个随机数 rand() 产生 0到32768之间的一个随机数 函数名: randomize 功 能: 初始化随机数发生器 用 法: void randomize(void); 程序例: #include #include #include int main(void){ int i; randomize(); printf("Ten random numbers from 0 to 99\n\n"); for(i=0; i<10; i++) printf("%d\n", rand() % 100); return 0;}