Числа Фибоначчи
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Отношение последовательных чисел Фибоначчи сходится к золотому соотношению .... Показать эту сходимость, построив это отношение против золотого отношения для первых 10 чисел Фибоначчи.
n = 2:10; ratio = fibonacci(n)./fibonacci(n-1); plot(n,ratio,'--o') hold on line(xlim,[1.618 1.618]) hold off

Используйте числа Фибоначчи в символьных вычислениях, представляя их с символическим вводом. 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
