首页/文章/ 详情

Amesim之生成随机数

1年前浏览301
Amesim生成随机数

工程仿真模拟的过程中经常会遇到随机数,而且在amesim软件中实现随机数也是相当简单的,提供了两种随机数生成模式,所生成的随机数可以是均匀分布也可以是高斯分布,下面讲一下随机数的实现过程及参数设置。


元件  

第一种模式  

该模式有四个参数,分别是seed(种子)、lower value(最小值)、higher value(最大值)、sample time(时间)。

该模式下是每隔一个时间段(sample time)生成一个[lower value、higher value]之间的随机数。


1.
参数设置  


下面这个例子是每隔0.1秒生成一个0~1之间的随机数,参数设置如下:


2.
仿真模拟  


这里,当lower value(最小值)与higher value(最大值)相等的时候,生成的随机数将是一个常数=lower value=higher value,如下:


第二种模式  


该模式有四个参数,分别是seed(种子)、mean(平均值)、variance(方差)、sample time(随机时间)。

该模式下,在正态分布情况下,这些数字将在具有指定方差的平均值附近,每隔一个时间段(sample time)生成一个在平均值为参数mean,方差为参数variance的随机值,所以该随机值不是真正的随机值,而是拟合内部算法的随机值。

1.
参数设置  



2.
模拟结果  



最后,解释一下种子参数seed,是一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。

既然能够在同一次仿真过程中在不同时间区间出现不同的随机数,那如何做到在每一次仿真过程中出现一个具体的随机数

      将sample time设置的数值比总仿真时间还长,可以确保每一次仿真会是一个具体值,但每一次出现的值并不是随机的。这里主要涉及到随机数种子。关于随机数的种子,因为随机数并不是真正的随机,它是通过某个算法的得到。也就是说你给数列管理器同一个序号将得到同样一个“随机”数列。所以当种子数相同的时候,每次产生的随机数是完全一致的,无法实现每次仿真都产生一个具体的随机数。      大家都知道信号库的功能是十分强大的,我也是一直推荐大家在学习我们课程的时候优先学习第一期课程,因为信号库就是在第一期讲解的。解决这个方法通过信号库两个元件的组合就可以实现,大家也琢磨下,可以在底部留言按钮留言,我将在下一篇文章中揭晓。

来源:Amesim学习与应用
科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-06
最近编辑:1年前
batt
本科 微信公众号:Amesim学习与应用
获赞 81粉丝 385文章 203课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈