一个递推通项公式研究

递推关系为a(n) ​=pa(n−1) ​ +qa(n−2) ​,本项=前一项*2+前前项,具体如

1,1,3,7,17,41,99,239,……

一般的递推关系可以用以下方法
在这里插入图片描述
得两个解:
在这里插入图片描述
用第3项、第4项组两个方程:
在这里插入图片描述
解方程的结果
在这里插入图片描述

解方程的链接:https://mathdf.com/equ/cn/
Excel验证,有误差,是复杂的计算导致精度丢失:

在这里插入图片描述
python验证

import math  
  
def calculate_y(n):  
    sqrt2 = math.sqrt(2)  
      
    # 计算公式的各个部分  
    part1_numerator = 3  
    part1_denominator = 7 * 2 * sqrt2 - 20  
    part2_numerator = (1 - sqrt2)**3 * (3 * sqrt2 - 4)  
    part3 = (1 + sqrt2)**3  
      
    # 计算整个表达式的值  
    first_term = ((1 + sqrt2)**n) * (part1_numerator - part2_numerator / part1_denominator) / part3  
    second_term = ((1 - sqrt2)**n) * (3 * sqrt2 - 4) / part1_denominator  
      
    y = first_term + second_term  
    return y  
  
# 获取用户输入  
n = float(input("请输入n的值: "))  
  
# 计算并打印y的值  
y = calculate_y(n)  
print(f"当n={n}时,y的值为: {y}")

结果,还行。

在这里插入图片描述
表达式
在这里插入图片描述

相关推荐

  1. 2024-05-10 03:32:03       56 阅读
  2. (C语言)

    2024-05-10 03:32:03       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 03:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 03:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 03:32:03       82 阅读
  4. Python语言-面向对象

    2024-05-10 03:32:03       91 阅读

热门阅读

  1. 第IV章-Ⅱ Vue3中的插槽使用

    2024-05-10 03:32:03       38 阅读
  2. 面试题:简述Go的垃圾回收机制

    2024-05-10 03:32:03       28 阅读
  3. QPicture,QPixmap和QImage的区别是什么

    2024-05-10 03:32:03       33 阅读
  4. map容器

    2024-05-10 03:32:03       34 阅读
  5. C#面试题: 寻找中间值

    2024-05-10 03:32:03       31 阅读
  6. Ps基础学习笔记

    2024-05-10 03:32:03       34 阅读