版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(优选)工程实践自编讲义第六讲第一页,共五十八页。2.数组的创建
从前面板上创建数组:打开前面板,在控件→新式→数组,矩阵与簇→数组,如图。
第二页,共五十八页。再在里面放置一个数值输入控件即可,如图:第三页,共五十八页。如果要显示更多的数组成员,在工具选项板上选择定位工具,在数组的边框停滞,当出现网状拐角后就可以拖动增加或减少显示区域。如图:如果要增加或减少数组的维数,可以在索引框的快捷菜单上执行,如图:第四页,共五十八页。增加后如图:对于二维数组来说,索引框中上一个为行索引,下一个为列索引。第五页,共五十八页。2.程序框图上创建数组:在程序框图上创建数组和在前面板上创建数组有点类似,也首先创建一个外壳,然后再放入数值型常量,枚举或环形常量,字符串型常量以及布尔型常量等。刚刚放入常量后,所有的数组成员显示为灰色,可以用操作工具依次给它们赋值,赋值范围以外的数组成员保持灰色不变。如果跳过一些数组成员给后面的成员赋值,则前面的成员自动赋一个系统默认的值。
先在程序框图上放置一个数组常量,位于函数→编程→数组→数组常量,如图:第六页,共五十八页。然后再往里放入一个数值常量,完成后如图:第七页,共五十八页。6.1.2数组函数
对一个数组进行操作,无非是求数组的长度、取出数组中的元素、替换数组中的元素或初始化数组等各种运算。第八页,共五十八页。1.数组大小—ArraySize函数
返回输入数组中的元素个数。第九页,共五十八页。2.索引数组—IndexArray函数
用于访问数组中的某个元素。下图显示了一个索引函数的例子,它用于访问数组中的第三个元素。第十页,共五十八页。将一个二维数组与IndexArray函数相连,IndexArray就会含2个索引端子。将一个三维数组与IndexArray函数相连,IndexArray就会含3个索引端子。余类推。
可以使用的索引端的符号是一个黑方快,被禁止使用的索引端(DisableIndexing)是一个空心的小方框。
第十一页,共五十八页。可以从一个三维数组中提取一个二维数组,方法是禁止两个索引端子,或者通过禁止一个索引端子提取一个一维数组。下图显示了从三维数组提取数组的各种方法。第十二页,共五十八页。3.数组子集—ArraySubset函数
选取数组或者矩阵的某个部分。第十三页,共五十八页。该函数可以返回从某个指针开始的部分数组,并包括了长度元素。下图显示了一些数组子集的例子,注意,数组索引从0开始。第十四页,共五十八页。4.替换数组元素—ReplaceArrayElement函数
替换数组中的某个元素。第十五页,共五十八页。5.改变数组维数—ReshapeArray函数
改变输入数组的维数。第十六页,共五十八页。6.初始化数组—InitializeArray函数
对数组进行初始化,数组中所有的元素相同。第十七页,共五十八页。7.建立数组—BuildArray函数
建立一个新数组的维数。第十八页,共五十八页。8.移位一维数组—Rotate1DArray函数
将一维数组的最后n各元素移至数组前面。第十九页,共五十八页。9.排序一维数组—Sort1DArray函数
将一维数组中的数据按升序排列。第二十页,共五十八页。10.颠倒一维数组—Reverse1DArray函数
将一维数组的元素前后颠倒。结合Sort1DArray函数,可实现降序排列。第二十一页,共五十八页。11.转置二维数组—Transpose2DArray函数
将二维数组进行转置输出。第二十二页,共五十八页。12.搜索一维数组—Search1DArray函数
搜索指定元素在一维数组中的位置。第二十三页,共五十八页。13.求数组的最大值和最小值—ArrayMax&Min函数
返回数组中的最大值和最小值,以及它们在数组中的位置。第二十四页,共五十八页。14.截断一维数组—Split1DArray函数
将一维数组在指定位置截断,分成两个一维数组。当索引位置小于0时,第一个子数组为空;当索引位置大于数组长度时,第二个子数组为空;第二十五页,共五十八页。15.一维数组的插值—Interpolate1DArray函数
根据给定的小数索引值,确定对应的数组元素值。第二十六页,共五十八页。16.一维数组的阈值—Threshold1DArray函数
是线性插值的逆过程,根据给定的数值,确定对应的索引值。第二十七页,共五十八页。17.插入一维数组—Interleave1DArray函数
将输入端口的一维数组插入到输出的一维数组中。插入的顺序为:按从上到下的原则,依次取出输入数组的第0各元素,放入输出数组中;然后是第1各元素,依此类推。第二十八页,共五十八页。18.拆分一维数组—Decimate1DArray函数
是插入一维数组—Interleave1DArray函数的反运算。将输入的一维数组拆分为多个一维数组。拆分原则:第1个子数组:元素为输入数组的0,n,2n,3n,…
第2个子数组:元素为输入数组的0,n+1,2n+1,3n+1,…
第3个子数组:依此类推。
第二十九页,共五十八页。第三十页,共五十八页。例一:设计步骤如下:创建一个For循环,循环次数定为100次在数学函数中调用Sinc函数,重复端子作为输入,输出用一个波形图表和一个数组显示。如图:第三十一页,共五十八页。例二:创建一个二维数组第三十二页,共五十八页。现在已经有两组一维数组了,可以使用创建数组函数就可以把他们创建为二维数组,在一个波形图中显示,如图:第三十三页,共五十八页。可以用鼠标对该函数进行拉伸操作,即可有两个输入端子了。程序框图如图:第三十四页,共五十八页。前面板运行结果如图:第三十五页,共五十八页。例三:初始化和分离数组:利用For循环的自动索引功能从一个输入数组中依次抽取各个元素,如果是大于0的数则添加到正数数组,如果是小于0的则添加到负数数组。并分别计算两个数组中各自有多少个元素。如图所示便是程序框图第三十六页,共五十八页。下图是在选择结构中为“假”时的情景第三十七页,共五十八页。其中一共用到了三个数组函数,一个初始化函数,一个创建函数,一个数组大小函数,运行时前面板如图:第三十八页,共五十八页。6.1.3数组的特点
1.LabVIEW会自动确定数组长度,最多可达(231-1)个元素。。
2.数组中元素的数据类型必须相同。第三十九页,共五十八页。6.2簇
簇是LabVIEW中一个比较特别的数据类型,它可以将几种不同的数据类型集中到一个单元中形成一个整体。
如有关一个学生的信息有:学号、姓名、性别、年龄、成绩和家庭地址等。如将这些项目分别定义为相互独立的简单变量,不能反映它们之间的内在联系。而应当把它们组合成一个组合项,这种数据结构就是簇。
上述数据的C语言结构描述:上述数据的LabVIEW结构描述:
structstudent
{intnum;
charname[20];
charsex;
intage;
floatscore;
charaddr[30];
}第四十页,共五十八页。簇是一种类似数组的数据结构,用于分组数据。簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。例如,一个数组可以包含10个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。尽管簇和数组的元素都是有序存放的,但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素,而不是通过索引一次访问一个元素。簇和数组的另一个差别是簇具有固定的大小。
簇通常用于将出现在框图上的有关数据元素分组管理。因为簇在框图中仅用唯一的连线表示,所以对于减少连线混乱和子VI需要的连接器端子个数,使用簇有着积极的效果。可以将簇看做是一捆连线,线缆中每一个连线表示簇的不同元素。在框图上,只有当簇具有相同类型,相同元素数量和相同元素顺序时,才可以将簇的子端连接。
第四十一页,共五十八页。6.2.1簇的创建
簇的创建框位于前面板中的控件→新式→数组,矩阵和簇→簇。第四十二页,共五十八页。然后就可以往簇的框中添加各种类型的控件了,例如现在要建立一个学生的记录信息,包括学生的姓名,学号,性别和年龄.这就需要在簇外壳里依次放入两个字符串输入控件,一个数字控件和一个布尔控件.如图:第四十三页,共五十八页。与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳里放置各种数据类型常数。如图:簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图:
第四十四页,共五十八页。选择调整为匹配大小,即可缩小簇的边框,如图为调整后的结果:簇结构中的元素排列是按照它们放置的先后来排序的,它与簇内元素的位置无关。放入簇内的第一个元素序号为0,第二个元素序号是1,依次向下排列。如果删除了一个元素,序号将重新自动调整。簇的排序很重要,它直接影响着后面将要介绍的“捆绑”以及“接触捆绑”函数的端口顺序,如果要将一个簇与另一个簇连接,这两个簇的序和类型必须相同。
第四十五页,共五十八页。如果想要改变簇内元素的排列顺序,可以右击簇结构的边框,在弹出的快捷菜单中执行“重新排序簇中控件”,如图:第四十六页,共五十八页。这时鼠标会变成一个带“#”号的手柄箭头,黑框指出新设置的排列序号,白框表示原先的排列序号,可以改变标题栏上的“单击设置”内容,然后单击簇元素即可设置新的序号。设置完毕后单击工具栏上的“”按钮确定更改,如果想恢复原先设定值,单击“”取消设置。
6.2.2簇函数
簇函数,主要是访问簇中的各个元素,或由不同类型但相互关联的数据组成簇。簇函数的模版如图:第四十七页,共五十八页。簇函数中最主要的就是构造打包生成簇的“捆绑”函数,还有从簇中解包提取簇中元素的“解除捆绑”函数。它们是根据簇成员的顺序来进行操作的,这也说明了簇内成员顺序排列的重要性。例1.创建簇,解包簇,再打包簇该例的目的是学习使用簇的两个基本函数,如图:首先放置一个簇外壳到前面板上,将标签内容改为“输入簇”簇函数举例:第四十八页,共五十八页。在簇外壳中依次放入字符串控件“Name”,布尔控件“Sex”,数字输入控件“Pay”以及字符串控件“Address”,通过这些簇元素来组成某一公司内一名员工的工资记录。如图:切换到程序框图,放置一个“解除捆绑”解包簇函数,函数刚放入时,它的右侧只有2个输出端口,当输入端口与“输入簇”端子相连后,右侧端口会自动增加为簇元素的数目,端口从上向下排列的顺序与簇内元素的放置顺序相对应,并且数据类型也是与簇元素数据类型相对应。如图:第四十九页,共五十八页。同样放置一个“捆绑”打包簇函数,用定位工具将输入端口的数目增加到4个,依次将它们与解包出来的4个簇元素相连,表示又把它们进行打包生成一个新的簇。在输出端口创建一个簇显示器,把标签改为“输出簇”,如图:
第五十页,共五十八页。例2.替换簇成员该例的目的是学习使用“按名称捆绑”
函数来替换簇内的某些元素。
1.新建一个VI,在前面板上创建一个簇外壳,依次向簇内添加一个数字输入控件,一个布尔控件,一个字符串输入控件,如图:
第五十一页,共五十八页。2.打开程序框图,选择“按名称捆绑”函数,它的功能是按照名称来替换簇成员的值。在函数刚放入时,它的左侧只有一个输入端口,将函数的“输入簇”端口与创建的簇端子相连之后,左侧端口会显示簇内第一个元素的名称数值,用操作工具单击它可以选择其他的簇成员。如图:第五十二页,共五十八页。3.在前面板上创建一个输入控件,将标签改为“输入数字”,在程序框图将它与“数值”端口相连,表示将用它来替换簇元素。如图:第五十三页,共五十八页。4.在“按名称捆绑”函数后面创建输出簇,完成后即可运行程序,如图:
第五十四页,共五十八页。例3.插接生成簇数组该例的目的是学习使用“索引与捆绑簇数组”
函数插接簇数组函数来生成一个簇数组。
1.新建一个VI,打开程序框图,放置一个该函数,刚放入时它只有一个输入的端口,用定位工具拖拉它为3个输入端口。2.在程序框图上放置三个数组外壳,然后分别添加字符串常量,数值常量和布尔常量,建立三个数组,如图:然后给他们赋如图所示的值,如图:第五十五页,共五十八页。然后连线,并创建显示控件,如图:运行,结果如图:说明:该函数从输入的3个数组中依次取值,相同索引值的数据被攒成一个簇,所有的簇构成一个一维数组。插接成的数组的长度与所有输入数组中长度最短的一个相等,多余的数据被丢弃。第五十六页,共五十八页。4.建立“数组的数组”学习把一维数组当成一个簇,然后通过建立簇的数组,因为簇数组的每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 攀岩指导员安全宣贯能力考核试卷含答案
- 海洋浮标工安全实操知识考核试卷含答案
- 炭素制品工岗前基础验收考核试卷含答案
- 2025吉林长春新区高新开发区面向社会公开招聘“社工岗”普通工作人员18人备考题库附答案
- 2025年上海立信会计金融学院辅导员考试参考题库附答案
- 机械密封件制造工岗前工作实操考核试卷含答案
- 生活燃煤供应工安全应急考核试卷含答案
- 矿井泵工诚信道德竞赛考核试卷含答案
- 温差电器件制造工安全防护考核试卷含答案
- 2024年湖北医药学院辅导员招聘考试真题汇编附答案
- 急性心肌梗死后心律失常护理课件
- 产品供货方案、售后服务方案
- 十八而志梦想以行+活动设计 高三下学期成人礼主题班会
- 2023年上海华东理工大学机械与动力工程学院教师岗位招聘笔试试题及答案
- TOC供应链物流管理精益化培训教材PPT课件讲义
- 医院18类常用急救药品规格清单
- 放弃公开遴选公务员面试资格声明
- 2023-2024学年江苏省海门市小学语文五年级期末点睛提升提分卷
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- 北京城市旅游故宫红色中国风PPT模板
- DB42T1319-2021绿色建筑设计与工程验收标准
评论
0/150
提交评论