微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 学习LabVIEW(五)——反馈节点与迭代运算

学习LabVIEW(五)——反馈节点与迭代运算

时间:01-09 来源:互联网 点击:
有时候我们需要执行如下的迭代运算
x = init();
for i in range(30):
x = f(x)
print x

我想了想,这种运算在G语言中大概可以利用反馈节点来实现。反馈节点的基本用法很简单,把一个运算节点的输出端通过反馈节点连到输入端即可实现一个基本的迭代过程。
迭代运算是一种非常常见的运算。比如之前在《学习LabVIEW(四)——MATLAB script节点》中提到的look and say序列,就可以利用迭代的方式,由序列的第一个元素出发,经过n次迭代,得到第n 1个元素的取值。著名的Python Challenge的Level10的通关口令正是look and say序列第31个元素所包含的数字的个数。之前我们是用Python来做的,见《xialulee大战pythonchallenge——level10》。现在有了feedback节点,我们也可以在LabVIEW中完成计算了。

xialulee大战pythonchallenge——level10(续):用LabVIEW Matlab通关

这里使用迭代的方式计算look and say的元素,每一次迭代所使用的算法和之前一样,是《快使用sort-diff-find组合技》中的sort-diff-find。具体的MATLAB代码如下所示:


为了计算第31个元素,需要进行30次循环,使用LabVIEW提供的循环结构即可。而为了实现迭代计算,将MATLAB script的输出端口通过反馈节点连接至输入端口,并将反馈节点初始化为为长度为1,元素值为1的数组,即可进行计算。待循环结束后,计算最终数组的长度,并将长度输出到界面上的一个数值显示控件即可。完整程序如下:


程序的运行结果为:


正是我们需要的结果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top