背景

今天在做数字信号处理作业的时候,发现了这样的一种连加式。我们在高中学习了如何计算等比数列,那我们再引申一些,得到下面的一个数列。
  假如存在这么一个通项an=nmqna_n = n^m q^nan​=nmqn,我们定义一个连加式如下:Sn=∑n=0N0−1anS_n = \sum_{n = 0} ^ {N_0 - 1} a_nSn​=∑n=0N0​−1​an​,这种问题应该如何解决呢?

引言

我们简要介绍一个公式,也很简单,如下:nm−(n−1)m=Cm1nm−1+Cm2nm−2(−1)1+Cm3nm−3(−1)2+⋯+Cmmn0(−1)m−1n^m - (n-1)^m = C_m^1 n^{m-1}+C_m^2n^{m-2}(-1)^1+C_m^3n^{m-3}(-1)^2+\dots+C_m^mn^{0}(-1)^{m-1}nm−(n−1)m=Cm1​nm−1+Cm2​nm−2(−1)1+Cm3​nm−3(−1)2+⋯+Cmm​n0(−1)m−1
我们在计算连加式的时候,要利用等比数列的计算思想,对不相等的系数呢,最好给它化成相等的数。我在这里列一个表格。我们定义一种标记如下:Sni=∑n=1N0−1niqnS_n^i = \sum_{n = 1} ^ {N_0 - 1}n^i q^nSni​=∑n=1N0​−1​niqn。并且在计算SnmS_n^mSnm​的时候,假定Snm−1,Snm−2…Sn0S_n^{m-1},S_n^{m-2}\dots S_n^0Snm−1​,Snm−2​…Sn0​都已知。我们可以推出一个递推式,这个递推式是由Snm−1,Snm−2…Sn0S_n^{m-1},S_n^{m-2}\dots S_n^0Snm−1​,Snm−2​…Sn0​组成。我们先来看下面的这个式子。
Snm=q+2mq2+3mq3⋯+(N0−1)mqN0−1S_n^m = q + 2^mq^2+3^mq^3\dots+(N_0-1)^mq^{N_0-1}Snm​=q+2mq2+3mq3⋯+(N0​−1)mqN0​−1,我们把它们的系数全部写下来,看看有什么特征。

1q1q1q 2mq22^mq^22mq2 3mq33^mq^33mq3 …\dots… (N0−1)mqN0−1(N_0-1)^mq^{N_0-1}(N0​−1)mqN0​−1

我们尽可能地去利用等比数列的求和公式,所以我们进行如下的展开。

1q1q1q 1q21q^21q2 1q31q^31q3 …\dots… 1qN0−11q^{N_0-1}1qN0​−1
000 (2m−1)q2(2^m-1)q^2(2m−1)q2 (2m−1)q3(2^m-1)q^3(2m−1)q3 …\dots… (2m−1)qN0−1(2^m-1)q^{N_0-1}(2m−1)qN0​−1
000 000 (3m−2m)q3(3^m-2^m)q^3(3m−2m)q3 …\dots… (3m−2m)qN0−1(3^m-2^m)q^{N_0-1}(3m−2m)qN0​−1
000 000 000 …\dots… (4m−3m)qN0−1(4^m-3^m)q^{N_0-1}(4m−3m)qN0​−1
…\dots… …\dots… …\dots… …\dots… …\dots…
000 000 000 …\dots… ((N0−1)m−(N0−2)m)qN0−1((N_0-1)^m-(N_0-2)^m)q^{N_0-1}((N0​−1)m−(N0​−2)m)qN0​−1

我们知道,一个等比数列的求和公式只与首项和尾项以及公比有关。从上述展开式中,我们可以从中发现(N0−1)(N_0-1)(N0​−1)个等比数列的求和。它们的和分别如下:q−qN01−q\frac{q-q^{N_0}}{1-q}1−qq−qN0​​,(2m−1)q2−qN01−q(2^m-1)\frac{q^2-q^{N_0}}{1-q}(2m−1)1−qq2−qN0​​,(3m−2m)q3−qN01−q(3^m-2^m)\frac{q^3-q^{N_0}}{1-q}(3m−2m)1−qq3−qN0​​…\dots…((N0−1)m−(N0−2)m)qN0−1−qN01−q((N_0-1)^m-(N_0-2)^m)\frac{q^{N_0-1}-q^{N_0}}{1-q}((N0​−1)m−(N0​−2)m)1−qqN0​−1−qN0​​,而SnmS_n^mSnm​就是前面一系列式子的和。我们加到一起会发现如下的式子:Snm=q+(2m−1)q2+(3m−2m)q3+⋯+(N0−1)m−(N0−2)m)qN0−11−q−(N0−1)mpN01−qS_n^m = \frac{q+(2^m-1)q^2+(3^m-2^m)q^3+\dots+(N_0-1)^m-(N_0-2)^m)q^{N_0-1}}{1-q}-\frac{(N_0-1)^mp^{N_0}}{1-q}Snm​=1−qq+(2m−1)q2+(3m−2m)q3+⋯+(N0​−1)m−(N0​−2)m)qN0​−1​−1−q(N0​−1)mpN0​​,这个时候,我们的工作重心就转移到解前一段很长的式子之和上,我们发现:nm−(n−1)m=Cm1nm−1+Cm2nm−2(−1)1+Cm3nm−3(−1)2+⋯+Cmmn0(−1)m−1n^m - (n-1)^m = C_m^1 n^{m-1}+C_m^2n^{m-2}(-1)^1+C_m^3n^{m-3}(-1)^2+\dots+C_m^mn^{0}(-1)^{m-1}nm−(n−1)m=Cm1​nm−1+Cm2​nm−2(−1)1+Cm3​nm−3(−1)2+⋯+Cmm​n0(−1)m−1,这就意味着我们可以将第一部分式子中的系数给再次展开,可以得到如下的式子:q+(2m−1)q2+(3m−2m)q3+⋯+(N0−1)m−(N0−2)m)qN0−1=Cm1(−1)0(1m−1q+2m−1q2+3m−1q3+⋯+(N0−1)m−1qN0−1)+Cm2(−1)1(1m−2q+2m−2q2+3m−2q3+⋯+(N0−1)m−2qN0−1)+Cm3(−1)2(1m−3q+2m−3q2+3m−3q3+⋯+(N0−1)m−3qN0−1)+⋯+Cmm(−1)m−1(10q+20q2+30q3+⋯+(N0−1)0qN0−1)q+(2^m-1)q^2+(3^m-2^m)q^3+\dots+(N_0-1)^m-(N_0-2)^m)q^{N_0-1} = C_m^1(-1)^0(1^{m-1}q+2^{m-1}q^2+3^{m-1}q^3+\dots+(N_0-1)^{m-1}q^{N_0-1})+C_m^2(-1)^1(1^{m-2}q+2^{m-2}q^2+3^{m-2}q^3+\dots+(N_0-1)^{m-2}q^{N_0-1})+C_m^3(-1)^2(1^{m-3}q+2^{m-3}q^2+3^{m-3}q^3+\dots+(N_0-1)^{m-3}q^{N_0-1})+\dots+C_m^m(-1)^{m-1}(1^{0}q+2^{0}q^2+3^{0}q^3+\dots+(N_0-1)^{0}q^{N_0-1})q+(2m−1)q2+(3m−2m)q3+⋯+(N0​−1)m−(N0​−2)m)qN0​−1=Cm1​(−1)0(1m−1q+2m−1q2+3m−1q3+⋯+(N0​−1)m−1qN0​−1)+Cm2​(−1)1(1m−2q+2m−2q2+3m−2q3+⋯+(N0​−1)m−2qN0​−1)+Cm3​(−1)2(1m−3q+2m−3q2+3m−3q3+⋯+(N0​−1)m−3qN0​−1)+⋯+Cmm​(−1)m−1(10q+20q2+30q3+⋯+(N0​−1)0qN0​−1)幸运地是这个式子仍然是可以简化的,我们简化得到下面的形式:∑k=1mCmk(−1)k−1Snm−k\sum_{k = 1}^{m}C_m^k(-1)^{k-1}S_n^{m-k}∑k=1m​Cmk​(−1)k−1Snm−k​,那我们再回到上面的式子,我们可以得到如下的式子:Snm=∑k=1mCmk(−1)k−1Snm−k1−q−(N0−1)mpN01−qS_n^m = \frac{\sum_{k = 1}^{m}C_m^k(-1)^{k-1}S_n^{m-k}}{1-q}-\frac{(N_0-1)^mp^{N_0}}{1-q}Snm​=1−q∑k=1m​Cmk​(−1)k−1Snm−k​​−1−q(N0​−1)mpN0​​,那我们就可以得知,在假定Snm−1,Snm−2…Sn0S_n^{m-1},S_n^{m-2}\dots S_n^0Snm−1​,Snm−2​…Sn0​都已知的情况下,我们可以推出SnmS_n^mSnm​的值。

尾声

又发现了一个小东西,迫不及待地发出来博各位看官一乐…

一个等差×等比数列连加式相关推荐

  1. 一个公式来说明加接圈的作用和缺点

    一个公式来说明加接圈的作用和缺点 在很多视觉项目中,如果想要将视野缩小,一种方式是换用长焦镜头:另一种方式则是通过加接圈的方式来实现.那么,接圈到底改变的是什么参数,能够使图像进行放大呢? 核心公式 ...

  2. bootstrap设计登录页面_前端小白如何在10分钟内打造一个爆款Web响应式登录界面?...

    对于前端小白(例如:专注后端代码N年的攻城狮),自己编写一个漂亮的Web登录页面似乎在设计上有些捉襟见肘,不懂UI设计,颜色搭配极度的混乱(主色,辅助色,配色,色彩渐变,动画效果等等,看起来一堆乱七八 ...

  3. libGDX跨平台游戏开发框架入门:开发一个小游戏之加载资源

    目录 前言 加载资源 libGDX资源目录说明 配置各个平台启动器 desktop模块启动器设置 Android模块启动器设置 加速度计和指南针 html模块启动器设置 编写加载资产代码 1. 加载图 ...

  4. 一个java的DES加解密类转换成C#

    原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...

  5. 崛起的超级智能:是否会是下一个“麦克卢汉式”预言?

    腾讯科技 21世纪以来,前沿科技领域呈爆发式增长:从云计算到区块链.从谷歌大脑到华为EI智能体.从工业大脑到农业大脑.从城市神经网络到智慧社会--各种新技术和新概念层出不穷,如潮水般不断涌现,无论业界 ...

  6. 分享一个帮助你在线测试响应式设计的web工具 - Screenqueri.es

    日期:2012-4-23  来源:GBin1.com 如果你使用responsive layout来设计网站或者web应用的话,如何有效的在不同的设备上进行测试是一个比较麻烦的事情,今天我们这里给大家 ...

  7. [css] 请用css写一个扫码的加载动画图

    [css] 请用css写一个扫码的加载动画图 @Keyframes donut-spin { 0% { transform: rotate(0deg); } 100% { transform: rot ...

  8. windows环境下IDEA安装和配置和第一个IDEA项目运行加常用快捷键

    IDEA安装和配置和第一个IDEA项目运行加常用快捷键 IDEA开发工具是和eclipse.myeclipse差不多的java开发工具. IDEA是一个专门针对Java的集成开发工具(IDE),由Ja ...

  9. 一个到顶部自动加载更多的ListView

    为什么80%的码农都做不了架构师?>>>    一个可以到顶自动加载更多的ListView,实现该控件的目的是用于im聊天页面场景,一些第三方实现的下拉加载更多也可以实现类似功能,但 ...

最新文章

  1. GitHub有趣分享:Thanos(灭霸命令)
  2. Win7 64位的SSDTHOOK(1)---SSDT表的寻找
  3. Angular7教程-06-页面与数据交互
  4. 使用spark-sql-perf评测spark 2.0
  5. 点餐业务服务拆分分析
  6. 腾讯全球数字生态大会进入倒计时,原生技术专场开放云报名
  7. linux mysql v_Linux 主机升级MySQL v5.5 性能提升360%
  8. 非网络引用element-ui css导致图标无法正常显示的解决办法
  9. 原型设计+用户规格说明书
  10. http中的请求头各部分都是什么意思_硬核!30 张图解 HTTP 常见的面试题
  11. bootstrap框架菜单栏颜色设置_Bootstrap Icons - bootstrap专用的漂亮图标库,可以免费商用...
  12. sql server2008 远程过程调用失败
  13. 开课吧课堂:什么是HashSet类
  14. windows网络排查
  15. 【电子产品】ThinkPad S5 Intel R Dual Band Wireless-AC 3165 网卡驱动莫名
  16. 最大似然函数及其求解
  17. python 隐函数作图(原创简单方法)
  18. 适配手机VR眼镜的VR视频播放器种类大全
  19. vscode使用技巧
  20. Python Selenium 关键字驱动

热门文章

  1. 向微信公众号文章中添加pdf、jpg、png、xlsx等文件
  2. 用标准理性的思维找女朋友
  3. 中国大学生计算机设计大赛
  4. tf.concat, tf.stack和tf.unstack的用法
  5. 【数据压缩(五)】LZW编解码c语言实现和分析
  6. SPI协议分析仪的使用介绍及flash无法启动两种案例分析
  7. mysql 查看表v空间自增涨_专业解决 MySQL 查询速度慢与性能差!
  8. 使用Javascript代码编写一个“杭州亚运会倒计时”网页
  9. python中如何画出决策树_使用Python绘制决策树
  10. pyinstaller 打包项目及使用UPX压缩