虚拟仪器图形编程LabVIEW实验教材(三) 数组、簇和图形
《虚拟仪器实用编程技术》第3章 数组、簇

主要学习内容
学习如何创建数组和初始化数组; 学习如何创建数组和初始化数组; 学习常用数组函数的使用; 学习常用数组函数的使用; 学习簇的创建; 学习簇的创建; 学习簇函数的使用。 学习簇函数的使用。
3.1 数组
数组是相同类型数据元素的集合, 数组是相同类型数据元素的集合,这些元素可以 数值型、布尔型、字符串型等各种类型 等各种类型。 是数值型、布尔型、字符串型等各种类型。这些 元素必须同时都是控制件或同时都是指示件。 元素必须同时都是控制件或同时都是指示件。 数组可以是一维的,也可以是多维的。 数组可以是一维的,也可以是多维的。 对数组元素的访问是通过索引进行的,元素的索 对数组元素的访问是通过索引进行的,元素的索 引值从0开始 最大索引值为n-1,每一个数组元 开始, 引值从 开始,最大索引值为 , 素有唯一的一个索引值, 素有唯一的一个索引值,通过索引可访问每一个 数组元素。 数组元素。
数组函数(23个 3.1.3 数组函数(23个)
1.数组大小函数Array Size:用于访问数组的大小。 .数组大小函数 [例3.4] Array Size函数的使用。(一维数组和二维数组) 例
2.索引数组函数Index Array:用于访问数组中指定位 .索引数组函数 : 置的元素。 [例3.5] Index Array函数的使用。访问一维数组索引值 例 为2的数组中含 有5个浮点型数据。在数组中第1个元素 的索引值为0,第2个元素的索引值为1, 依次类推,最后一个元素的索引值是4。
简单的一维数组
创建数组的方法 在前面板创建数组控件 在框图程序窗口中创建数组常量 其他创建数组的方式
1.在前面板创建数组控件 . 简单来说, 简单来说,前面板创建数组控件可分为三 步: 创建数组框的空壳;(包括两部分: ;(包括两部分 创建数组框的空壳;(包括两部分:索引 框和数据) 框和数据) 确定数组类型; 确定数组类型; 为数组元素赋值。 为数组元素赋值。 举例说明
虚拟仪器技术实验指导书(紫金2012)

实验2 LabVIEW图形、数组、簇编程实验(设计型)1.实验目的(1)学习如何创建数组和簇,掌握它们的区别以及相应的操作。
(2)学习并掌握波形图和波形图表的使用,了解它们的区别。
2.实验设备安装有LabVIEW8.2的计算机3.实验内容(1)利用For循环建立一个一维数组并给出数组中的元素个数;建立一个二维数组给出数组中元素个数,并求出二维数组中元素的最大值、最小值。
(2)产生两个一维数组,分别组成一个二维数组和一个簇,然后用波形图显示二维数组,用XY图显示簇。
(3)设计一个VI来测量温度,每隔0.25秒测一次,共测定10秒,温度范围为0~100度。
在数据采集过程中,VI将在波形图表上实时地显示测量结果。
在采集过程结束后,在波形图上画出数据波形曲线,并算出温度的最大值,最小值和平均值。
4.实验原理(1)数组数组是一些具有相同类型的元素组成的集合。
数组包含两方面的内容:元素和维数。
数组中的元素可以是数字、布尔、字符、路径、波形和簇等数据类型。
(2)簇簇相当于一个容器,容器中的元素可以是各种不同的数据类型。
也就是说,可以在一个簇中放置控制选板上的各种控件,如数字控件、布尔控件、数组控件等,但是不能将输入控件和输出控件同时放入其中。
(3)图形子选板LabVIEW8.2的图形子选板提供了完成各种图形显示功能的控件。
按照处理测量数据的方式和显示过程的不同,图形显示控件主要分成两大类,一类为图形,另一类称为图表。
这两类控件都是用于图形化显示采集或生成的数据。
图形和图表的区别在于各自不同的数据显示和更新方式。
含有图形的VI通常先将数据采集到数组中,再将数据绘制到图形中。
该过程类似于电子表格,即先存储数据再生成数据的曲线。
数据绘制到图形上时,图形不显示之前绘制的数据而只显示当前的新数据。
图形一般用于连续采集数据的快速过程。
与图形相反,图表将新的数据点追加到已显示的数据点上以形成历史记录。
在图表中,可结合先前采集到的数据查看当前读数或测量值。
虚拟仪器与LabVIEW程序设计 第4章 数组、簇与波形显示

参考数组函数一览表 数组的多态性
数组函数
簇
❖ 概念:相同或不同类型数据元素的有序组合。 ❖ 创建1)在前面板创建簇控件
2)在程序框图中创建簇常量
❖ 簇函数
❖ 错误簇:用于在节点之间传递错误信息。一般包 含:状态、代码、源三个信息。
❖ 波形控件 ❖ 创建波形
波形
标签
曲线图例
❖ 波形图控件
标尺图例
第4章 数组、簇与波形显示
检测与质量教研室
1. 数组 2. 簇 3. 波形图表 4. 波形图
主要内容
数组
❖ 概念:相同类型数据元素的集合 ❖ 类型:数值型、布尔型、字符型、簇等各种类型,
但是不:索引值(如一维数组有N个元素则索
引值范围是0-N-1) ❖ 容量:每维最多可有231-1个元素。维度可以是
一维或多维。
③ ① ②
❖ 在前面板创建数组对象 1)在前面板放置数组框 2)定义数组类型 3)数组赋值 在程序框图中创建数组常量 1)在程序框图放置数组常量框 2)定义元素类型 3)赋初值
创建数组
❖ 创建多维数组:
❖ 通过程序创建数组 1)利用函数创建数组
2)利用For循环创建二维数组
创建数组
❖ 在波形图表中显示单条曲线 ❖ 在波形图表中显示多条曲线
❖ 波形图表和波形图的比较
❖ XY图 ❖ 数字波形图
其它类型的图形和图表
Thank You !
X滚动条
图形工具 选板
游标图例
❖ 在波形图中显示单条曲线 ❖ 在波形图中显示多条曲线
波形图
标签
图例
数字显示
波形图表
纵坐标
图形工具选板
❖ 波形图表控件
横坐标
虚拟仪器 labview 变量 数组与簇共61页文档

11、战争满足了,或曾经满足过人的 好斗的 本能, 但它同 时还满 足了人 对掠夺 ,破坏 以及残 酷的纪 律和纪律 是教育 过程的 结果, 首先是 学生集 体表现 在一切 生活领 域—— 生产、 日常生 活、学 校、文 化等领 域中努 力的结 果。— —马卡 连柯(名 言网)
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
13、遵守纪律的风气的培养,只有领 导者本 身在这 方面以 身作则 才能收 到成效 。—— 马卡连 柯 14、劳动者的组织性、纪律性、坚毅 精神以 及同全 世界劳 动者的 团结一 致,是 取得最 后胜利 的保证 。—— 列宁 摘自名言网
15、机会是不守纪律的。——雨果
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
LabVIEW字符串、数组、簇编程实验

LabVIEW字符串、数组、簇编程实验
⼀、实验⽬的
1、掌握创建和使⽤数组的⽅法
2、能够使⽤多种数组内部函数
3、掌握簇的创建和使⽤⽅法
4、学会使⽤内部函数处理簇
⼆、实验内容
1、字符串函数练习:如字符串的拆分、字符长度的计算、字符串的拼接、替换字符串和搜索字符串等;
2、计算⼀组随机数的最⼤值和最⼩值
提⽰:在程序框图中,放置⼀个For循环,设置循环次数为10次。
单击边框选择添加两个移位寄存器,分别初始化为0和1。
新建⼀个VI,在前⾯板上放置⼀个波形图标,⽤它来记录产⽣的随机数。
同时在前⾯板上放置两个数值显⽰控件“最⼤值”和“最⼩值”,⽤来显⽰随机数中的最⼤值和最⼩值。
放置随机数函数和最⼤最⼩值函数与程序框图中,其中最⼤最⼩值函数位于编程→⽐较→最⼤值与最⼩值。
然后连线。
3、构建VI,输出⼀个10⾏5列的⼆维数组。
第1⾏包含0~1范围内的5个随机数,第2⾏包含1~2范围内的随机数,以此类推,直到第10⾏包含9~10范围内的5个随机数。
4、设计VI,根据输⼊的3个考试成绩数组,计算得到⼀个簇数组包括平均成绩、成绩等级和班级排名。
每次的考试成绩对应⼀个数组,平均成绩是这样定义的:第⼀次考试占30%,第⼆次考试成绩占30%,期末考试占40%。
成绩等级按照平均成绩,以下表列出的标准来确定。
(提⽰:在确定成绩等级的时候⽤Case结构将会很⽅便。
)
平均成绩标准
三、实验结论及分析
1.。
labview数组、簇和图形的区别

数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。
如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
实验三 labview中字符串、数组、簇的实验

实验三labview中字符串、数组、簇的实验
一、目的
1、掌握创建和使用数组的方法
2、能够使用多种数组内部函数
3、掌握簇的创建和使用方法
4、学会使用内部函数处理簇
二、环境
1、WINDOWSXP环境
2、Labview8.5软件
三、内容与步骤:
[练习1]字符串练习
设计一个字符串连接与子字符串显示窗口,其前面板设计和程序框图设计如图所示。
[练习2]字符串函数练习
[练习4]创建子VI对两个输入矩阵A和B执行矩阵乘。
矩阵A是n×m矩阵,而矩阵B是m×p矩阵。
产生的矩阵C是n×p矩阵,这里C=AB。
[练习5]构建一个VI,该VI产生500个随机数并绘制在波形图指示器上。
计算随机数的平均值并在前面板上显示结果。
使用Statistics Express VI计算随机数的平均值。
[练习6]创建一个VI,该VI计算并绘制二阶多项式y=Ax*x+Bx+C。
VI应使用前面板控件来输入系数A,B,C,并使用前面板控件输入点数N,计算X0到Xn-1区间上的多项式。
在波形图上绘制y-x图形指示器。
[姓名-班级]实验三LabVIEW的数组和簇
![[姓名-班级]实验三LabVIEW的数组和簇](https://img.taocdn.com/s3/m/223f6adfd15abe23482f4dc2.png)
利用数组和簇的函数模板设计一个VI,实现下述功能:
1、根据用户从前面板输入的初始值,初始化一个3×5的二维数组;
2、通过调用函数求解该数组的维度,并在前面板显示;
3、根据用户输入的“替换用长度为5的一维数组”并选择替换的行号,来替代初始化后的数组相应行,得到替换后的数组并在前面板进行显示;
3根据用户输入的替换用长度为5的一维数组并选择替换的行号来替代初始化后的数组相应行得到替换后的数组并在前面板进行显示
《虚拟仪器》实验报告
开课学院:光电工程学院完成时间:201年月日
年级虚拟仪器
实验名称
LabVIEW的数组和簇
指导教师
应苑松
教师评语
教师签名:
年月日
一、实验目的
学习创建数组和簇,掌握二者的区别及其基本函数的使用。
二、实验原理
数组是同类型元素的集合。一个数组可以是一维或者多维。可以通过数组索引访问其中的每个元素。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
簇( Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的结构。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。减少子VI的连接端子的数量。
4、以用户输入的行和列为起点,提取替换后的数组的2×3列的二维数组在前面板上显示出来。
5、要求用户所有输入控件构成一个簇,通过簇的解除捆绑获得簇中各元素。
其前面板的效果参考图1:
四、实验步骤
请根据实验情况完成。
五、实验结果及分析
请根据实验情况完成。
六、总结
请根据实验情况完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章数据类型:数组、簇和波形3.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。
如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
数组元素不能是数组、图表或者图形。
如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。
3.2.3自动索引For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。
这些功能称为自动索引。
在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。
循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。
在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。
在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。
可以禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择DisableIndexing。
练习3-1创建一个自动索引的数组目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。
前面板图3-2练习3-1的面板1.打开一个新的前面板。
2.选择Controls»Array & Cluster,在前面板中放置一个数组。
设置它的标签为Waveform Array。
3.选择Controls»Numeric,在数组框中插入一个数字式显示对象。
如右图所示。
它用于显示数组的内容。
4.选择Controls»Graph,在前面板中放置一个波形图。
设置它的标签为Waveform Graph。
5.隐藏图例和模板。
6.用鼠标右键单击图形,并在快捷菜单中取消选中YScale»Autoscale Y,禁止自动坐标功能。
7.使用文本工具,把Y轴的范围改为-0.5到1.5。
流程图8.按照下图创建流程图。
图3-2练习3-1的流程图●由Functions»Select a VI…寻找LabVIEW\activity目录下的Generate WaveformVI,它的作用是返回波形中的某一点。
这个VI需要输入一个索引,我们将循环周期连接到这个输入。
●注意Generate Waveform VI连出来的连线在循环边界变成一个数组时会变粗,正是在这个边界处形成了一维数组。
●For循环会自动累计边界内的数组。
这种功能叫做自动索引。
在这个例子中,连接到循环计数输入的数值常数令For循环创建了一个由100个元素组成的数组。
●Bundle函数(Functions» Cluster)——将图块中的各个组件组合成一个簇,在正确连接以前需要改变该函数的图标的大小。
将移位工具放在图标的左下角。
变形工具会变成如左图所示,拖曳鼠标直到出现第三个输入端子。
●数值常数(Functions»Numeric)——三个数值常数用于设置For循环执行的周期数N=100,初始X=0和delta X=1。
9.从前面板执行该VI。
该VI将把自动索引后的波形图数组显示在波形图中。
10.把 X的delta值改为0.5,X的初始值改为20。
再次执行该VI。
注意,波形图现在同样显示100个点,而每个点的初始值为20,X的delta值为0.5(见X轴)。
11.只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。
如果输入的数比数组的元素个数大,那么显示器将变暗,表示您没有为该元素设置索引。
如果需要一次查看多个元素,可以通过改变数组显示对象的大小来实现。
把定位工具放置在数组框的右下角。
工具将变成右图所示的变形工具。
当工具变形时,用鼠标拖曳数组的右边或者下边。
数组现在就可以按照元素索引的上升顺序显示多个素,以某个与指定索引对应的元素开始,如下图所示。
图3-3练习3-1中多个数组元素的同时观察在前面的流程图中,您为波形图指定了初始的X值和deltaX值。
默认的X初始值是0,delta X 值是1。
这样,也可以把波形数组直接连接到波形图端子,而无需指定初始的X值和delta X值,如图3-4所示。
图3-4练习3-1使用默认X及Delta X时简化后的流程图12.按上图删除 Bundle功能函数和它所连接的常数对象。
方法是用移位工具选择该功能函数和连接的常数对象,按下<Delete>。
再选择Edit»Remove Bad Wire s。
按照上图完成流程图的连线。
13.执行该VI。
注意初始的X值是0,delta X值是1。
多图区图形可以创建含有多条曲线的图形,方法是创建一个数组,用它来汇集传给单图区图形的类型的数据元素。
图3-5 练习3-1多图区图形的流程图14. 按照上图创建流程图。
● 正弦函数(Functions»Numeric»Trig onometric )——在这里,它用于在For 循环中创建一个由数据点组成的数组,表示一个正弦波周期。
● Pi 常数(Functions»Numeric»AdditionalNumeric Constants )● Build Array (Functions»Arra y )——在这里,它用于创建合适的数据结构(一个二维数组),在波形图中绘制两条曲线。
用移位工具拖曳边角可以增大该函数的面积,创建两个输入端子。
15. 返回前面板,执行该 VI 。
注意同一个波形中的两个图区。
默认情况下,它们的X 初始值都是0,delta X 初始值都是1。
下图是该程序的运行结果(前面板未改动)。
16. 把该VI 保存为LabVIEW\Activity 目录中的GraphWaveform Arrays.vi 。
17. 可以修改图形中的某个图区的外观。
方法是,用鼠标右键单击这个图形,再从弹出菜单选择对应的图例。
Array图3-6 练习3-1多图区图形的面板显示练习 3-1 结束。
在上面这个例子中,由于计算端子连接了一个值为100的常数对象,所以 For 循环将执行100次。
下面这个例子显示了另外一种控制循环执行次数的方法。
更详细的例子建议调阅Examples》Fundamentals 》Graphsand Charts》Graph Examples》Waveform Graph例子。
练习3-2对输入数组使用自动索引功能目的:打开并执行一个VI,它将在一个For循环中使用自动索引功能处理一个数组。
1.选择File»Open…,打开Examples\General\arrays.llb中的Separate Array ValuesVI 。
2.打开流程图。
下面的示意图显示的是在TRUE和FALSE时的情况。
图3-7练习3-2的流程图注意,Input Array引出的连线与For循环外的粗线不同,表示这是一个数组,而循环内部的细线则表示这是一个数组元素。
数组元素在每个循环期间将自动编号。
用自动索引功能设置 For 循环的计数器注意,计数器端子还没有连线。
当您对某个进入For循环的数组使用自动索引功能时,循环就将根据数组的大小执行相应的次数,这样就无需连接某个值到计数器的端口。
如果对一个以上的数组使用自动索引功能,或者在使用自动索引功能之外还需要设置计数器时,实际的循环次数将是其中最小的数。
3.执行该VI。
在输入的八个数中,可以看到4个属于正数数组,另外4个属于负数数组。
4.从流程图中将一个值为5的常数对象连接到For 循环的计数器端子。
执行该 VI。
可以看到尽管输入数组仍然有八个元素,但是3个位于正数数组,另外2个位于负数数组。
这说明,如果设置了N并开启了自动索引功能,那么实际循环的次数将取较小的数。
5.关闭该VI,不要保存任何修改。
注:练习3-2的算法说明下面是一段伪代码,解释上面的算法,假定输入数组为A(已赋值),B(正数)、C(负数)。
Sbr 、Scr分别是与B数组、C数组对应的右寄存器数组,Sbl 、Scl分别是与B数组、C数组对应的左寄存器数组,size运算为测数组实际大小,ins运算为将一个数插入数组中最左边的空位。
练习3-2结束。
3.3数组功能函数LabVIEW提供了很多用于操作数组的功能函数,位于Functions»Array中。
其中包括Replace Array Element,、Search 1DArray、Sort 1D Array、Reverse 1D Array和Multiply ArrayElements等等。
创建数组——Build Array函数(Functions»Array),用于根据标量值或者其他的数组创建一个数组。
开始时,Build Array函数具有一个标量输入端子。