专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

matlab随机数生成方法

来源:小易整编  作者:小易  发布时间:2023-03-02 02:13
摘要:matlab随机数生成方法本文将以matlab为例,介绍其随机数是如何生成的。随机数应用蒙特卡罗法的过程中,如何产生需要的随机数是关键的一个环节。Matlab有很多生成随机数的方法,比较常用的是random这个函数。Y=random(nam...

matlab随机数生成方法

本文将以matlab为例,介绍其随机数是如何生成的。

matlab随机数生成方法

随机数

应用蒙特卡罗法的过程中,如何产生需要的随机数是关键的一个环节。

Matlab有很多生成随机数的方法,比较常用的是random这个函数。

Y = random(name,A,B,C,[m,n,...]):

  • Y是生成的随机序列或随机矩阵;

  • name,随机分布的形式;

  • A,B,C,对应随机分布的参数;

  • [m,n,...]矩阵的规模。

例如,Y = random('unif',0,1,[100000,1]),生成了0-1的均匀分布。

matlab随机数生成方法

Y = random('exp',1,[100000,1]),生成了均值为1的指数分布。

matlab随机数生成方法

Y = random('norm',0,1,[N,1]),生成了0~1的高斯分布。

matlab随机数生成方法

随机种子

由于我们生成的实际上是伪随机数,随机数值是可以重现的,这里就要介绍如何应用随机种子。

如果我们使用Y = random('norm',0,1,[1,5]),连续使用几次,生成的结果每次都是不同的,如:

matlab随机数生成方法

这里,系统默认给了一个随机种子,因此每次结果是不同的。

如果我们希望随机化的过程可以重现,我们需要知道当前的随机种子编号,则应用rng这个函数可以实现。

运行以下代码,每次生成的Y都是一致的,因为我们指定了随机种子数:

a = rng(123456);

Y = random('norm',0,1,[1,5]);

随机种子有很多生成方式,系统默认的就有多种方法,如:

a = rng('shuffle', 'twister')

运行显示:

a =

     Type: 'twister'

     Seed: 1771971539

    State: [625x1 uint32]

我们把Seed给记下来,如果想重现,只要用这个随机种子,在rng里重置以下就行了。

常见的方式还有我们自己利用时钟生成随机种子,比如:

t = clock;

s = floor(t(1)+2*t(2)+3*t(3)+4*t(4)+5*t(5)+1000*t(6));

rng(s)

Y = random('norm',0,1,[1,5]);

随机过程

还有一类随机数不仅仅与分布有关,还与序列的排列顺序有关,称之为随机过程。

如高斯白噪声,可以通过wgn这个函数实现:

N = 100000;

x = wgn(1,N,0);      %生成N*1个高斯白噪声,功率为0dBW

序列的曲线,及其PSD,还有自相关函数如图。

matlab随机数生成方法

并且其分布也是满足高斯分布的。

matlab随机数生成方法

最后

应用蒙特卡罗法的过程中,如何产生需要的随机数是关键的一个环节,本文简要介绍了在Matlab中的常用实现方法,蒙特卡罗法这个专题也暂时告一段落。


本文地址:百科问答频道 https://www.neebe.cn/wenda/907129.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • matlab怎么用

    matlab怎么用

    MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。学习计算机或者通信的同学们都会用到MA...

  • matlab随机数生成方法

    matlab随机数生成方法

    matlab随机数生成方法本文将以matlab为例,介绍其随机数是如何生成的。随机数应用蒙特卡罗法的过程中,如何产生需要的随机数是关键的一个环节。Matlab有很多生成随机数的方法,比较常用的是random这个函数。Y=random(nam...

  • java随机数怎么生成,java随机数生成的4种方法

    java随机数怎么生成,java随机数生成的4种方法

    java随机数怎么生成,java随机数生成的4种方法在Java中,生成随机数的场景有很多,所以本文我们就来盘点一下4种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。RandomRandom类诞生于JDK1.0,它产生的随机...

  • 伪随机数的定义,伪随机数的原理

    伪随机数的定义,伪随机数的原理

    在复杂网络分析领域,经常需要研究随机性。很多复杂网络的配置模型(例如ER图和无标度网络)在生成网络实例的时候,都需要通过计算机产生随机数。我们大多数时间不需要知道计算机产生随机数的具体细节,不过这里还是整理一下相关的知识,其中包含了一些很有...

  • Matlab如何画三维图像(matlab画图三维图像的方法)

    Matlab如何画三维图像(matlab画图三维图像的方法)

    Matlab如何画三维图像(matlab画图三维图像的方法),强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,我们可以通过在在Matlab右上角的搜索界面输入"TypesofMATLABPlots",然后打开"T...

  • matlab解方程组的函数,怎么用matlab解方程

    matlab解方程组的函数,怎么用matlab解方程

    matlab解方程组的函数,怎么用matlab解方程含参方程求解Gu(s)和Gs(s)。这种方程想必大家都解过,虽然不难,但是很麻烦,多项式太多,要整理分类,最后才能解出来,还特别容易错。今天小编就来给大家介绍一种用matlab求解的方法。...

  • python随机数怎么生成,python随机数生成的常用方法

    python随机数怎么生成,python随机数生成的常用方法

    python随机数怎么生成,python随机数生成的常用方法。这篇文章主要为大家详细介绍了Python中随机值生成的一些常用方法,文中的示例代码讲解详细,对我们学习Python有一定帮助哦~目录一、随机整数二、随机浮点数三、随机字符串四、随...

  • matlab求和函数是什么,matlab求和函数使用教程

    matlab求和函数是什么,matlab求和函数使用教程

    matlab求和函数是什么,matlab求和函数使用教程sum,Sumofarrayelements,Syntax,B=sum(A),B=sum(A,dim),B=sum(...,'double'),B=sum(...,dim,'doubl...

  • 周排行
  • 月排行
  • 年排行

精彩推荐