MATLAB 피보나치 수열

Ammar Ali 2022년8월18일
MATLAB 피보나치 수열

이 튜토리얼에서는 MATLAB의 fibonacci() 함수를 사용하여 피보나치 수를 생성하는 방법에 대해 설명합니다.

MATLAB 피보나치 수열

피보나치 수열의 각 숫자는 해당 숫자 앞의 두 값의 합입니다. 피보나치 수열은 킬로미터를 마일로 변환, 작업을 완료하는 데 필요한 노력 확인, 두 가지 이야기, 데이터 구조 및 배포 시스템 비교와 같은 많은 응용 프로그램에서 사용됩니다.

예를 들어 34마일을 킬로미터로 변환한다고 가정합니다. 이 경우 피보나치 수열을 사용하여 피보나치 수열에서 55인 34 옆의 값을 찾을 수 있으며 킬로미터 단위의 34마일의 실제 값과 거의 같습니다.

킬로미터를 마일로 변환하려면 피보나치 수열에서 이전 값을 찾을 수 있습니다.

피보나치 수열을 생성하는 데 사용되는 공식은 다음과 같습니다.

Fn = Fn-1 + Fn-2

위의 공식에서 n은 값의 개수를 나타내며 그 값은 1보다 커야 합니다. 예를 들어 피보나치 수열의 다섯 번째 값을 찾으려면 위의 공식에 5를 입력하고 새로운 공식은 아래와 같습니다.

F5 = F4 + F3

다섯 번째 값을 찾으려면 피보나치 수열에서 세 번째와 네 번째 값을 더해야 합니다. Matlab에서 fibonacci() 함수를 사용하여 피보나치 수열에서 값을 찾을 수 있습니다.

예를 들어 fibonacci() 함수를 사용하여 피보나치 수열의 10번째 값을 찾습니다. 아래 코드를 참조하십시오.

clc
clear

fn = fibonacci(10)

출력:

fn = 55

위의 코드에서 clcclear 명령을 사용하여 명령과 작업 공간 창을 지웠습니다. 출력에서 fibonacci() 함수가 55인 피보나치 수열의 10번째 값을 반환했음을 알 수 있습니다.

Matlab의 fibonacci() 함수를 사용하여 특정 값까지 피보나치 수열을 생성할 수도 있습니다. 생성하려는 모든 피보나치 수를 포함하는 벡터를 만든 다음 fibonacci() 함수 내부에 벡터를 전달하여 시퀀스를 생성할 수 있습니다.

예를 들어 Matlab의 fibonacci() 함수를 사용하여 처음 10개의 피보나치 값을 생성해 보겠습니다. 아래 코드를 참조하십시오.

clc
clear

v = 1:10;
fn = fibonacci(v)

출력:

fn =

     1     1     2     3     5     8    13    21    34    55

위의 코드에서 fibonacci() 함수가 피보나치 수열의 처음 10개 숫자를 반환했음을 알 수 있습니다. 큰 피보나치 수의 경우 값은 double 데이터 유형으로 변환되지만 sym() 함수를 사용하여 값을 기호 형식으로 가져올 수 있습니다.

예를 들어 sym() 함수가 있는 경우와 없는 경우 피보나치 수열의 300번째 값을 찾아 fibonacci() 함수의 출력 차이를 확인합니다. 아래 코드를 참조하십시오.

clc
clear

v = sym(300);
v1 = 300;
fn = fibonacci(v)
fn1 = fibonacci(v1)

출력:

fn =

222232244629420445529739893461909967206666939096499764990979600


fn1 =

   2.2223e+62

출력의 첫 번째 값은 sym() 함수를 사용하여 값을 정의했기 때문에 기호 형식이고 두 번째 값은 double 데이터 유형이므로 짧은 형식으로 변환됩니다. 출력 값이 너무 큽니다. 이 링크에는 fibonacci() 함수에 대한 자세한 내용이 있습니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook