热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

labview随机数序列_labview创建随机数的多种方法之一

随机数多用于仿真过程中,LABVIEW作为一种编程语言,特别适合于仿真过程,因此,与常规语言不同,直接提供了多

随机数多用于仿真过程中,LABVIEW作为一种编程语言,特别适合于仿真过程,因此,与常规语言不同,直接提供了多种创建随机数和随机数序列的方法。但是由于侧重点的不同,LABVIEW在多个函数选板中,提供了多种不同的函数,下面大概总结一下。

一、伪随机数发生器

在LABVIEW数值函数选板中,提供了一个随机数发生器函数,返回一个0-1之间的伪随机数。常规语言中都提供了类似的RAND函数,LV的帮助文件中对该函数没有细节方面的描述。

该函数与常规语言的RAND函数也有不同之处,常规语言的RAND函数一般可以自行选择种子,对于相同的种子,执行相同的算法,因此会返回相同的随机数。

默认的种子通常是系统时钟,估计LABVIEW也是如此。但是LABVIEW函数内部可能是在首次调用时使用系统时间作为种子,再次调用时可能内部使用了前一次的结果作为种子,因为接近相同时刻函数不会返回相同的随机数,如下图所示。

二、任意范围的随机数发生器

LV提供的随机数发生器返回的0-1之间的双精度随机数,实际应用中经常需要的是指定范围的随机数,这可以通过简单的线性运算实现,如下图所示。

三、均匀白噪声

均匀白噪声是一组离散的随机数,随机数的平均值为0,随机数序列的预期标准偏差

是幅值的0.577倍。

µ = E{x} = 0

通过LV的随机数发生器,可以很容易生成这样的序列,满足均匀白噪声的标准,如下图所示:

LV在信号生成函数选板中专门提供了几种随机数序列发生器,包括均匀白噪声、周期性随机噪声、高斯噪声、二项式分布的噪声等等,如下图所示。

信号生成模板的几种噪声生成函数使用方法十分类似,下面以均匀白噪声为例,重点分析一下它的用法。

均匀白噪声生成信号函数使用非常简单,但是特别要注意种子和初始化输入端子的用法,该函数可以设置种子值,为-1时表示使用内部随机种子。内部随机种子调用的是基本的随机数发生器函数,由于基本的随机数发生器函数使用内部时钟作为种子,所以使用默认随机数种子时,均匀白噪声实质上是系统时钟相关的。

初始化端子如果为TRUE,每次调用时都可以更新种子值,如果为FALSE,则连续调用时使用前一次生成的种子值,看一下该函数的程序框图。

在给定种子时,因为遵循同样的算法,所以相同种子值返回的随机数序列是相同的,如下图所示:

三、正态分布随机数序列

所谓正态分布随机数序列,就是要求随机数序列必须满足平均值和标准方差的要求,并呈正态分布。

伪随机序列的期望均值µ和期望标准偏差

µ = E{x} = 0

= [E{x – µ}2]1/2 = s

伪随机序列产生约290个采样后才会出现重复。

下面创建一个正态分布随机数序列,并计算它的均值和标准方差。

信号生成选板中还提供了其它几种噪声函数,这里就不再详细讨论了,下一篇文章中介绍波形函数选板中的几种随机数发生器,以及概率函数选板中的随机数发生器,这些随机数发生器都是以信号噪声函数为基础的,在此基础上进一步实用化。



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
author-avatar
斯宾诺沙漏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有