广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Mathematica基础——处理连分数问题

    来源:网络收集  点击:  时间:2024-08-26
    【导读】:
    Mathematica不仅可以处理各种数学方程,还可以给出数字漂亮的根式解!下面,就来学习一下相关函数和代码!工具/原料more电脑Mathematica基本函数

    ContinuedFraction——求圆周率π的 连分数展开式的前20项。

    我们可以把它化简为分式的形式:

    FromContinuedFraction]

    结果是:14885392687/4738167652。

    用一些辅助函数,可以写出 π的传统的连分数形式,并且还可以手动控制它的项数:

    Manipulate,n]},Column],{90,30}],Large],Background-LightYellow], =}],Pane,Rest]],{600,600},Alignment-{Left,Center}],With},Pane}],{Automatic,20}]]}]],{{n,5,项数},1,25,1,Appearance-Labeled}]

    但是,好像最后面那一部分没能完整显示!

    代码分析——写出π的连分数 1/11分步阅读

    ContinuedFraction是“连分数”的意思,给出数字的连分数展开式的简化形式。但是,这跟我们平时看到的连分数外形相差很大 。

    FromContinuedFraction是“来自连分数 ”的意思,就是把连分数化简为分式形式。

    下面,我们一步一步地来分析上面这段代码!

    首先,把ContinuedFraction,n]的结果定义为cf,把fcf=FromContinuedFraction的结果定义为fcf。

    注意:cf和fcf定义里面的参数n是变量,因此,cf和fcf要整合的With循环内部,否则代码不能运行!

    2/11

    RadicalBox是“根号盒子”的意思,就是我们常说的根号。

    但是,下面的代码没什么意义 :

    RadicalBox

    3/11

    要想看到正确的根式符号,需要“展示”——DisplayForm:

    DisplayForm]

    结果如图。

    4/11

    Pane,是“格子、窗格”的意思!

    我们用格子把式子包起来,但是格子默认是透明的,所以,看起来没什么效果!

    但是,实际上是不同的,你只要用鼠标“选中”运行结果,就能看出区别!代码里面的{Automatic,60}表示格子的大小——宽度自定、高度为60.

    Pane],{Automatic,60}]

    5/11

    我们可以改变格子里面内容的大小(由于里面是以文本形式存在的,所以,用Style来约束它):

    Style]{Automatic,30}],Large]

    6/11

    我们可以给这个格子加上背景色(Background),再套上一个外框(Frame),这样看起来就不会有空洞感了!

    同时,在格子右边加一个“=”,使格子和等号保持在同一行,这就要用的Row——行!

    看下图,格子的背景色设置为浅黄色。从第二步到第六部 ,就是给出了这个根号式和后面的等号。这是第一个格子。

    7/11

    再来处理连分数的主题部分——第二个格子。

    先把cf变成字符串,用到的函数是ToString,代码如下:

    ToString/@cf

    你能看出它与cf本身有什么区别吗?看不出来!但是,这一步处理却是必须的。原因稍后就知道。

    8/11

    用Fold函数给出连分数:

    Fold,Rest]]

    对比一下:

    Fold,Rest]],就知道,cf有没有必要作字符串处理了。

    9/11

    再把这个连分数放到一个格子里,格子大小是600*300.

    Pane,

    Rest]],{600,300}]

    这样,π的连分数也放到格子里了。

    10/11

    下面是第三个格子——化简连分数、化为小数形式。

    fcf=FromContinuedFraction;Pane}],{Automatic,20}]

    其中,N就是在“化为小数形式”。可是,我们发现,分式显示不完整,原来是格子太小了 ,我们可以让格子的宽和高都Automatic。

    11/11

    现在,三个格子都做好了,可以用Column排成一列:

    Column],{90,30}],Large],Background-LightYellow], =}],Pane,Rest]],{600,300},Alignment-{Left,Center}],With},Pane}],{Automatic,Automatic}]]}]

    三个格子,对应三段代码,最后用Column整合!

    最后的效果

    最后,经过对代码的理解,可以给出下面效果较好的互动代码!

    Manipulate,n]},Column],{90,30}],Large],Background-LightYellow], =}],Pane,Rest]],{600,300},Alignment-{Left,Center}],With},Pane}],{Automatic,Automatic}]]}]],{{n,5,项数},1,25,1,Appearance-Labeled}]

    但还是显示的不完整 ,大家可以自己调整格子的大小!

    注意事项

    写长代码,要善于分块,最后整合。

    如果本文对你有帮助,就把她推荐给你的朋友吧!

    MATHEMATICA连分数
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1158193.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 22:42:02  耗时:0.025
    0.0255s