电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据类型数组簇和波形

15页
  • 卖家[上传人]:汽***
  • 文档编号:485474069
  • 上传时间:2023-02-25
  • 文档格式:DOCX
  • 文档大小:461.90KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第三章数据类型:数组、簇和波形3.1 概述数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要,每维最多可有 231-1个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n - 1,其中n 是数组中元素的个数。图3-1所显示的是由数值构成的一维数组。注意第一个元素的索引 号为0,第二个是1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类 型必须一致。index0123456789110-elennerit arrayL23.20.28.04.85.16.01.02.51.7图3-1 数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言 中的stuct。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连 线的拥挤程度。减少子VI的连接端子的数量。波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型, 但非常实用。3.2 数组的创建及自动索引3.2.1 创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这 个壳中置入数组元素(数或字

      2、符串等)。如果需要用一个数组作为程序的数据源,可以选择FunctionsArrayArray Constant, 将它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是字符串常量。下图显示 了在数组框放入字符串常量数组的例子。左边是一个数组壳,中间的图上已经置入了字符串 元素,右边的图反映了数组的第。个元素为:”ABC”,后两个元素均为空。图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放 置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。这样就创建了一个 数值数组。也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。3.2.2 数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建 任何一种控制对象、常数对象和显示对象。数组元素不能是数组、图表或者图形。如果您想 查看一些数组的例子,请查看ExamplesGeneralarrays.llb

      3、中的例子。3.2.3 自动索引For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。这些功能 称为自动索引。在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边 框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。循环会对一 维数组中的标量元素,或者二维数组中的一维数组等编制索引。在输出通道也要执行同样的 工作一一数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。可以禁止这个 功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择 Disable Indexing。练习3-1创建一个自动索引的数组目的:使用For循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。前面板图3-2 练习3 1的面板1.2.3.4.5.6.打开一个新的前面板。选择ControlsArray & Cluster,在前面板中放置一个数组。设置它的标签为 Waveform Array。选择ControlsNumeric,在数组框中插入一个数字式显示

      4、对象。如右图所示。它用于显示数组的内容。选择ControlsGraph,在前面板中放置一个波形图。设置它的标签为Waveform Graph。隐藏图例和模板。用鼠标右键单击图形,并在快捷菜单中取消选中Y ScaleAutoscale Y,禁止自动坐标功能。7. 使用文本工具,把Y轴的范围改为-0.5到1.5。流程图8, 按照下图创建流程图。图3 2 练习3 1的流程图 由 FunctionsSelect a VI寻找 LabVIEWactivity 目录下的 期依Generate Waveform VI ,它的作用是返回波形中的某一点。这个VI 需要输入一个索引,我们将循环周期连接到这个输入。 注意Generate Waveform VI连出来的连线在循环边界变成一个数组| j |时会变粗,正是在这个边界处形成了一维数组。 For循环会自动累计边界内的数组。这种功能叫做自动索引。在这个例子中,连接到循环计数输入的数值常数令For循环创建了一个由100个元素组成的数组。 Bundle函数(FunctionsCluster)将图块中的各个组件组合成 也一个簇,在正确连接以前需要改变该函数的

      5、图标的大小。将移位工具 放在图标的左下角。变形工具会变成如左图所示,拖曳鼠标直到出现 第三个输入端子。 数值常数(FunctionsNumeric)三个数值常数用于设置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. 只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。如果输入的数比数组的元素个数大,那么显示器将变暗,表示您没有为该元素设置索引。如果需要一次查看多个元素,可以通过改变数组显示对象的大小来实 , 现。把定位工具放置在数组框的右下角。工具将变成右图所示的变形工 具。当工具变形时,用鼠标拖曳数组的右边或者下边。数组现在就可以按照元素 索引的上升顺序显示多个素,以某个与指定索引对应的元素开始,如下图所示。在前面的流程图中,您为波形图指定了初始的X值和delta X值。默认的X初始值 是0,d

      6、elta X值是1。这样,也可以把波形数组直接连接到波形图端子,而无需指定 初始的X值和delta X值,如图3 4所示。图3 4 练习3 1使用默认X及Delta X时简化后的流程图12. 按上图删除Bundle功能函数和它所连接的常数对象。方法是用移位工具选择该功 能函数和连接的常数对象,按下Delete。再选择EditRemove Bad Wires。按照 上图完成流程图的连线。13. 执行该VI。注意初始的X值是0,delta X值是1。多图区图形可以创建含有多条曲线的图形,方法是创建一个数组,用它来汇集传给单图区图形 的类型的数据元素。图3 5 练习3 1多图区图形的流程图14.按照上图创建流程图。正弦函数(FunctionsNumericTrigonometric)在这里,它用于在For循环中创建一个由数据点组成的数组,表示一个正弦 波周期。Pi 常数(FunctionsNumericAdditional Numeric Constants)Build Array (FunctionsArray) 在这里,它用于创建合适 的数据结构(一个二维数组),在波形图中绘制两条曲线。

      7、用 移位工具拖曳边角可以增大该函数的面积,创建两个输入端子。15. 返回前面板,执行该VI。注意同一个波形中的两个图区。默认情况下,它们的X初始值都是0,delta X初始值都是1。下图是该程序的运行结果(前面板未改动)。16. 把该 VI 保存为 LabVIEWActivity 目录中的 Graph Waveform Arrays.vi。17. 可以修改图形中的某个图区的外观。方法是,用鼠标右键单击这个图形,再从弹出 菜单选择对应的图例。ArrayWaveform GraphPlot 0图3 6练习3 1多图区图形的面板显示练习3 1结束。在上面这个例子中,由于计算端子连接了一个值为100的常数对象,所以For循环将 执行100次。下面这个例子显示了另外一种控制循环执行次数的方法。更详细的例子建议调阅 ExamplesFundamentalsGraphs and ChartsGraph Examples Waveform Graph 例子。练习32对输入数组使用自动索引功能目的:打开并执行一个VI,它将在一个For循环中使用自动索引功能处理一个数组。1. 选择 FileOpen,打开

      8、 ExamplesGeneralarrays.llb 中的 Separate Array Values VI 。2. 打开流程图。下面的示意图显示的是在TRUE和FALSE时的情况。图3 7 练习3 2的流程图注意,Input Array引出的连线与For循环外的粗线不同,表示这是一个数组,而循环内部 的细线则表示这是一个数组元素。数组元素在每个循环期间将自动编号。用自动索引功能设置For循环的计数器注意,计数器端子还没有连线。当您对某个进入For循环的数组使用自动索引功能时, 循环就将根据数组的大小执行相应的次数,这样就无需连接某个值到计数器的端口。如果对 一个以上的数组使用自动索引功能,或者在使用自动索引功能之外还需要设置计数器时,实 际的循环次数将是其中最小的数。3. 执行该VI。在输入的八个数中,可以看到4个属于正数数组,另外4个属于负数 数组。4. 从流程图中将一个值为5的常数对象连接到For循环的计数器端子。执行该VI。可以看到尽管输入数组仍然有八个元素,但是3个位于正数数组,另外2个位于负 数数组。这说明,如果设置了 N并开启了自动索引功能,那么实际循环的次数将取 较小的

      9、数。5. 关闭该VI,不要保存任何修改。注:练习3 2的算法说明下面是一段伪代码,解释上面的算法,假定输入数组为A (已赋值),B (正数)、 C (负数)。Sbr、Scr分别是与B数组、C数组对应的右寄存器数组,Sbl、Scl分别 是与B数组、C数组对应的左寄存器数组,size运算为测数组实际大小,ins运算为将 一个数插入数组中最左边的空位。B=0初始化C=0K=size(A(.)测A数组大小For i=0 to k-1P=A(i)取第I个元素值if p=0 thenIns p,Sbr将p值插入右寄存器ElseIns p,Scrend ifSbl=Sbr右寄存器值送给左寄存器Scl=ScrNext iB=Sbr右寄存器值送到正数组C=ScrPrint B显示Print CEnd3.3 数组功能函数LabVIEW提供了很多用于操作数组的功能函数,位于FunctionsArray中。其中包括 Replace Array Element, Search 1D Array、Sort 1D Array、Reverse 1D Array 和 Multiply Array Elements 等等。 创建数组Build Array函数(FunctionsArray),用于根据标量值

      《数据类型数组簇和波形》由会员汽***分享,可在线阅读,更多相关《数据类型数组簇和波形》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.