I think the way to formally prove this is to find the difference between the Fibonacci approximation and the usual conversion, and then to find whether that series is convergent or not. Someone who has taken the appropriate pre-calculus or calculus course could actually carry it out :P
However, I got curious about graphing it for distances “small enough” like from Earth to the sun (150 million km). Turns out, there’s always an error, but the error doesn’t seem to be growing. In other words, except for the first few terms, the Fibonacci approximation works!
This graph grabs each “Fibonacci mile” and converts it to kilometers either with the usual conversion or the Fibonacci-approximation conversion. I also plotted a straight line to see if the points deviated.
If someone wants to play around with the code, here it is.
Note that you need RStudio and the Tidyverse package.
# To use nice data tables and to graph
library(tidyverse)# To create a fibonacci sequence# This is based on a function by erocoar at StackOverflow# https://stackoverflow.com/questions/48566319/fibonacci-sequence-in-r
fib <-function(x =0, y =1,ceiling=150000000){
s <- x + y
c(s,if(y <ceiling) fib(y, s))}# I chose this ceiling because it's approximately how far away we are from the sun in km# To get a Fibonacci sequence with our new Fibonacci-sequence-creating function
fib_c <- fib()# To create a data table with our data
miles_and_kilometers <- tibble(
selected_miles = fib_c,
fib_conversion_kilometers = fib_c %>% lead(),
usual_conversion_kilometers = selected_miles *1.609344)%>%
filter(!is.na(fib_conversion_kilometers))# This filter is bc lead() creates missing values# To plot the fibonaci conversion with the usual conversion
miles_and_kilometers %>%
ggplot()+
geom_point(aes(
x = fib_conversion_kilometers,
y = usual_conversion_kilometers))+
geom_line(aes(
x = usual_conversion_kilometers,
y = usual_conversion_kilometers
))
The ratio of consecutive terms of the Fibonacci sequence is approximately the golden ratio phi = ~1.618. This approximation gets more accurate as the sequence advances. One mile is ~1.609km. So technically for large enough numbers of miles, you will be off by about half a percent.
We wish they were that cool, the inventors of the modern mile were more concerned about land measurements. A square mile is 640 acres. Which neatly can be cut into quarters 3 times. 160, 40, 10.
Wait, is this true until its not or is it true forever as you go higher in the sequence?
I think the way to formally prove this is to find the difference between the Fibonacci approximation and the usual conversion, and then to find whether that series is convergent or not. Someone who has taken the appropriate pre-calculus or calculus course could actually carry it out :P
However, I got curious about graphing it for distances “small enough” like from Earth to the sun (150 million km). Turns out, there’s always an error, but the error doesn’t seem to be growing. In other words, except for the first few terms, the Fibonacci approximation works!
This graph grabs each “Fibonacci mile” and converts it to kilometers either with the usual conversion or the Fibonacci-approximation conversion. I also plotted a straight line to see if the points deviated.
If someone wants to play around with the code, here it is.
Note that you need RStudio and the Tidyverse package.
# To use nice data tables and to graph library(tidyverse) # To create a fibonacci sequence # This is based on a function by erocoar at StackOverflow # https://stackoverflow.com/questions/48566319/fibonacci-sequence-in-r fib <- function(x = 0, y = 1, ceiling = 150000000){ s <- x + y c(s, if (y < ceiling) fib(y, s)) } # I chose this ceiling because it's approximately how far away we are from the sun in km # To get a Fibonacci sequence with our new Fibonacci-sequence-creating function fib_c <- fib() # To create a data table with our data miles_and_kilometers <- tibble( selected_miles = fib_c, fib_conversion_kilometers = fib_c %>% lead(), usual_conversion_kilometers = selected_miles * 1.609344 ) %>% filter(!is.na(fib_conversion_kilometers)) # This filter is bc lead() creates missing values # To plot the fibonaci conversion with the usual conversion miles_and_kilometers %>% ggplot() + geom_point(aes( x = fib_conversion_kilometers, y = usual_conversion_kilometers)) + geom_line(aes( x = usual_conversion_kilometers, y = usual_conversion_kilometers ))
You just did the math!
Mmm dat ggplot2 but ggthemr::ggthemr(“flat”) is where it’s at.
Checked it out and love that package! Thanks for the recommendation :)
The ratio of consecutive terms of the Fibonacci sequence is approximately the golden ratio phi = ~1.618. This approximation gets more accurate as the sequence advances. One mile is ~1.609km. So technically for large enough numbers of miles, you will be off by about half a percent.
It’s true forever. The Fibonacci sequence used in this way converges on the golden ratio, which is close to the conversion of km and mi.
Someone already replied with a graph, but I also got curious and checked for some higher numbers. Sure enough, it held up.
For example:
832,040mi => 1,346,269km (actual: 1,339,039km)
So are you telling me that the inventors of the mile were using the golden ratio?
Just a neat coincidence
We wish they were that cool, the inventors of the modern mile were more concerned about land measurements. A square mile is 640 acres. Which neatly can be cut into quarters 3 times. 160, 40, 10.
Conversion factor of miles to kilometers is about 1.609 and golden ratio is about 1.618, it will be pretty accurate for quite a while…
It’s always true because the ratio of miles to km is really close to the golden ratio.
If you do it for a zillion miles you’ll be off by a lot of km, but proportionally the same amount as for 1 mile