学习LabVIEW(八)——用循环处理数组

测试测量 时间:2017-01-09来源:网络
LabVIEW的G语言中,循环表现为一个框框。数据进入循环会有一个所谓的“隧道”,数据离开循环也要经过“隧道”。隧道的表现形式为循环框上的一个小方块。而隧道还可以配置为不同的模式,如下图所示:

从上图看以看出,隧道有三种模式:最终值、索引、连接。配置不同的隧道模式,可以让循环拥有不同的功能。索引模式的隧道表现为循环框上一个里面有一对中括号[]的小方框,最终值模式的隧道表现为实心的小方框。
索引模式有什么用呢?
这次我们用循环实现了一个Mandelbrot图形的计算。在《xialulee大战pythonchallenge——level31》中,我们用Matlab实现了计算过程。这里我们利用LabVIEW的G语言实现其核心的迭代算法,至于初始数据的构造,还是偷懒使用了MATLAB节点。完整的程序如下:

上图的程序中,算法部分嵌套了三层循环。最外层的循环用来把输入的初始矩阵拆成一个一个的1D数组,中层的循环用来把1D数组拆成一个一个的标量,在最内层则是迭代算法,实现的计算如下所示:
z = 0
for k in range(128):
z = z * z + input
if abs(z) > 2:
break
然后输出k。
算法中的迭代表达式(z = z * z + input)是用移位寄存器实现的,就是循环框上面分立左右的两个带有小三角形的方框。
程序的数据流的终点是一个强度图控件。下面是程序运行的结果:

关键词: LabVIEW循环处理数

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版