Mathematica解差分方程很方便,记住一个词就可以了RSolve或者RSolveValue就可以了。以下这个例子比较特殊,存在解析解,但是软件算不出

问题:
已知:
a[1]=12a[1]=\sqrt{1\over2} a[1]=21​​
a[n+1]=(1+a[n])2a[n+1]=\sqrt{(1+a[n])\over2} a[n+1]=2(1+a[n])​​
计算:
lim⁡n−>∞(∏i=1na[i])\displaystyle\lim_{n->\infty}({\displaystyle\prod_{i=1}^n{a[i]}}) n−>∞lim​(i=1∏n​a[i])
数学分析:不难发现a[n]是一个递增数列,且极限为1.无限多个小于1而趋于1的数相乘有两种结果,趋于1比较慢结果为0,趋于1速度快收敛值接近前几项乘积。这道题的结论符合后者。a[n]前后两项的关系很巧妙,满足三角变换当中的半角公式。这样令a[n]=cos⁡αa[n]=\cos{\alpha}a[n]=cosα
则a[n+1]增大到a[n+1]=cos⁡α2a[n+1]=\cos{\alpha\over2}a[n+1]=cos2α​,角度越小,余弦值越大,增大到接近1。这样就很容易手算出a[n]的解析解。
表达式如下:
a[n]=cos⁡π2n+1a[n]=\cos{\pi\over2^{n+1}} a[n]=cos2n+1π​
接下来解决连乘求极限的问题:
为了解决角度减半无限多项的问题,可以在最后乘一个第n项的正弦值,则会角度翻倍至到剩下一项。
I=lim⁡n−>∞(∏i=1na[i])=lim⁡n−>∞(∏i=1ncos⁡π2n+1∗sin⁡π2n+1sin⁡π2n+1)I=\displaystyle\lim_{n->\infty}({\displaystyle\prod_{i=1}^n{a[i]}})= \displaystyle\lim_{n->\infty}({\displaystyle\prod_{i=1}^n{{\cos{\pi\over2^{n+1}}*\sin{\pi\over2^{n+1}}}}\over\sin{\pi\over2^{n+1}}}) I=n−>∞lim​(i=1∏n​a[i])=n−>∞lim​(sin2n+1π​i=1∏n​cos2n+1π​∗sin2n+1π​​)
I=lim⁡n−>∞12n∗sin⁡π2sin⁡π2n+1=2πI=\displaystyle\lim_{n->\infty}{{1\over2^n}*\sin{\pi\over2}\over\sin{\pi\over2^{n+1}}}={2\over\pi} I=n−>∞lim​sin2n+1π​2n1​∗sin2π​​=π2​
至此这道题目的手解就结束了,的确是非常巧妙的利用了三角变换,这个题目曾经陷入了很长的对连乘取对数再如何处理的困苦中,毫无破题思路。结果并不是指数形式的,所以也验证了之前的对连乘取对数方法的不合适。
接下来用mathematica来解一下吧,看上去a[n]的解析表达式很简单,但是实际上mathematica却无法直接求出来,我觉得可能是这样的变换本身没有被程序用来解一般问题吧,如果谁能用它得到解析解请告知本人。

可以看到mathematica没有输出,当然这里a[n]换成a[10]是能得到一个结果的,多试几个数就会发现趋于1的速度的确很快。但得不到解析解总是差强人意。
这里又用Nest嵌套循环直接算了一下连乘的数值解:
这里不得不佩服wolfram简洁的语言和强大的计算功能并存。

其实这里用不着100次迭代,10次以内结果就很逼近2/pi了。

Mathematica解一个精巧的差分方程相关推荐

  1. Mathematica 解方程组 (数字方程组含表达式的方程组)

    Mathematica 解方程组 (数字方程组&含表达式的方程组) 1. 数字方程组 参考自带例程: 这里是具有两个未知量的简单线性方程: Solve[{a x + b y == 1, x - ...

  2. 详解一个ThreadLocal 的谜题

    详解一个ThreadLocal 的谜题 多线程如果不理解透彻, 那么 ThreadLocal 始终是有些会有所迷糊的. ThreadLocal 本身的命名有有问题, 这些美国精英整出来的技术,再加上一 ...

  3. 交换机最多可以接几个_【技术】详解一个交换机能带动多少个网络监控摄像头?...

    原标题:[技术]详解一个交换机能带动多少个网络监控摄像头? 一个交换机能带动多少个网络监控摄像头?千兆交换机一般接200万网络摄像机能接几个?24个网络头,用一台24口百兆交换机行不行?下面就这类问题 ...

  4. 详解一个Python库,用于构建精美数据可视化web app,练习做个垃圾分类app

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 醉卧沙场君莫笑,古来征战几人回? ...

  5. 百度搜索研究,详解一个页面的索引价值!

    写博客有一段时间,虽然每天的时间真的很忙,但我仍然保持着阅读的习惯,很多SEO小伙伴,习惯性的去找SEO干货,但有一些针对百度搜索的旧文档,我认为在今天,仍然给予我们很高的学习价值. 特别是当我建立S ...

  6. 用ode45解一个带有积分的微分方程(integro-differential equations)

    一.问题提出: 这个方程来源于mathworks的论坛      l 这种方程叫 integro-differential equations ,大致是带有 integral term的微分方程.积分 ...

  7. 循环嵌套思路详解 | 一个“在盒子里过家家”的算法 -- 以冒泡排序与打印菱形为例

    目录 前言 一.引例 -- 菱形打印 1. 题干要求 2. 如何阅读循环结构? 二."在盒子里过家家"的理解思路 1. 什么叫"在盒子里过家家"? 一个小例子 ...

  8. Linux串口编程最全详解-一个努力奋斗的少年

    NAME termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, c ...

  9. mysql scope runtime_Maven依赖scope属性详解-一个报错引发的问题 - 老郭种树

    ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the cont ...

最新文章

  1. 华为自研搜索引擎曝光:「花瓣」虽小,但要替代谷歌
  2. LeetCode 468 validate ip address(正则表达式)
  3. thymeleaf 判断页面不显示_Thymeleaf 中 Spring Security 的使用 0151
  4. 如何解决for in 循环无法遍历symbol key的问题
  5. 【商城购物车】购物车逻辑
  6. python csv转excel_将Excel文件转为csv文件的python脚本
  7. esc指令检查打印状态_【行业知识分享】八千字解读ESC系统
  8. macOS清理内存空间的其他other
  9. Android—修改button属性
  10. MNIST数据集下载 —— 数据集提供百度网盘下载地址
  11. redis问题及答案
  12. 使用anaconda安装pytorch
  13. 计算机二级考试干货内容,计算机二级考试经验总结,干货满满!
  14. CSS制作一个花式标题
  15. Linux service之自定义服务
  16. galaxy 用不了_开箱即用使Galaxy S9更好的六种方法
  17. 为什么要用CAT工具辅助翻译?为什么要用翻译管理系统?以memoQ为例
  18. qtablewidget 复选框选中_QTableWidget中checkBox如何判断复选框是否被选中
  19. 标自然段的序号格式_word怎么自然段编号-word段落添加编号-word怎么分段编号
  20. 安卓手机主题软件_安卓手机数据恢复软件——FonePaw Android Data Recovery Mac

热门文章

  1. python-某旗小说app的学习过程
  2. 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。 注意对于重复的emp_no进行忽略。...
  3. 网络营销推广怎么做 一封神奇的文案策划背后的真相
  4. 老五苏-34:慧眼独具 比起“大哥”苏-27,苏-34的个子要高大一些。
  5. 【杜教BM模板】焦作网赛L
  6. pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
  7. 李白 三五七言·秋风词
  8. 【Windows10】远程桌面共享多个显示屏
  9. 什么是主动式计算机用户,电脑电源主动PFC是什么意思
  10. 打印机设置纵向打印,打印出来确实横向