MATLAB 斐波那契数列

Ammar Ali 2022年7月18日
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

我们在上面的代码中使用了 clcclear 命令来清除命令和工作区窗口。我们可以在输出中看到 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() 函数的细节。

作者: 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