我们在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. [swift]初始化方法自己主动继承

    子类默认不会继承父类的初始化方法,然而,假设某种条件满足的话.父类的初始化方法还是能够继承给子类.在通常情况下,这意味着你不必复写父类的初始化方法.在安全的前提下能够以最低的代价继承父类的初始化方法. ...

  2. 史上最全的CDN内容分发网络实战技巧(网络优化)

    今天来给大家分享下关于 CDN 的东西,以及我自己的一些发现.一些个人的拙见.总共分为 3 个部分:原理.详解.各种坑. 首先说一下 CDN 的基本原理部分,主要分 4 块来描述:CDN 的由来.调度 ...

  3. [转帖]cocos2D-X源码分析之从cocos2D-X学习OpenGL(3)----BATCH_COMMAND

    原贴: cocos2D-X源码分析之从cocos2D-X学习OpenGL(3)----BATCH_COMMAND 上一篇介绍了QUAD_COMMAND渲染命令,顺带介绍了VAO和VBO,这一篇介绍批处 ...

  4. [转帖]Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库

    转自 http://www.cocoachina.com/bbs/read.php?tid=194668 前天, 在CocoaChina 2014春季大会上, 激动人心的Cocos2d-x 3.0和C ...

  5. 关于MySQL字符集问题:Specified key was too long; max key length is 767 bytes

    [文章来源]http://blog.csdn.net/cindy9902/article/details/6215769 MySQL: ERROR 1071 (42000): Specified ke ...

  6. 对于火狐浏览器中title不能换行自动变成...怎么解决的?

    width: 100px; overflow: hidden; white-space: nowrap; word-break: keep-all; text-overflow: ellipsis;

  7. 又谈C++指针(1)

    写在前面的话:虽然这段代码中对于指针的使用是不正确的,但是我却在这个不正确的代码中发现了另一个错误,而且深感迷惑,所以打算将此博文推到首页,请各位帮忙回答个问题. 在项目中用到了以下一段代码,执行结果 ...

  8. js添加收藏夹

    <a href="JavaScript:window.external.AddFavorite('http://baidu.com','百度')"> 添加到收藏夹 &l ...

  9. Filter详解

    转自 http://blog.csdn.net/yudaoai/article/details/4231333 filter功能.它使用户可以改变一个 request和修改一个response. Fi ...

  10. LocationActivity

    package com.baidu.location.demo; import com.baidu.baidulocationdemo.R;import com.baidu.location.BDLo ...