sympy斐波那契数列

news2024/11/24 20:55:56

文章目录

    • fibonacci
    • tribonacci
    • 对比

fibonacci

斐波那契数列的递推公式大家都很熟悉了,是 F n = F n − 1 + F n − 2 F_n=F_{n-1}+F_{n-2} Fn=Fn1+Fn2,其在复数域的的解析延拓可表示为

F z = ϕ z − cos ⁡ ( π z ) ϕ − z 5 , ϕ = 5 − 1 2 F_z=\frac{\phi^z-\cos(\pi z)\phi^{-z}}{\sqrt{5}}, \phi=\frac{\sqrt{5}-1}{2} Fz=5 ϕzcos(πz)ϕz,ϕ=25 1

根据斐波那契数列可构造斐波那契多项式,其递推公式为

F 1 ( x ) = 1 , F 2 ( x ) = x F n ( x ) = x F n − 1 ( x ) + F n − 2 ( x ) \begin{aligned} F_1(x)&=1, \quad F_2(x)=x\\ F_n(x)&=xF_{n-1}(x)+F_{n-2}(x) \end{aligned} F1(x)Fn(x)=1,F2(x)=x=xFn1(x)+Fn2(x)

sympy中的fibonacci函数,当输入一个参数时会返回斐波那契数。

from sympy import print_latex
from sympy import fibonacci, Symbol
[fibonacci(x) for x in range(11)]

输出结果为 [ 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 ] [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] [0,1,1,2,3,5,8,13,21,34,55]

当输入一个数字和符号时,则会返回斐波那契多项式

p = fibonacci(5, Symbol('t'))
print_latex(p)

tribonacci

tribonacci,从名字就能看出来,是和3有关的斐波那契数列,其递推公式为 T n = T n − 1 + T n − 2 + T n − 3 , T 0 = 0 , T 1 = 1 , T 2 = 1 T_n=T_{n-1}+T_{n-2}+T_{n-3}, T_0=0, T_1=1, T_2=1 Tn=Tn1+Tn2+Tn3,T0=0,T1=1,T2=1,其对应的函数可表示为

T 0 ( x ) = 0 , T 1 ( x ) = 1 , T 2 ( x ) = x 2 T n ( x ) = x 2 T n − 1 ( x ) + x T n − 2 ( x ) + T n − 3 ( x ) \begin{aligned} T_0(x)&=0, \quad T_1(x)=1,\quad T_2(x)=x^2\\ T_n(x)&=x^2T_{n-1}(x)+xT_{n-2}(x)+T_{n-3}(x) \end{aligned} T0(x)Tn(x)=0,T1(x)=1,T2(x)=x2=x2Tn1(x)+xTn2(x)+Tn3(x)

tribonacci数列前10项输出如下

from sympy import tribonacci
[tribonacci(x) for x in range(11)]

[ 0 , 1 , 1 , 2 , 4 , 7 , 13 , 24 , 44 , 81 , 149 ] [0, 1, 1, 2, 4, 7, 13, 24, 44, 81, 149] [0,1,1,2,4,7,13,24,44,81,149]

p = tribonacci(5, Symbol('t'))
print_latex(p)

T 5 ( x ) = x 4 + 3 x 2 + 1 T_5(x)=x^{4} + 3 x^{2} + 1 T5(x)=x4+3x2+1

对比

接下来,可以绘制一下这两种数列的增长速率

import matplotlib.pyplot as plt
fs = [fibonacci(x) for x in range(11)]
ts = [tribonacci(x) for x in range(11)]
plt.plot(fs, label="fibonacci")
plt.plot(ts, label="tribonacci")
plt.legend()
plt.show()

对比如下

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1445431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D高斯溅射:面向三维场景的实时渲染技术

1. 前言 高斯溅射技术【1】一经推出,立刻引起学术界和工业界的广泛关注。相比传统的隐式神经散射场渲染技术,高斯溅射依托椭球空间,显性地表示多目图像的三维空间关系,其计算效率和综合性能均有较大的提升,且更容易理…

电动汽车上哪些部位用到了电机?

一、背景 电动汽车中除了主驱动电机之外的其他电机的控制复杂度因电机的种类和功能而异。 一般来说,助力转向电机、空调风扇电机、冷却水泵电机等辅助电机的控制相对较为简单。这些电机通常只需要进行简单的开/关控制或速度调节,以满足车辆的基本需求。…

第三百一十七回

文章目录 1. 概念介绍2. 实现方法2.1 hintText2.2 labelText2.3 controller 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何在输入框中处理光标"相关的内容,本章回中将介绍如何添加输入框默认值.闲话休提,让我们一起Talk Flutter吧。 1.…

《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)

文章目录 6.1 磁盘分区与格式化6.1.1 重点基础知识6.1.2 重点案例:为新硬盘配置分区和文件系统6.1.3 拓展案例 1:创建交换分区6.1.4 拓展案例 2:使用 LVM 管理分区 6.2 挂载与卸载文件系统6.2.1 重点基础知识6.2.2 重点案例:挂载新…

ChatGPT高效提问—prompt常见用法(续篇)

ChatGPT高效提问—prompt常见用法(续篇) ​ 对话式prompt适用于模拟各种交流情境。若我们意图探索在特殊场合下可能出现的对话情景,或者模拟一段对话流程,可以采用这种方法,通过精准的prompt指令,引导Chat…

windows配置开机自启动软件或脚本

文章目录 windows配置开机自启动软件或脚本配置自启动目录开机运行的脚本调试开机自启动脚本配置守护进程(包装成自启动服务)使用任务计划程序FAQ 开机自动运行脚本示例 windows配置开机自启动软件或脚本 配置自启动目录 在Windows中添加开机自动运行的软件,可以按…

CF1870F - Lazy Numbers 一道Trie树思路应用的题目

C F 1870 F − L a z y N u m b e r s \mathrm{CF1870F - Lazy\ Numbers} CF1870F−Lazy Numbers D e s c r i p t i o n Description Description 对于给定的 n n n 和 k k k,求解出 1 ∼ n 1\sim n 1∼n 的每一个数在 k k k 进制下字典序排列的顺序&#xff…

Matlab图像处理——图像边缘检测方法(算子)

1.edge函数语法 BW edge(I) BW edge(I,method) BW edge(I,method,threshold) BW edge(I,method,threshold,direction) BW edge(___,"nothinning") BW edge(I,method,threshold,sigma) BW edge(I,method,threshold,h) BW edge(I) 返回二值图像 BW&#xff0…

分享89个时间日期JS特效,总有一款适合您

分享89个时间日期JS特效,总有一款适合您 89个时间日期JS特效下载链接:https://pan.baidu.com/s/127_keimOfy_AKrCNT4TQNA?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,…

Java安全 CC链1分析(Lazymap类)

Java安全 CC链1分析 前言CC链分析CC链1核心LazyMap类AnnotationInvocationHandler类 完整exp: 前言 在看这篇文章前,可以看下我的上一篇文章,了解下cc链1的核心与环境配置 Java安全 CC链1分析 前面我们已经讲过了CC链1的核心ChainedTransf…

【开源】SpringBoot框架开发木马文件检测系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木马软件模块2.4 安全资讯模块2.5 脆弱点模块2.6 软件检测模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 木马分类表3.2.2 木马软件表3.2.3 资讯表3.2.4 脆弱点表3.2.5 软件检测表…

GEE数据集——巴西年度土地覆被和利用地图

巴西年度土地覆被和利用地图 巴西年度土地利用和土地覆被制图项目是一个由生物群落、土地利用、遥感、地理信息系统和计算机科学专家组成的合作网络,依靠谷歌地球引擎平台及其云处理和自动分类功能生成巴西年度土地利用和土地覆被时间序列。MapBiomas 项目--是一项多…

C++入门学习(二十七)跳转语句—break语句

1、与switch语句联合使用 C入门学习&#xff08;二十三&#xff09;选择结构-switch语句-CSDN博客 #include <iostream> #include <string> using namespace std;int main() { int number;cout<<"请为《斗萝大路》打星(1~5※)&#xff1a;" &…

python统计分析——两样本t检验

参考资料&#xff1a;用python动手学统计学 1、导入库 # 导入库 # 用于数值计算的库 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 用于绘图的库 from matplotlib import pyplot as plt import seaborn as sns sns.set() 2、准备数…

导数的几何意义【高数笔记】

1. 高数中的导数几何意义&#xff0c;与中学中斜率的联系 2. 导函数与导数的区别和联系又是什么 3. 导数的几何意义的题型是什么 4. 这些题型又有哪些区别 5. 点在曲线外和点在曲线上&#xff0c;需要注意什么 6. 法线和切线有什么关系 7. 法线是什么

JavaScript DOM 变动观察器(Mutation observer)

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 DOM 变动观察 是 web 开发中的一个重要概念&#xff0c;指的是监视 …

动静态库原理

静态库.a lib文件夹&#xff0c;存放着所有的库。 我们想写了自己的部分功能实现和代码&#xff0c;很多个.0和.h 但是实现文件太多了&#xff0c;我们把它打包在一起就是静态库。 那么如何打包呢&#xff1f;ar命令 ar -rc libhello.a mython.o myprintf.0 r 代表打包 c创…

【JS逆向六】(下)逆向解密某网站返回的密文的值 仅供学习

逆向日期&#xff1a;2024.02.07 使用工具&#xff1a;Node.js 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 可使用AES进行解密处理&#xff08;直接解密即可&#xff09;&#xff1a;在线AES加解密工具 1、打开某某网站(请使用文章开头的…

人工智能三子棋-人机对弈-人人对弈,谁会是最终赢家?

✅作者简介&#xff1a;大家好我是原始豌豆&#xff0c;感谢支持。 &#x1f194;本文由 原始豌豆 原创 CSDN首发&#x1f412; 如需转载还请通知⚠ &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​ &#x1f4e3;系列专栏&#xff1a;C语言项目实践…

CTF--Web安全--SQL注入之Post-Union注入

一、手动POST注入实现绕过 账号密码检测 我们利用sqli-labs/Less-11靶场来进行演示&#xff1a; 我们可以看到一个登录页面 打开Less-11的根目录&#xff0c;我们打开页面的源代码(PHP实现)。 用VS-code打开文件&#xff0c;找到验证登录信息的代码行。 此形式的代码存在POST…