- You have a fixed number of Fibonacci numbers on which you are calculating golden ratios. The desired accuracy may or may not be present in the calculated golden ratios since it is a limited set. As David mentioned you need to calculate the Fibonacci numbers as you go.
- The code round (GR,DA) == G gives you a logical vector and if block only executes when all the values in logical vector are 1. Hence even when you reach a desired accuracy the if block may or may not execute depending on previous values of GR.
- Whenever you are testing for accuracy, it is recommended to check for closeness of value instead of them being equal as suggested by both Geoff and David.
The Fibonacci Sequence and Golden Ratio.
27 views (last 30 days)
Jose Grimaldo on 24 Mar 2020
Im having trouble calculating the Golden Ratios until the desired accuracy is reached
F=[1 1 2 3 5 8 13 21 34 55]
DA=input('How many decimals of accuracy would you like to calculate the Golden Ratio to: ');
for index=2:N % N, is equal to 10
Rashed Mohammed on 27 Mar 2020
I understand that you would like to calculate Golden Ratio’s until a desired accuracy is reached. There are three problems I can notice from your code.
You can try the following code.
F(1:2) = 1;
DA = input('How many decimals of accuracy would you like to calculate the Golden Ratio to: ');
G = ((1+sqrt(5))/2);
GR = 1;
index = 3;
while abs(G-GR) > 10^-DA
F(index) = F(index-1)+F(index-2);
GR = F(index)/F(index-1);
index = index + 1;