exponenta event banner

fibonacci

Синтаксис

Описание

пример

fibonacci(n) возвращает n-е число Фибоначчи.

Примеры

Найти числа Фибоначчи

Найти шестое число Фибоначчи с помощью fibonacci.

fibonacci(6)
ans =
     8

Найдите первые 10 чисел Фибоначчи.

n = 1:10;
fibonacci(n)
ans =
     1     1     2     3     5     8    13    21    34    55

Последовательность Фибоначчи аппроксимирует золотое отношение

Отношение последовательных чисел Фибоначчи сходится к золотому соотношению 1.61803.... Показать эту сходимость, построив это отношение против золотого отношения для первых 10 чисел Фибоначчи.

n = 2:10;
ratio = fibonacci(n)./fibonacci(n-1);

plot(n,ratio,'--o')
hold on

line(xlim,[1.618 1.618])
hold off

Figure contains an axes. The axes contains 2 objects of type line.

Символически представляют числа Фибоначчи

Используйте числа Фибоначчи в символьных вычислениях, представляя их с символическим вводом. fibonacci возвращает входные данные.

Представляют n-е число Фибоначчи.

syms n
fibonacci(n)
ans =
fibonacci(n)

Найти большие числа Фибоначчи

Найти большие числа Фибоначчи, указав вход символически с помощью sym. Символьный ввод возвращает точный символьный вывод вместо двойного. Преобразование символьных чисел в двойные с помощью double функция.

Найдите 300-е число Фибоначчи.

num = sym(300);
fib300 = fibonacci(num)
fib300 =
222232244629420445529739893461909967206666939096499764990979600

Новообращенный fib300 удвоить. Результатом является аппроксимация с плавающей запятой.

double(fib300)
ans =
   2.2223e+62

Дополнительные сведения о символьной и двойной арифметике см. в разделе Выбор числовой или символьной арифметики.

Золотая спираль с использованием чисел Фибоначчи

Числа Фибоначчи обычно визуализируются посредством построения графика спирали Фибоначчи. Спираль Фибоначчи аппроксимирует золотую спираль.

Аппроксимировать золотую спираль для первых 8 чисел Фибоначчи. Определите четыре варианта для правого, верхнего, левого и нижнего квадратов на графике с помощью switch заявление. Формирование спирали путем определения уравнений дуг через квадраты в eqnArc. Рисование квадратов и дуг с помощью rectangle и fimplicit соответственно.

x = 0;
y = 1;
syms v u

axis off
hold on

for n = 1:8

    a = fibonacci(n);

    % Define squares and arcs
    switch mod(n,4)
        case 0
            y = y - fibonacci(n-2);
            x = x - a;
            eqnArc = (u-(x+a))^2 + (v-y)^2 == a^2;
        case 1
            y = y - a;
            eqnArc = (u-(x+a))^2 + (v-(y+a))^2 == a^2;
        case 2
            x = x + fibonacci(n-1);
            eqnArc = (u-x)^2 + (v-(y+a))^2 == a^2;
        case 3
            x = x - fibonacci(n-2);
            y = y + fibonacci(n-1);
            eqnArc = (u-x)^2 + (v-y)^2 == a^2;
    end

    % Draw square
    pos = [x y a a];
    rectangle('Position', pos)

    % Add Fibonacci number
    xText = (x+x+a)/2;
    yText = (y+y+a)/2;
    text(xText, yText, num2str(a))

    % Draw arc
    interval = [x x+a y y+a];
    fimplicit(eqnArc, interval, 'b')

end

Входные аргументы

свернуть все

Ввод, определяемый как число, вектор, матрица или многомерный массив, или символьное число, переменная, вектор, матрица, многомерный массив, функция или выражение.

Подробнее

свернуть все

Число Фибоначчи

Числа Фибоначчи - это последовательность 0, 1, 1, 2, 3, 5, 8, 13, 21....

Учитывая, что первые два числа равны 0 и 1, n-е число Фибоначчи равно

Fn  = Fn-1  + Fn-2.

Применение этой формулы многократно порождает числа Фибоначчи.

Представлен в R2017a