第5章数组、簇和曲线图形第5讲学习目标学习如何创建和初始化数组建立自动索引概念学习常用数组函数建立多态性的概念学习簇的创建及簇函数的使用学习波形Graph图形显示特性通过实例学习Graphs数据类型组织方法5.1数组数组是相同类型数据元素的有序集合。1.23.28.06.04.801234index5个元素数组创建数组的方法:前面板创建各种数组控件;框图程序窗口创建数组常量;利用循环结构的自动索引功能创建数组5.1.1创建数组一.在前面板创建数组控件(1)放置数组框(2)定义数组类型数组元素的显示多维数组创建方法(2种)数组初始化数组元素尚未定义数组元素赋值与显示二.在框图创建数组常量常数数组空壳布尔常数数组三.其它创建数组方法使用函数产生数组:5.1.2利用循环的自动索引功能创建数组什么是自动索引?ForLoop和WhileLoop结构都可以在它们的边界自动索引数组或积聚数组,这一汇集数据的能力称为自动索引。例5.1.1利用ForLoop创建一维数组。例5.1.2利用ForLoop创建二维数组例5.1.3利用自动索引计算数组元素的平方和当把数组传送到一个自动索引有效的For循环中,LabVIEW将自动把循环次数设置为数组长度,这样就可以不再需要把循环次数连接到For循环的计数端子N上注意1.对于ForLoop结构的每一个数组,其缺省为自动索引使能,相反接入WhileLoop结构的每一个数组,其缺省值为关闭自动索引。2.决定For循环次数的是数组的长度而不是N,这是因为数组的长度比N小。5.1.3数组函数数组函数选项板1.ArraySize(数组大小)函数2.InitializeArray(初始化数组)3.BuildArray(构建数组)函数例5.16BuildArray函数的使用。输出一个新数组若在函数弹出菜单选择ConcatenateInputs项,则函数会将两个数组按输入顺序合并成一个一维数组输出输出二维数组输出一维数组4.ArraySubset(数组子集)函数该函数返回数组中从Index开始的长度为length的部分数组元素。例5.17ArraySubset函数的使用。5.IndexArray(索引数组)函数用于访问数组中指定位置的元素使用索引数组从数组中提取一行或一列ArrayIndex函数即可从数组中抽取一个标量元素。也可用于从一个二维数组中抽取一行或一列来产生一个原数组的子数组。5.1.4函数的多态性(Polymorphism)概念多态性是指函数可以接受不同类型、不同维数或不同表示法的输入数据的能力。大多数G语言函数都是多态化的。Add函数的多态组合5.2簇(Clusters)什么是簇?簇是由不同类型的数据元素组成的一种数据类型。5.2.1簇的创建(a)混合簇控制件(b)混合簇指示器(c)数值型簇控制件a.混合簇控制端点b.混合簇指示端点c.数值型控制簇在程序框图中的端点图标注意在一个簇对象中,簇元素只能同为控制件或指示件,不能同时包含两种。一个簇是控制簇还是指示簇,取决于放进簇中的第一个元素。簇控件和簇指示器的转换5.2.2簇函数1.Unbundle(解捆)函数例5.2.1将一个簇中的各个元素值分别取出。2.Bundle(捆绑)函数例5.2.2Bundle函数的使用。例5.2.3修改簇中某些元素的值。5.3曲线图显示件5.3.1WaveformGraph控件WaveformGraph菜单选项图形光标5.3.2WaveformGraph数据类型一。单曲线图形显示(WaveformGraph可接收两种数据类型)二.多曲线图形显示5.3.3XYGraph一.单曲线数据类型XY数据类型(一)XY数据类型(二)二.多曲线数据数据类型XY双曲线图形显示5.4练习5.4.1练习使用自动索引功能创建数组。目标:利用ForLoop自动索引特性创建一个数组,并在waveformgraph上显示该数组波形。5.4.2练习使用Graph和分析VI练习目的:创建一个VI,用于实时测量和显示温度,同时显示温度的最大值、最小值和平均值。本章小结1.数组是相同类型的数据元素的集合,可创建数值型、布尔型、字符串型或簇数组。2.可在前面板和框图程序中创建一个数组,创建数组包括建立数组框和定义数组类型两个步骤。若定义一个数组类型控制件,还需使用操作工具对索引元素进行赋值。3.数组元素索引(下标)从0开始,若数组元素个数为N,则最大索引为N-1。4.框图中常常利用循环的自动索引功能,创建数组。在默认状态下,For循环自动索引有效,而While循环自动索引无效。5.簇是相同或不同类型的数据的集合,Bundle函数将时间参数X0、ΔX和Y值数组捆绑成簇,送波形Graph,可准确地显示波形随时间变化的规律。Unbundle将簇中元素解包,可一次访问所有元素。6.波形Graph以数组方式接收数据,可用BuildArray函数在波形Graph上显示多条曲线。