我们在LabVIEW里面使用While或者是For循环结构的时候,就会发现每一个循环中在它们的循环结构的边界都可以自动完成一个数组元素的索引或累积。LabVIEW中循环结构的这种能力就叫做自动索引(Auto-indexing)。

  不过有一点需要注意:LabVIEWFor循环中自动索引功能是默认启用的,而While循环中自动索引功能是默认关闭的。

  下图中就是一个使用For循环实现自动索引功能的例子:

  在这里我们可以看到,在For循环中,每次循环就创建了数组的一个元素,当整个循环结束之后,这个由随机数组成的数组就被传送到Array这个指示器中了。也就是说只有在循环结束之后才能访问到这些数组数据。在图中可以看到从循环结构边界到Array指示器控件之间的连线变粗了,表示这是一个数组类型的数据。

  如果你只想要把一个单一的变量从For循环中传送出来,那么你就需要在循环结构外框上的数据传输通道上面点击鼠标右键,并在弹出的菜单中选择Disable Indexing即可。如下图所示:

  不过,当关闭自动索引之后,从循环中传出的数值为其最后一次循环所产生的数值。这一点需要清楚。一般来说,自动索引会个初学者造成不小的困扰。

  当把数组连线进入循环结构的时候也可以使用自动索引的功能。如下图中左侧的框图所示,当自动索引功能启用后,循环结构的每次循环会自动索引输入数组的一个元素(从框图内外的连线也可以看出,从数组控件到循环结构之间的连线是较粗的,而通过自动索引之后就变细了)。如果如下图右侧所示,关闭自动索引功能,数组就是一股脑的输入到循环内部了。

使用自动索引设定循环结构的循环次数

  当启用自动索引并把一个数组输入到For循环之中的时候,LabVIEW会自动设定该循环的循环次数为该数组中元素的个数,这时就可以不用在For循环结构的循环次数输入端输入循环次数参数了。如果在启用自动索引时,在循环结构的循环次数输入端输入了某个特定设数值或者是同时输入两个长度不同的数组进入For循环结构,那么循环要执行的次数以输入数组长度与设定执行次数的最小值为准。
  如下图所示,数组长度为10,设定循环次数为25,最终执行则为10次:

LabVIEW中数组的自动索引的更多相关文章

  1. labview中的移位寄存器、循环隧道,自动索引隧道的区别

    对于循环结构(For 循环.while循环)而言,循环体内的数据域外部数据的传递是通过以下三种方式: 1.移位寄存器2.循环隧道3.自动索引隧道 第一.各自的区别.作用 循环隧道,就是把数据传入传出循 ...

  2. C#中使用IndexOf()判断字符串在字符串数组中第一次出现的索引位置

    ] {"}; "; //判断字符串的前几位在另一个字符串数组中第一次出现的索引位置 index = Array.IndexOf(s, s1.Substring(, ));

  3. JS中数组的操作[转]

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  4. C#中数组Array、ArrayList、泛型List<T>的比较

    在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...

  5. javascript中数组揭秘

    js中的数组很强大,不仅仅是一个数组,更是一个无所不能的集合. 创建 可以使用 数组字面量 方式创建: var arr = [] 或者 var arr = new Array() 添加元素 arr.p ...

  6. C#中数组、ArrayList和List三者的区别

    在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...

  7. JS中数组的操作

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  8. c语言中数组相关问题

    c语言中数组相关问题: 1.数组基本定义: 相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组 ...

  9. 私人定制javascript中数组小知识点(Only For Me)

    先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好, ...

随机推荐

  1. jeecg 定时任务配置用法

    方式一: 1.定时任务配置文件 src/main/resources/spring-mvc-timeTask.xml 2.新定义一个定时任务举例 a.配置定时任务,配置文件spring-mvc-tim ...

  2. 由于CentOS的系统安装了epel-release-latest-7.noarch.rpm 导致在使用yum命令时出现Error: xz compression not available问题

    由于CentOS6的系统安装了epel-release-latest-7.noarch.rpm 导致在使用yum命令时出现Error: xz compression not available问题.解 ...

  3. vim-snipmate编写snippet的语法

    vim-snipmate真的很好用,以前好多编写代码的问题得到完美的解决.还附带提升我对vim的理解和信心,在这里感谢一下作者.thank you. 1.现说一下我浓缩的重要语法. 1.定义是下面这样 ...

  4. 每日英语:Tech Firms Flock to Vietnam

    Opening up a Korean restaurant among the rice fields and limestone karsts north of Hanoi might seem ...

  5. spring报错:Caused by: java.lang.IllegalStateException: Cannot convert value of type for property : no matching editors or conversion strategy found

    原因分析:是因为类返回的类型跟期望的类型没有继承关系,返回的类型就SqlMapClient,它是通过实现了FactoryBean<SqlMapClient>接口的SqlMapClientF ...

  6. hdu4366 Successor

    好题.   可是感觉题目描写叙述不是非常清楚 这题仅仅是询问开除某人后,他的下属中谁会替代他的位置.不会更新这个位置 要求一个子树中忠诚度最高的人. 能够想到dfs树.保留时间戳.每一个节点便表示一个 ...

  7. xml选择节点方法

    1.选取某个节点 方法一:newNode = document.DocumentElement.SelectSingleNode("//student[@id='A103']"); ...

  8. 【Unity笔记】常见集合类System.Collections

    ArrayList:长度可变数组,不限定类型 ArrayList al = new ArrayList(); ↓ List:替代ArrayList,限定类型 List list = new List& ...

  9. [sz,rz]使用sz/rz在两台Linux设备之间传输数据

    转自:https://superuser.com/questions/604055/using-rz-and-sz-under-linux-shell zsend #!/bin/sh DEV=/dev ...

  10. Spring事件监听Demo

    Spring事件监听实现了观察者模式.本Demo在junit4测试环境中实现 主要有三个类事件类.监听器类.事件发布类(入口) 事件类必须继承 ApplicationEvent,代码如下: impor ...