我的LabVIEW类有一个涉及Fibonacci序列的作业,这是一个确切的问题:
创建一个VI,它使用WHILE循环来计算Fibonacci序列的迭代,直到| fib(n-1)/ fib(n) - fib(n-2)/ fib(n-1)|的比率为止。收敛。输入应包括序列的前两个元素和收敛的幅度。输出应该是收敛所需的迭代次数。
我查看了维基百科,但没有帮助。我做了一些谷歌搜索,仍然没有。我不明白Fibonacci序列是什么,也不知道如何使它收敛。这两个用户输入的元素在哪里进来,其程度如何。我可以编写它,但我不是我的代码。如果您理解,请向我解释。
要明确我真的不想让你给我代码,只是澄清;感谢。
答案 0 :(得分:2)
你可能需要这种风格的东西。尝试将以下Python代码翻译成LabVIEW。在while循环中使用移位寄存器。 :
import math
ordofmag = 4
result = 1
n = 0
while result >= ( 10 ** (-ordofmag) ):
n = n + 1
if n == 1 or n==2:
x0 = 1.0 # fib(n)
x1 = 1.0 # fib(n+1)
x2 = x1 + x0 # fib(n+2)
result = math.fabs(x1/x2 - x0/x1)
elif n > 2:
x2 = x1 + x0
result = math.fabs(x1/x2 - x0/x1)
x0 = x1
x1 = x2
print int(x1), round(result,ordofmag)
答案 1 :(得分:0)
在while循环中使用for循环。在for循环中,放置一个移位寄存器并向移位寄存器添加一个元素。为每个元素创建一个数字控件。在for循环中添加加法和除法符号,将移位寄存器的两个元素连接到加号。在附加符号的另一端,将其连接到右侧的相反移位寄存器,在添加符号线输出后,将其连接到分区符号的顶部连接,您的分区符号的另一个输入部分,将其连接到加号的最高输入。通过这样做,你的输出从加法传递到移位寄存器并在循环中移回到顶部输入,然后在你的顶部输入中的前一个元素将传递到底部元素,传递给加法符号和输出分割通过previuos转换元素现在是当前的最高输入。从加法出来的是斐波纳契数字,从分区标志出来的输出将是你的金色数字。那么你必须把数字指标和图形放在for循环中,用反馈节点构建数组并将它们itialise并指定要运行的迭代次数,这可以通过在左上角的蓝色N上创建一个常量来完成。为了floop。 while循环将继续运行,或者如果你想在删除while循环时生成它们。任何进一步的帮助邮件希望它会有所帮助,我也不会太晚。