LabVIEW помогает объяснить простую последовательность Фибоначчи

У меня есть задание для моего класса LabVIEW, которое включает последовательность Фибоначчи, вот точный вопрос:

Создайте ВП, который использует цикл WHILE для продолжения вычисления итераций последовательности Фибоначчи до тех пор, пока отношение |fib(n-1)/fib(n) - fib(n-2)/fib(n-1)| сходится. Входные данные должны включать первые два элемента последовательности и величину сходимости. На выходе должно быть количество итераций, необходимых для сходимости.

Смотрел в Википедии, не помогло. Я сделал некоторые Googling вокруг и до сих пор ничего. Я не понимаю, что такое последовательность Фибоначчи, и не знаю, как заставить ее сходиться. Где появляются два введенных пользователем элемента и какова их величина. Я могу закодировать это, но я не умею кодировать. Если вы понимаете, пожалуйста, объясните мне это.

Чтобы было ясно, я действительно не хочу, чтобы вы давали мне код, просто пояснение; благодаря.


person Umdoobby    schedule 04.04.2013    source источник
comment
Последовательность Фибоначчи генерируется, начиная с 1, 1, 2, 3 и продолжая так, чтобы последующие члены были суммой двух предыдущих чисел. Stackoverflow не предназначен для таких вопросов, которые можно задать на math.stackexchange.com.   -  person Jakub Czaplicki    schedule 05.04.2013


Ответы (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)
person Jakub Czaplicki    schedule 05.04.2013

Используйте цикл for внутри цикла while. в цикле for поместите сдвиговый регистр и добавьте элемент в сдвиговый регистр. создать числовой контроль на каждом элементе. поместите знаки сложения и деления в цикл for, подключите два элемента регистра сдвига к знаку сложения. на другом конце знака сложения подключите его к противоположному сдвиговому регистру справа, после выхода провода знака сложения подключите его к верхнему соединению знака деления, другой входной части знака деления подключите его к верхний ввод знака сложения. Таким образом, ваш вывод из сложения передается в сдвиговый регистр и сдвигается по циклу обратно к верхнему вводу, а предыдущий элемент, который был в вашем верхнем вводе, затем передается нижнему элементу, передается знаку сложения, а вывод делится предыдущим сдвинутым элементом теперь является текущим верхним вводом. Результатом сложения являются числа Фибоначчи, а выходом из знака деления будут ваши золотые числа. затем вы должны поместить числовые индикаторы и график в цикл for, построить массивы с узлами обратной связи и инициализировать их и указать количество итераций, которые нужно выполнить, это можно сделать, создав константу на синем N в верхнем левом углу для флопа. Затем цикл while будет работать непрерывно или, если вы хотите сгенерировать их один раз, удалите цикл while. Любая дополнительная помощь по электронной почте. надеюсь, что это поможет, и я не слишком поздно.

person user2339224    schedule 01.05.2013