Mathematica解一个精巧的差分方程
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])
计算:
limn−>∞(∏i=1na[i])\displaystyle\lim_{n->\infty}({\displaystyle\prod_{i=1}^n{a[i]}}) n−>∞lim(i=1∏na[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=limn−>∞(∏i=1na[i])=limn−>∞(∏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∏na[i])=n−>∞lim(sin2n+1πi=1∏ncos2n+1π∗sin2n+1π)
I=limn−>∞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−>∞limsin2n+1π2n1∗sin2π=π2
至此这道题目的手解就结束了,的确是非常巧妙的利用了三角变换,这个题目曾经陷入了很长的对连乘取对数再如何处理的困苦中,毫无破题思路。结果并不是指数形式的,所以也验证了之前的对连乘取对数方法的不合适。
接下来用mathematica来解一下吧,看上去a[n]的解析表达式很简单,但是实际上mathematica却无法直接求出来,我觉得可能是这样的变换本身没有被程序用来解一般问题吧,如果谁能用它得到解析解请告知本人。
可以看到mathematica没有输出,当然这里a[n]换成a[10]是能得到一个结果的,多试几个数就会发现趋于1的速度的确很快。但得不到解析解总是差强人意。
这里又用Nest嵌套循环直接算了一下连乘的数值解:
这里不得不佩服wolfram简洁的语言和强大的计算功能并存。
其实这里用不着100次迭代,10次以内结果就很逼近2/pi了。
Mathematica解一个精巧的差分方程相关推荐
- Mathematica 解方程组 (数字方程组含表达式的方程组)
Mathematica 解方程组 (数字方程组&含表达式的方程组) 1. 数字方程组 参考自带例程: 这里是具有两个未知量的简单线性方程: Solve[{a x + b y == 1, x - ...
- 详解一个ThreadLocal 的谜题
详解一个ThreadLocal 的谜题 多线程如果不理解透彻, 那么 ThreadLocal 始终是有些会有所迷糊的. ThreadLocal 本身的命名有有问题, 这些美国精英整出来的技术,再加上一 ...
- 交换机最多可以接几个_【技术】详解一个交换机能带动多少个网络监控摄像头?...
原标题:[技术]详解一个交换机能带动多少个网络监控摄像头? 一个交换机能带动多少个网络监控摄像头?千兆交换机一般接200万网络摄像机能接几个?24个网络头,用一台24口百兆交换机行不行?下面就这类问题 ...
- 详解一个Python库,用于构建精美数据可视化web app,练习做个垃圾分类app
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 醉卧沙场君莫笑,古来征战几人回? ...
- 百度搜索研究,详解一个页面的索引价值!
写博客有一段时间,虽然每天的时间真的很忙,但我仍然保持着阅读的习惯,很多SEO小伙伴,习惯性的去找SEO干货,但有一些针对百度搜索的旧文档,我认为在今天,仍然给予我们很高的学习价值. 特别是当我建立S ...
- 用ode45解一个带有积分的微分方程(integro-differential equations)
一.问题提出: 这个方程来源于mathworks的论坛 l 这种方程叫 integro-differential equations ,大致是带有 integral term的微分方程.积分 ...
- 循环嵌套思路详解 | 一个“在盒子里过家家”的算法 -- 以冒泡排序与打印菱形为例
目录 前言 一.引例 -- 菱形打印 1. 题干要求 2. 如何阅读循环结构? 二."在盒子里过家家"的理解思路 1. 什么叫"在盒子里过家家"? 一个小例子 ...
- Linux串口编程最全详解-一个努力奋斗的少年
NAME termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, c ...
- mysql scope runtime_Maven依赖scope属性详解-一个报错引发的问题 - 老郭种树
ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the cont ...
最新文章
- 华为自研搜索引擎曝光:「花瓣」虽小,但要替代谷歌
- LeetCode 468 validate ip address(正则表达式)
- thymeleaf 判断页面不显示_Thymeleaf 中 Spring Security 的使用 0151
- 如何解决for in 循环无法遍历symbol key的问题
- 【商城购物车】购物车逻辑
- python csv转excel_将Excel文件转为csv文件的python脚本
- esc指令检查打印状态_【行业知识分享】八千字解读ESC系统
- macOS清理内存空间的其他other
- Android—修改button属性
- MNIST数据集下载 —— 数据集提供百度网盘下载地址
- redis问题及答案
- 使用anaconda安装pytorch
- 计算机二级考试干货内容,计算机二级考试经验总结,干货满满!
- CSS制作一个花式标题
- Linux service之自定义服务
- galaxy 用不了_开箱即用使Galaxy S9更好的六种方法
- 为什么要用CAT工具辅助翻译?为什么要用翻译管理系统?以memoQ为例
- qtablewidget 复选框选中_QTableWidget中checkBox如何判断复选框是否被选中
- 标自然段的序号格式_word怎么自然段编号-word段落添加编号-word怎么分段编号
- 安卓手机主题软件_安卓手机数据恢复软件——FonePaw Android Data Recovery Mac
热门文章
- python-某旗小说app的学习过程
- 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。 注意对于重复的emp_no进行忽略。...
- 网络营销推广怎么做 一封神奇的文案策划背后的真相
- 老五苏-34:慧眼独具 比起“大哥”苏-27,苏-34的个子要高大一些。
- 【杜教BM模板】焦作网赛L
- pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
- 李白 三五七言·秋风词
- 【Windows10】远程桌面共享多个显示屏
- 什么是主动式计算机用户,电脑电源主动PFC是什么意思
- 打印机设置纵向打印,打印出来确实横向