虚拟仪器设计与应用6

上传人:j7****6 文档编号:61643855 上传时间:2018-12-08 格式:PPT 页数:66 大小:884.50KB
返回 下载 相关 举报
虚拟仪器设计与应用6_第1页
第1页 / 共66页
虚拟仪器设计与应用6_第2页
第2页 / 共66页
虚拟仪器设计与应用6_第3页
第3页 / 共66页
虚拟仪器设计与应用6_第4页
第4页 / 共66页
虚拟仪器设计与应用6_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《虚拟仪器设计与应用6》由会员分享,可在线阅读,更多相关《虚拟仪器设计与应用6(66页珍藏版)》请在金锄头文库上搜索。

1、虚拟仪器设计与应用,光电工程系,第十二讲 数组及其函数,数组的概念 创建数组的方法 常用数组函数,数组的基本概念,何为数组? 数组是若干同类型数据的集合。 数组的构成 由数组的元素和维数组成。元素就是数组的数据,维数反映了数组的高度、长度和深度。,高度,长度,深度,243的三维数组,数组的基本概念(续),数组可以是一维的,也可以是多维的。每维的长度最大是231 1 个元素 数组的元素是有序的,每个元素都有唯一对应的索引值。可以用索引值来访问任何一个特定的元素。索引值以0为起始,所以数组每维的长度取值范围是0,n-1,n是数组该维的长度,也就是该维包含n个数组元素。 数组的类型由它的元素的类型决

2、定。LabVIEW中可以创建数值型、逻辑型、路径型、字符串型等。 数组元素要么都是控制量,要么都是显示量,二者只可择其一。,一维数组,二维数组,三维数组,数组的表示方法,索引,元素,行索引,列索引,行索引,列索引,页索引,数组的表示方法(续),不同类型的数组,创建数组的方法,LabVIEW中数组由数组外壳和数组元素两部分组成,数组外壳,增加数组外壳到前面板,从 Controls All Controls Array and Cluster 模板, 选择 Array Shell,将它拖到屏幕上,增加数组元素,将数据对象放到数组外壳中 (i.e. Numeric Control),创建多维数组,先

3、创建一个一维数组,然后用右键菜单中的Add Dimension命令增加维数,用循环创建数组,利用循环的自动索引功能可以在循环边界累积数据生成数组,创建 2D 数组,用两个嵌套的For循环可以生成二维数组,创建数组常量,只在后面板出现 常作为左移位寄 存器的初始常量 创建方法,Array constant,数组基本操作演示,创建数组 用循环创建数组 增加数组维数 插入元素、增/删行列,常用数组函数,位置:Functions All functions Array 常用函数: Array Size(数组大小函数)返回数组每维的元素个数 Initialize Array(初始化数组函数)创建一个 n

4、 维数组,并用 element 端口上的数据初始化数组每个元素 Build Array(组建数组函数)连接多个数组或添加元素到 一个n 维数组中 Array Subset(提取子数组函数)返回以index为起始的length长的子数组 Index Array返回索引为index的数组元素,Array Size(数组大小函数),功能:返回数组每维的元素个数 图标 端口 输入端array:连接数组类型的数据 输出端size(s):输出数组的维数。如果array是一维数组,那么size(s)是标量;如果array是多维数组,那么size(s)是一维数组,它的每个元素分别表示array每维的维数。,A

5、rray size用法实例,Initialize Array(初始化数组函数),功能:创建一个 n维数组,并用 element 端口上的数据初始化数组每个元素 图标,端口 输入端element:用来“填充”数组中所有元素的数据。 输入端dimension size 0n-1 :各维的长度,整型数值。 输出端initialized array :生成的初始化后的数组,其类型与element的类型相同。 该函数是多态函数,可以创建一维的数组也可以创建多维的数组。要增加维数,只需用鼠标将图标拉大,就会自动增加维数输入端口。,Initialize Array用法实例,Build Array(组建数组函

6、数),功能:连接多个数组或添加元素到一个n维数组中。 图标,Build Array(续),端口 输入端array和element:用来连接或扩展输入数组和元素。 输出端appended array :连接或扩展后的新数组。 特别注意: 所有输入端类型必须相同 输入端的组合除了同维组合(如元素与元素、一维数组与一维数组、n维与n维)外,还可用的组合有:元素与一维数组或者n维与n-1维数组组合。,Build Array(续),该函数有两种模式 连接模式:这种方式将所有输入按顺序串行连接起来组成新的数组,新数组不增加维数,它的维数与输入端中维数最高的数组相同。比如输入端连接的是一维数组和元素,那么B

7、uild Array函数就将元素连接到一维数组的最后位置形成一个新的一维数组,新数组维数不增加。 扩展模式:这种方式将所有输入按顺序并行连接组成新的数组,新数组维数提高一级,比所有输入数组的维数都高一维。这种模式要求所有输入的数组必须是同维数组。比如,输入端连接的是一维数组和一维数组,那么经Build Array函数扩展后形成一个二维数组,数组维数增加一维。,图示说明连接模式,图示说明扩展模式,模式设置方法,在Build Array函数上点击右键,在弹出菜单中点击“Concatenate Inputs”菜单项可以在两种模式间切换。该项前打钩表示连接模式,没有打钩标识扩展模式。,Build Ar

8、ray函数用法演示,Array Subset(提取子数组函数),功能:返回以index为起始的length长的子数组。 图标,Array Subset,端口 输入端array:任意类型的n维数组,它是“母数组”。 输入端index:起始索引,必须为数值型,index小于0当0对待,index大于等于母数组长度,该函数返回一个空数组。 输入端length:欲取的子数组长度,必须为数值型。如果index+length超过母数组的长度,该函数返回从index开始到母数组尾端的所有元素。 输出端subarray:函数返回的子数组。 特别提示 该函数也是一个端口可扩展的函数,它根据array输入端上连接

9、的数组的维数自动增减index和length端口。,用法图示,Index Array(索引数组函数),功能:返回索引为index的数组元素 图标,Index Array(续),端口 输入端n-dimension array :任意类型的n维数组 输入端index 0n-1:欲取元素的索引值,数值型。Index端口的数量与array输入端上连接的数组的维数是对应的。 输出端element or subarray :取出的元素或子数组。 该函数也是端口可扩展的多态函数,根据连接到array输入端上的数组的维数,它会自动增减index端口的数量。 该函数既可以从数组中提取单个元素,也可以从数组中提取

10、子数组。只需让某维的index端口悬空,就可以从数组中提取出整行或整列的数据。,用法图示,练习六 数组函数的应用,目标:分别用for循环和Initialize Array函数创建两个43的数组,然后用Build Array函数将这两个数组分别连接和扩展为二维数组和三维数组,再用Index Array函数提取所生成三维数组的第1页第2行的子数组,并用Array Size函数显示该子数组的大小,然后利用Array Subset函数提取出该数组的最后两个元素。 要求:for循环的数组元素为0到100间的随机数组成;初始化数组的元素为66。 分析:细心体会各个函数的具体用法,第十三讲 簇、字符串及其函

11、数,簇的基本概念 簇的创建方法 簇函数 字符串的基本概念 字符串函数,簇的基本概念(Clusters),簇是一种特殊的数据类型,是多种类型(如数值型、字符串型、数组,簇)数据的集合。 簇元素可以是任意类型的数据。但是有一点必须注意的是簇元素要么都是控制量,要么都是显示量,二者只可择其一。 与 C语言的 struct 类似 就像将多种电线打包成一条电缆,创建簇的方法,创建簇的方法与创建数组的方法一样,二者的位置也相同 位置: Controls All Controls Array & Cluster,1.选择 一个簇外壳,2. 在外壳中放置对象,簇的序(Order),簇的元素是有序的,每个元素都

12、有一个序号。但是簇元素的序与它的位置无关。 簇元素的序是按照元素放到簇外壳中的先后顺序排列的。最先放入的元素,序为0,第二个放入的,序为1,依此类推。如果删除了一个元素,序号将自动调整。 两个簇相连,除了这两个簇每个元素的类型必须一致之外,元素的序也必须一致。 如果想改变簇内元素的序,可在右键菜单中选择Reorder Controls in Cluster项,这时会出现一个窗口,在该窗口内可以修改序。,簇函数,位置: FunctionsAll functions Cluster,簇函数,簇常量,簇与数组转换函数,Bundle函数(绑定函数),功能:将element端口上连接的元素打包成一个新的

13、簇,或用element端口上连接的元素重置cluster端口连接的簇中的元素。 输入端口 cluster:连接需要重置元素的簇。 element 0n-1:连接欲打包或用于重置的元素。,图标,输出端口 Output cluster:输出簇,Bundle用法图示,端口的标签反映了元素的类型,Unbundle 函数(分解函数),功能:将一个簇分解为若干分离的元素。它是Bundle的逆过程。 图标 输入端口 cluster:连接要分解的簇 输出端口 Element 0n-1:被分解出来的簇元素,Unbundle用法图示,Bundle(Unbundle) By Name函数,除了Bundle和Unbu

14、ndle这对函数外,LabVIEW还提供了功能相似的一对函数 Bundle By Name和 Unbundle By Name。它们允许根据元素的名称(而不是其位置)来查询元素。 它们的主要用途就在于当我们不需要打包或分解整个簇,而只需对其中一两个元素操作时,我们可以按元素名称来打包与分解簇。 与Bundle不同,使用Bundle By Name只能重置一个已经存在的簇的元素但不能创建新簇。 Unbundle By Name可返回指定名称的簇元素,不必考虑簇的序和大小。,簇函数演示,错误簇(Error Clusters),作用:在节点之间传递错误信息。 错误簇有两个:error in和erro

15、r out,前者为控制量,后者为显示量。 两个错误簇都包括下列元素: Status:逻辑型,用来报告是否出现错误,TRUE为有错 Code:整型, 报告错误代码。 Source :字符串型,表示错误信息,错误处理技术,错误信息从一个VI传递到下一个VI 如果一个VI出现错误, 后续的所有VI都不会执行 错误群包含了所有错误信息,error clusters,字符串的基本概念,字符串是一串ASCII码字符的集合。ASCII码字符包括大小写英文字母、09数字以及换行符、回车符等,它们占用一个字节的空间。汉字也是一种字符,但是一个汉字占用两个字节。 字符串控制器和显示器的位置分别是: Control

16、s Text Control 和 Text Indicator或者Controls All Controls string & path 。,字符串control和indicator,正常显示,“”代码显示,密码显示,十六进制数显示,control,多行显示,带滚动条显示,indicator,control,indicator,字符串函数,字符串函数主要用于完成字符串的连接、替换、查找、大小写转换,以及与其他类型之间的相互转换等操作。 位置:FunctionsAll FunctionsString,字符串函数模板,字符串常量,字符串/数组/路径转换函数,数字/字符串转换函数,附加字符串函数,常用字符串函数,字符串EXPRESS VI,String Length (字符串长度函数),功能:计算字符串的长度。 图标 输入端口 String:输入的字符串 输出端口 Length:该字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号