HOWTO · MATLAB
MATLAB 피보나치 수열
MATLAB에서 fibonacci() 함수를 사용하여 피보나치 수를 생성할 수 있습니다.
이 페이지의 내용
MATLAB의 fibonacci() 함수를 사용하면 피보나치 수 하나를 계산하거나 인덱스 벡터에 해당하는 값을 한 번에 구할 수 있습니다. 큰 값을 정확한 정수로 유지하려면 sym()으로 만든 기호 인덱스를 전달하세요. 이 함수들을 사용하려면 Symbolic Math Toolbox가 필요합니다.
MATLAB에서 피보나치 수 계산하기
피보나치 수열에서는 처음 두 항 이후의 각 항이 바로 앞의 두 항을 더한 값입니다. 이 글에서는 F₁ = 1 및 F₂ = 1 규칙을 사용하므로 n ≥ 3일 때 Fₙ = Fₙ₋₁ + Fₙ₋₂입니다. 인덱스 n은 수열에서 항의 위치를 나타내며, 생성할 항의 개수가 아닙니다.
열 번째 항을 계산하려면 fn = fibonacci(10)을 입력합니다. 이 글에서 사용하는 규칙에 따르면 결과는 55입니다. 설정된 실행 환경에서는 MATLAB을 실행할 수 없어 MATLAB 호출을 인라인으로 표시했으며, 그 출력은 여기서 직접 실행해 확인하지 않았습니다.
MATLAB 벡터로 피보나치 수열 생성하기
인덱스 벡터를 fibonacci()에 전달하면 해당 위치의 값들을 한 번에 구할 수 있습니다. 처음 열 항을 구하려면 v = 1:10; fn = fibonacci(v)를 사용합니다. 결과는 행 벡터 [1 1 2 3 5 8 13 21 34 55]입니다. v의 각 항은 수열에서의 위치를 나타내며, 결과 벡터의 각 원소는 같은 위치에 있는 인덱스에 대응합니다.
이 글의 사용 가능한 실행 환경에는 MATLAB이 포함되어 있지 않으므로, 실행 가능한 코드 펜스 대신 MATLAB 식을 인라인으로 제시했습니다. 나열된 값은 앞서 설명한 점화식과 F₁ = F₂ = 1 규칙을 따릅니다.
기호식으로 큰 피보나치 수 표현하기
인덱스가 큰 피보나치 수를 수치형으로 계산하면 과학적 표기법으로 표시될 수 있으며, 이때 표시되는 자릿수는 반올림됩니다. 정확한 정수를 얻으려면 fibonacci()를 호출하기 전에 인덱스를 기호식으로 만드세요. 예를 들어 fn = fibonacci(sym(300))을 사용합니다. 비교를 위해 fibonacci(300)은 대략 2.2223e+62로 표시되는 수치형 값을 반환하지만, 기호식 호출은 300번째 피보나치 수의 정확한 값인 222232244629420445529739893461909967206666939096499764990979600을 나타냅니다.
부동소수점 근삿값이 아니라 정수 전체가 필요할 때 기호식 결과가 유용합니다. 함수에 대한 자세한 내용은 MathWorks fibonacci documentation을 참조하세요. 이 글의 MATLAB 예제는 설정된 실행 환경에서 실행하지 않았습니다.