MATLAB 斐波那契數列
本教程將討論使用 MATLAB 中的 fibonacci()
函式生成斐波那契數。
MATLAB 斐波那契數列
斐波那契數列中的每個數字都是該數字之前的兩個值的總和。斐波那契數列用於許多應用,例如將公里轉換為英里、檢查完成任務所需的工作量以及比較兩個故事、資料結構和分佈系統。
例如,假設我們要將 34 英里轉換為公里。在這種情況下,我們可以使用斐波那契數列找到 34 旁邊的值,即斐波那契數列中的 55,它將大約等於 34 英里的實際值(以公里為單位)。
如果我們想將公里轉換為英里,我們可以在斐波那契數列中找到之前的值。
下面給出了用於生成斐波那契數列的公式。
Fn = Fn-1 + Fn-2
上式中,n
表示值的個數,其值應大於 1。例如,如果我們要求斐波那契數列的第五個值,我們可以將 5 代入上式,而新公式如下。
F5 = F4 + F3
我們必須將斐波那契數列中的第三個和第四個值相加才能找到第五個值。在 Matlab 中,我們可以使用 fibonacci()
函式從斐波那契數列中找到任何值。
例如,讓我們使用 fibonacci()
函式來查詢斐波那契數列的第十個值。請參閱下面的程式碼。
clc
clear
fn = fibonacci(10)
輸出:
fn = 55
我們在上面的程式碼中使用了 clc
和 clear
命令來清除命令和工作區視窗。我們可以在輸出中看到 fibonacci()
函式返回斐波那契數列的第十個值,即 55
。
我們還可以使用 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()
函式的情況下找到斐波那契數列的百分之三值,以檢查 fibonacci()
函式的輸出差異。請參閱下面的程式碼。
clc
clear
v = sym(300);
v1 = 300;
fn = fibonacci(v)
fn1 = fibonacci(v1)
輸出:
fn =
222232244629420445529739893461909967206666939096499764990979600
fn1 =
2.2223e+62
輸出中的第一個值是符號形式,因為我們使用了 sym()
函式來定義值,第二個值是 double
資料型別,這就是為什麼它被轉換為短形式,因為的輸出值太大。這個連結有更多關於 fibonacci()
函式的細節。