




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,6.1 数组 数组是LabVIEW常用的数据类型之一。一个数组可以是一维或者多维,如果必要,每维最多可有2311个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n-1。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。 6.1.1 数组的组成与创建 1.数组的组成 由索引、数据和数据 类型构成。其中数据 类型隐含在数据中。,第六讲 数组、簇,2. 数组的创建从前面板上创建数组:打开前面板,在控件新式数组,矩阵与簇数组,如图。,再在里面放置一个数值输入控件即可,如图:,如果要显示更多的数组成员,在工具选项板上选择定位工具,在数组的边框停滞,当出现网状拐角后就可以拖动增加
2、或减少显示区域。如图:,如果要增加或减少数组的维数,可以在索引框的快捷菜单上执行,如图:,增加后如图:,对于二维数组来说,索引框中上一个为行索引,下一个为列索引。,2程序框图上创建数组:在程序框图上创建数组和在前面板上创建数组有点类似,也首先创建一个外壳,然后再放入数值型常量,枚举或环形常量,字符串型常量以及布尔型常量等。刚刚放入常量后,所有的数组成员显示为灰色,可以用操作工具依次给它们赋值,赋值范围以外的数组成员保持灰色不变。如果跳过一些数组成员给后面的成员赋值,则前面的成员自动赋一个系统默认的值。,先在程序框图上放置一个数组常量,位于函数编程数组数组常量,如图:,然后再往里放入一个数值常量
3、,完成后如图:,6.1.2数组函数 对一个数组进行操作,无非是求数组的长度、取出数组中的元素、替换数组中的元素或初始化数组等各种运算。,1.数组大小Array Size函数 返回输入数组中的元素个数。,2.索引数组 Index Array函数 用于访问数组中的某个元素。,下图显示了一个索引函数的例子,它用于访问数组中的第三个元素。,将一个二维数组与Index Array函数相连,Index Array就会含2个索引端子。将一个三维数组与Index Array函数相连,Index Array就会含3个索引端子。余类推。 可以使用的索引端的符号是一个黑方快,被禁止使用的索引端(Disable In
4、dexing)是一个空心的小方框。,可以从一个三维数组中提取一个二维数组,方法是禁止两个索引端子,或者通过禁止一个索引端子提取一个一维数组。下图显示了从三维数组提取数组的各种方法。,3.数组子集Array Subset函数 选取数组或者矩阵的某个部分。,该函数可以返回从某个指针开始的部分数组,并包括了长度元素。下图显示了一些数组子集的例子,注意,数组索引从0开始。,4.替换数组元素Replace Array Element函数 替换数组中的某个元素。,5.改变数组维数Reshape Array函数 改变输入数组的维数。,6.初始化数组Initialize Array函数 对数组进行初始化,数组
5、中所有的元素相同。,7.建立数组Build Array函数 建立一个新数组的维数。,8.移位一维数组Rotate 1D Array函数 将一维数组的最后n各元素移至数组前面。,9.排序一维数组Sort 1D Array函数 将一维数组中的数据按升序排列。,10.颠倒一维数组Reverse 1D Array函数 将一维数组的元素前后颠倒。结合Sort 1D Array函数,可实现降序排列。,11.转置二维数组Transpose 2D Array函数 将二维数组进行转置输出。,12.搜索一维数组Search 1D Array函数 搜索指定元素在一维数组中的位置。,13.求数组的最大值和最小值Arr
6、ay Max char name20; char sex; int age; float score; char addr30; ,簇是一种类似数组的数据结构,用于分组数据。簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。例如,一个数组可以包含10个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。 尽管簇和数组的元素都是有序存放的,但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素,而不是通过索引一次访问一个元素。簇和数组的另一个差别是簇具有固定的大小。,簇通常用于将出现在框图上的有关数据元素分组管理。因为簇在
7、框图中仅用唯一的连线表示,所以对于减少连线混乱和子VI需要的连接器端子个数,使用簇有着积极的效果。可以将簇看做是一捆连线,线缆中每一个连线表示簇的不同元素。在框图上,只有当簇具有相同类型,相同元素数量和相同元素顺序时,才可以将簇的子端连接。,6.2.1 簇的创建 簇的创建框位于前面板中的控件新式数组,矩阵和簇簇。,然后就可以往簇的框中添加各种类型的控件了,例如现在要建立一个学生的记录信息,包括学生的姓名,学号,性别和年龄.这就需要在簇外壳里依次放入两个字符串输入控件,一个数字控件和一个布尔控件.如图:,与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳
8、里放置各种数据类型常数。如图:,簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图:,选择调整为匹配大小,即可缩小簇的边框,如图为调整后的结果:,簇结构中的元素排列是按照它们放置的先后来排序的,它与簇内元素的位置无关。放入簇内的第一个元素序号为0,第二个元素序号是1,依次向下排列。如果删除了一个元素,序号将重新自动调整。簇的排序很重要,它直接影响着后面将要介绍的“捆绑”以及“接触捆绑”函数的端口顺序,如果要将一个簇与另一个簇连接,这两个簇的序和类型必须相同。,如果想要改变簇内元素的排列顺序,可以右击簇结构的边框,在弹出的快捷菜单中执行“重新排序簇中控件”,如图
9、:,这时鼠标会变成一个带“”号的手柄箭头,黑框指出新设置的排列序号,白框表示原先的排列序号,可以改变标题栏上的“单击设置”内容,然后单击簇元素即可设置新的序号。设置完毕后单击工具栏上的“ ”按钮确定更改,如果想恢复原先设定值,单击“ ”取消设置。,6.2.2 簇函数 簇函数,主要是访问簇中的各个元素,或由不同类型但相互关联的数据组成簇。,簇函数的模版如图:,簇函数中最主要的就是构造打包生成簇的“捆绑”函数,还有从簇中解包提取簇中元素的“解除捆绑”函数。它们是根据簇成员的顺序来进行操作的,这也说明了簇内成员顺序排列的重要性。,例1. 创建簇,解包簇,再打包簇 该例的目的是学习使用簇的两个基本函数
10、,如图:首先放置一个簇外壳到前面板上,将标签内容改为“输入簇”,簇函数举例:,在簇外壳中依次放入字符串控件“Name”,布尔控件“Sex”,数字输入控件“Pay”以及字符串控件“Address”,通过这些簇元素来组成某一公司内一名员工的工资记录。如图:,切换到程序框图,放置一个“解除捆绑”解包簇函数,函数刚放入时,它的右侧只有2个输出端口,当输入端口与“输入簇”端子相连后,右侧端口会自动增加为簇元素的数目,端口从上向下排列的顺序与簇内元素的放置顺序相对应,并且数据类型也是与簇元素数据类型相对应。如图:,同样放置一个“捆绑”打包簇函数,用定位工具将输入端口的数目增加到4个,依次将它们与解包出来的
11、4个簇元素相连,表示又把它们进行打包生成一个新的簇。在输出端口创建一个簇显示器,把标签改为“输出簇”,如图:,例2. 替换簇成员,该例的目的是学习使用“按名称捆绑”,函数来替换簇内的某些元素。,1新建一个VI,在前面板上创建一个簇外壳,依次向簇内添加一个数字输入控件,一个布尔控件,一个字符串输入控件,如图:,2打开程序框图,选择“按名称捆绑”函数,它的功能是按照名称来替换簇成员的值。在函数刚放入时,它的左侧只有一个输入端口,将函数的“输入簇”端口与创建的簇端子相连之后,左侧端口会显示簇内第一个元素的名称数值,用操作工具单击它可以选择其他的簇成员。如图:,3在前面板上创建一个输入控件,将标签改为
12、“输入数字”,在程序框图将它与“数值”端口相连,表示将用它来替换簇元素。如图:,4在“按名称捆绑”函数后面创建输出簇,完成后即可运行程序,如图:,例3. 插接生成簇数组,该例的目的是学习使用“索引与捆绑簇数组”,函数插接簇数组函数来生成一个簇数组。,1新建一个VI,打开程序框图,放置一个该函数,刚放入时它只有一个输入的端口,用定位工具拖拉它为3个输入端口。 2在程序框图上放置三个数组外壳,然后分别添加字符串常量,数值常量和布尔常量,建立三个数组,如图:,然后给他们赋如图所示的值,如图:,然后连线,并创建显示控件,如图:,运行,结果如图:,说明:该函数从输入的3个数组中依次取值,相同索引值的数据
13、被攒成一个簇,所有的簇构成一个一维数组。插接成的数组的长度与所有输入数组中长度最短的一个相等,多余的数据被丢弃。,4. 建立“数组的数组”,学习把一维数组当成一个簇,然后通过建立簇的数组,因为簇数组的每一个成员都是一个簇(即一维数组),从而实现建立“数组的数组”的目的。,1先新建一个VI,打开程序框图,放置一个“创建簇数组”,函数,该函数的功能是建立簇的数组,簇数组的每个成员都是一个簇。刚放入程序框图时,函数只有一个输入端口,用定位工具拖动它的边框,使它具有3个输入端口。,2在程序框图上创建3个数值型数组,分别对它们进行赋值,第一个和第三个数组长度设定为5,第二个数组的长度设定为4。在“创建簇数组”函数的输出端口创建一个簇显示器,将簇显示器的标签内容改为“数组的数组”,如图:,3运行程序,即可在前面板上看到结果,如图:,4.4.3 簇的特点 1.簇操作通常按元素编号顺序进行,给元素编号是簇的一大特点,编号可调整。 2.簇的框架具有自动缩放功能,能根据簇中元素自动确定框架大小.,练习题 1.在程序的前面板上创建一个数值型控件,为它输入一个数值;把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋合同转让的协议书
- 私人财产抵押借款合同
- 二零二五房屋估价委托书
- 二零二五版债权担保书范文
- 劳务分包安全生产责任协议书二零二五年
- 二零二五版顾问协议书范例1500字
- 书画拍卖合同样本
- ktv接手转让合同样本
- 代付费用合同标准文本
- 企业带人租车合同样本
- 少儿美术课件- 9-12岁 素描班《感知力素描》
- 《强化学习理论与应用》深度强化学习概述
- zippo稀有品系列图鉴
- 优艺国际环保科技(新乡)有限公司新乡市医疗废物集中处理中心迁建扩能项目环境影响报告
- 经验萃取实战技术课件
- 医学女性盆腔肿瘤的影像学表现和鉴别专题课件
- 南汇区供排水一体化整合研究的任务书
- 23CG60 预制桩桩顶机械连接(螺丝紧固式)
- 小学道德与法治-【课堂实录】生活中处处有规则教学设计学情分析教材分析课后反思
- 军营相亲活动策划方案
- Python语言基础与应用学习通课后章节答案期末考试题库2023年
评论
0/150
提交评论