使用 LibreOffice Calc 计算神奇兔子

跟随本 LibreOffice Calc 教程,执行斐波那契数列计算。
4 位读者喜欢这篇文章。

我喜欢使用电子表格,而我最喜欢的电子表格应用程序是 LibreOffice Calc。电子表格是一个单元格网格,其中每列用字母表示,行用数字编号。您可以使用电子表格执行各种计算。如果您可以根据其他值执行计算,则可以在电子表格中执行该操作。

在这里,我演示如何使用 LibreOffice Calc 电子表格执行一种称为斐波那契数列的特定计算。斐波那契数列数字在数学和科学领域随处可见,通常用于模拟简单的种群增长。

神奇兔子

想象一下一只小兔子搬进了一个新的森林家园。森林里没有其他兔子;这只兔子是孤独的。但这是一只神奇的兔子——它天生怀孕,而且它所有的孩子也都会天生怀孕。兔子繁殖很快,但这种神奇的兔子尤其如此,它每年都会产生新一代。

让我们将兔子到达的前一年称为“零年”或“迭代零”,那时您有零只兔子。一年后,您处于“一年”或“迭代一”,拥有了我们的第一只兔子。

我们的神奇兔子的种群以这种方式增长:小兔子一年后长成成年兔子。成年兔子将保留到下一代,但会再产下一只小兔子。换句话说,计算兔子种群的规则是

  • 小兔子 (b) → 成年兔子 (A)

  • 成年兔子 (A) → 成年兔子 (A) 加一只小兔子 (b)

随着时间的推移,兔子种群像这样增长

迭代 种群 计数
0 - 0
1 b 1
2 A 1
3 Ab 2
4 AbA 3

如您所见,兔子种群增长非常迅速。森林很快就会充满神奇兔子。

在电子表格中计算兔子

五年、十年或 20 年后会有多少只兔子?查看每次迭代,任何一年的兔子数量都是前两年的总和。斐波那契使用以下定义描述了这种增长

Fib(n) = Fib(n-1) + Fib(n-2)
and:
Fib(0) = 0
Fib(1) = 1

您可以使用 LibreOffice Calc 计算这个!方法如下。

从一个空白电子表格开始,输入前两次迭代:0 和 1。用名为“n”的列标题标记它们。要将其输入到 LibreOffice Calc 中,请在单元格 A1 中键入“n”,在单元格 A2 中键入值 0,在单元格 A3 中键入 1

Image of a spreadsheet with the first two iterations entered.

(Jim Hall, CC BY-SA 4.0)

输入神奇兔子的前两次迭代。在零年,有零只兔子。在一年,有一只兔子。您可以将其数学表示为 Fib(0) = 0 和 Fib(1) = 1。您可以使用名为“Fib(n)”的列标题标记它。通过在单元格 B1 中键入“Fib(n)”,在单元格 B2 中键入数字 0,在单元格 B3 中键入 1,将其输入到 LibreOffice Calc 中

Image showing how to write an write Fib(0) = 0 and Fib(1) = 1 mathematically into LibreOffice calc.

(Jim Hall, CC BY-SA 4.0)

要计算下一次迭代中的兔子种群,请使用电子表格公式计算第二年的 Fib(n)。由于任何一年的计数都是前两年计数的总和,因此您可以在单元格 B4 中输入电子表格公式 =B3+B2。这是 B3 和 B2 的总和。LibreOffice Calc 将执行计算并将最终结果输入到单元格 B4 中

Image showing how to use a spreadsheet formula to calculate Fib(n) for year two.

(Jim Hall, CC BY-SA 4.0)

使用自动填充计算未来世代

输入了前几个“n”和“Fib(n)”值以及下一次迭代的计算后,您可以让 LibreOffice Calc 完成其余的计算。请注意,当您单击电子表格中的每个单元格时,单元格轮廓的右下角都有一个小框。您可以用鼠标抓住这个框并“拉伸”该框以填充电子表格中的其他单元格。

当您拉伸单元格以填充其他单元格时,LibreOffice Calc 使用一个名为“自动填充”的功能将值输入到新单元格中。 如果您拉伸具有单个值的单元格,自动填充会将数字迭代加一,直到到达系列的末尾。例如,您可以拉伸单元格 A3 以填充其下方的其他单元格,这将用 2、3、4 等填充该范围

Image showing how stretch a cell to fill other cells for calculations.

(Jim Hall, CC BY-SA 4.0)

如果您拉伸包含计算的单元格,LibreOffice Calc 将尝试为您扩展计算。例如,如果您将 B4 中的计算拉伸到单元格 B5 中,则新的 B5 将包含公式 =B4+B3。换句话说,自动填充转换了计算。每个连续的 Fib(n) 计算将是其上方两个单元格的总和

Image showing how AutoFill translates a calculation: each successive Fib(n) calculation will be the sum of the two cells above it.

(Jim Hall, CC BY-SA 4.0)

您可以继续向下延伸单元格,自动填充将继续计算

Image showing that even if you stretch the boxes Autofill will perform calculations.

(Jim Hall, CC BY-SA 4.0)

因此,您了解到在 20 次迭代之后,您将拥有 6,765 只神奇兔子。那真是很多兔子!20 年内超过 6,000 只兔子代表非常快速的种群增长,但这演示了斐波那契数列可以多么快速地加起来,使森林充满神奇兔子。使用 LibreOffice Calc 进行计算相对简单。

photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发人员,以 GNOME 的可用性测试以及作为 FreeDOS 的创始人和项目协调员而闻名。

评论已关闭。

© . All rights reserved.