实验五 用LabVIEW编程实现数据的筛选

更新时间:2023-09-13 13:36:01 阅读量: 教学研究 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验五 用LabVIEW编程实现数据的筛选

一、 实验目的:

熟悉LabVIEW各种各种菜单和模板

掌握LabVIEW中各种数据类型及其使用方法 明确LabVIEW中各种程序的结构 灵活掌握数组处理函数的各种用法

二、 实验要求:

X和Y均是0到600之间的整数,求所有使0.18X+0.35Y为整数的X和Y的组合,并指出所有满足条件(X,Y)的个数。

三、实验仪器

计算机,LabVIEW软件。

四、实验原理及步骤 程序流程图如下:

开始 创建每个(X,Y)位置上元素为表达式的二维数组 转换数组,当上述数组某位置上元素为整数时,该位置元素换位“真”,否则该位置上元素为“假” 将上述二维数组转换为一维数组 找出一元数组中所有为“真”的元素的位置,并转换为二维坐标, 将二维坐标分别存入两个数组中显示,显示数组中的元素个数即为所有满足条件(X,Y)总个数并显示 结束

具体编程步骤如下:

1. 启动LabVIEW,并新建一个扩展名为vi的文件,进入框图程序的编辑。

2. 整数二维数组的创建。按图一编写程序,通过双层循环和公式节点先创建了每一个(X,

Y)对应的0.18X+0.35Y的每一个值,由于X和Y都是0到600之间的整数,因此内外

循环次数都应为601次,利用循环结构里面的i可作为X和Y的取值。对Z(即0.18X+0.35Y)取整再和Z相减,给差值平方,若其值为0则说明这种X和Y的组合满足条件,对应的这位置(即(X,Y)位置)上的元素为“真”,否则为“假”。

图一

3. 将二维数组转换为一维数组。用数组处理函数“重排数组维数”即可实现把二维数组转

成一维数组的功能,因为上述二维数组行列元素个数都为601,因此总的元素个数为601*601=361201个,给“重排数组维数”的元素个数赋值为361201,这样就实现了二维数组转一维数组的功能,以便利用众多一维数组处理函数更方便的处理数组问题。如图二就实现了二维数组向一位数组的转换功能。

图二

4. 数组中整数的查询。上述程序中已经实现了把原始二维数组中整数的元素转换为一维数

组中为“真”的元素这样就可以利用一维数组查询函数Search 1D Array对一位数组中为“真”的元素进行查询。就能得到他们在一元数组中的位置,并且将下一个元素的位置通过移位寄存器反馈给“搜索一维数组”函数的查询起始输入端,进行下一个“真”元素的查询,也就是对整数元素在一维数组中位置的查询,当“搜索一维数组”函数输出-1时,说明数组全部元素已经查询过一遍了,停止数组元素的查询。得到整数在一维数组中的位置,可用这个位置数值除以原二维数组每一行的元素个数601,商就为整数元素所在二维数组中的行号,余数为其在原二维数组中的列号,也就分别是满足要求的X值与Y值。图三就实现了整数元素的查询,一维位置转换二维位置的功能。

图三 图四

5. 所得(X,Y)值的显示。利用“数组大小”函数统计整数查询模块中找到的整数引索值

的个数,当然上述模块最后一个引索值是-1,比所要的引索值多了1个,因此“数组大小”函数的输出即为满足条件的(X,Y)个数。将上述整数查询模块中商输出给X值的数组,当然也要删除最后一个无效元素,余数送给Y值的数组,同理也删除最后一个无效元素,X数组Y数组相同位置元素组成一个有效的(X,Y)坐标。图四实现了(X,Y)的显示功能。

五、实验结果:

实验结果:运行程序,打开程序的前面板即可得到如下结果,可见总共有3522个(X,Y)满足题意要求,改变X和Y数组的引索值即可查询任意X和Y的有效组合,经验算实验结果完全正确,实验结果见图五。

图五

六、实验心得:

(1) LabVIEW中对一维数组的处理函数较多,若二维数组处理起来有困难,可先将

其转换为一维数组进行相关处理,再用比较简单的线性算法,得到二维数组中

的参数,这样有时会起到事半功倍的办法。

(2) 在LabVIEW中对数组的处理往往伴随着循环结构,可以巧妙利用数组和循环的

关系处理数组问题。

(3) 感觉所有编程语言的程序结构都是相通的,只是形式上表现不同,在学习编程

时应该注意这一点。

(4) 可以利用LabVIEW中分步执行功能来查看程序错误,还便于理清程序执行过程。

本文来源:https://www.bwwdw.com/article/fjhh.html

Top