欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    MATHEMATICA编程语言基础.ppt

    • 资源ID:5438837       资源大小:243.50KB        全文页数:58页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATHEMATICA编程语言基础.ppt

    1,Mathematica编程语言基础,专题5:编程,2,纯函数,没有名字的函数,可用如下方式定义Functionx,body or Functionx1,x2,bodyBody&自变量为#1,#2,#3.纯函数省去了函数命名,常常与Map,Apply,Nest等函数结合使用,3,#表示纯函数第一个变量#n表示纯函数第n个变量#表示纯函数第所有变量序列#n表示纯函数从第n个变量开始的变量序列,4,具有非符号头部的表达式,这是由纯函数所产生的一种结果,5,6,一些常用函数运算,Compositionf,g,函数的复合,相当于fgInvereFunctionff的反函数Identity恒等函数Throughpf1,f2x 给出pf1x,f2xOperatep,fx给出pfx,7,8,模式的命名(pattern),_任意表达式x_名为x的任意表达式x:pattern与pattern匹配的名为x的表达式,9,模式中表达式的限制,x_h具有头部为h的表达式x_Integerx_Realx_Complexx_Listx_Symbol,10,限制模式,pattern/;condition条件满足时模式匹配lhs:=rhs/;condition条件满足时使用定义lhs:rhs/;condition条件满足时使用规则,11,测试数学特性的常用函数,12,多种选择方案|,13,可以赋给函数的属性,通过SetAttributes赋予函数属性通过Attributes获得函数属性Orderless交换性fa,b=fb,aFlat结合性ffa,b=fa,bOneIdentity恒等fa=a,14,15,变量个数不确定以及模式默认值,_可以表示个数不确定的变量_可以表示零个或多个变量两者其他用法与_相同x_:x0表示模式x具有默认值x0 x_.表示变量x具有默认值x_+y_.y的默认值为0 x_ y_.y的默认值为1x_y_.y的默认值为1,16,带有默认值的模式可以作为函数的可选变量,17,重复模式,expr.重复一次或多次expr重复零次或多次,18,x=y当x与y的值相等时,返回true,否则返回falsex!=y或xy当x与y的值不相等时,返回true,否则返回falsexyx=y或xy,逻辑判断符号,19,p,优先级:!&|,20,条件命令,If条件,真操作,假操作,其它操作先判断条件;如果是true,执行真操作;如果是false,执行假操作;如果两者都不是,执行其它操作,21,If条件,真操作If条件,真操作,假操作,表达式/;条件仅当条件为True时才执行表达式,22,Which条件1,表达式1,条件2,表达式2,依次计算条件i,给出对应第一个条件为True 的表达式的值;若所有条件i的值都是False,则返回Null,23,Switch表达式,形式1,形1值,形式2,形2值,执行表达式,将结果依次与形式i匹配,给出与第一个可匹配的形式的值;若没有可匹配的形式,则返回Null,24,循环命令,While条件,表达式判断条件,如果为true,执行一次表达式;如果为flase,退出循环。重复上边步骤,直致条件为false表达式可由多个语句组成,用“;”隔开,25,For初始化,条件,增量,表达式执行初始化(只执行一次);判断条件,如果为true,执行一次表达式;如果为flase,退出循环;计算增量,修改条件;重复上边步骤,直致条件为false初始化、条件、增量、表达式都可由多个语句组成,用“;”隔开,26,Do表达式,i,imin,imax,di 按循环描述,重复求值表达式,27,Break 退出最里面的循环Continue 转入当前循环的下一步Returnexpr退出所有循环,返回expr,循环控制命令,28,简单输出语句,循环控制函数自身不输出结果Print变量 or“字符串”输出变量的值或字符串内容不受句末“;”影响,29,例 定义如下函数,使用“/;”定义f x_:=0/;x0 x2,f(x)=,30,使用 If 定义f x_:=If x2,x2,x 使用Which定义f x_:=Which x2,x2,True,x,31,32,例1.写出一元二次方程ax2+bx+c=0判别根的类型的Mathematica自定义函数形式。解:一元二次方程根的判别式为=b2-4ac,当0时方程有两个实根;当0,two real roots,w0,two complex roots,w=0,duplicate roots)In9:=g0,1,2Out9=two real rootsIn10:=g3,1,2Out10=two complex rootsIn11:=g3,0,0Out11=duplicate roots,例2 找出300至500之间同时能被3和11整除的自然数。解:Mathematica 命令为:In23:=DoIfModi,13=0 If5x+3y+z/3=100,Printx=,x,y=,y,z=,z,x,0,100,y,0,100得解x=0 y=25 z=75x=4 y=18 z=78x=8 y=11 z=81x=12 y=4 z=84,例4 编制20以内整数加法自测程序解:In30:=For i=1,i=10,i+,t=RandomInteger,0,10;s=RandomInteger,0,10;Printt,+,s,=;y=Input;Whiley!=t+s,Printt,+,s,=,y,Wong!Try again!;Printt,+,s,=;y=Input;Printt,+,s,=,y,Good 执行结果为3+0=3+0=3 Good7+3=12 Wong!Ttry again!7+3=10 Good,例5:用割线法求解方程x3-2x2+7x+4=0的根,要求误差|xk-xk-1|10-12,x2=x1-(x1-x0)*fx1/(fx1-fx0);x0=x1;x1=x2In29:=Nx1,12Out29=-0.487120155928,37,模块化(Module)Moudulex,y,body具有局部变量x,y,的模块,38,对局部变量赋初值Modulex=x0,y=y0,body,在使用局部变量时可以利用条件,39,模块工作的基本原理,模块每使用一次,就产生一个新符号代替局部变量,新符号的名字被唯一给定,它不与任何其他名字冲突。命名的方法是给定局部变量后加$,并给出唯一序号。这些符号具有临时性Uniquex产生形如x$nnn唯一名称的新符号Uniquex,y,产生一个新符号表$MouduleNumber为当前临时符号的序号,$SessionID为当前进程的进程号,巧妙设定可以避免不同进程临时序号相同产生的冲突。例如$ModuleNuber=1010$SessionID,40,数学中的哑元,41,Block块,Module变量具有局部性,Block变量名是全局的,值是局部的,退出Block后变量值自动恢复,42,With块使用局部常数,Withx=x0,y=y0,body定义局部常数x,y,。可以认为它是/.的推广,43,产生编译后的函数,Compilex1,x2,expr产生编译后的函数,对xi的值计算expr。编译后的函数会快很多,适合多次使用的函数,44,标准的计算过程,计算表达式的头部(Head或者0都能获得头部,Levelexpr,Heads-True会自动显示头部)依次计算表达式的每个元素使用与Orderless、Listable和Flat相关的规则使用已给出的定义使用内部定义计算结果,45,非标准计算过程,x=y不计算左边(请尝试x=x+1)Ifp,a,ba或b不同时计算Doexpr,n计算表达式n次Plotf,x,对x的一系列数值计算fFunctionx,body直到运用函数时才进行计算,46,可以改变计算过程的函数,EvaluateexprHoldexpr,47,48,程序调试相关(自行查阅相关帮助),TraceStack,49,文件和外部操作,file把表达式输出到文件,参Saveexprfile把表达式追加到文件FilePrint显示文件内容Save“file”,f,g,Directory,SetDirectory“dir”FileName,FileName“form”CopyFile“file1”,“file2”,DeleteFile“file”,50,文件和外部操作,Import“file”,“Table”导入数据表Export“file”,list,“Table”把list数据表导出到文件,51,导入导出一般数据(按文件后缀区分),Import“name.ext”Export“name.ext”,expr$ImportFormats系统支持的导入格式$ExportFormats系统支持的导出格式expr可以放在ToBox中,可加format参数,52,其他形式,TeXFormexpr,TeXSave“file.tex”,TeXSave“file.tex”,“source.nb”HTMLSave“file.html”,“source.nb”Cformexpr和FortranFormexprSplice“file”,“outfile”把形如的内容转化为相对应的输出,例如y=;变为y=-5*Cos(x)/8+5*Cos(3*x)/48-Cos(5*x)/80;,53,运行外部命令,“!command”MathLink(略)Install“command”Uninstalllink,54,上下文,任何符号由上下文和一个短名构成,形如contextshort$Context给出当前上下文,默认为GlobalContexts给出一个符号的上下文Context所有上下文组成的集合$ContextPath为当前上下文搜索路径CalculusPade只是将此包添加到上下文搜索路径中,可以通过全名直接使用包中函数,例如,55,建立程序包,BeginPackage“Package”将Package作为当前上下文f:usage=“text”引入作为输出目标Begin“Private”设置上下文为PackagePrivatefargs=value给出程序包中定义的主体End转换到当前一个上下文EndPackage上下文结束程序包,并放入搜索路径,56,指定独立包函数,context或者Get“context”Needs“context”当指定上下文不在$Packages中时读入程序包BeginPackage“Package”开始一个包Begin“context”转向一个新的上下文,End转向前一个上下文DeclarePackage“context”,“name1”,指明当用到符号name1,时自动调入程序包,57,通过名称操作符号,Symbol“name”以及SymbolNamesymbNameQ“form”是否有匹配form的符号,form如x*,Contexts“form”给出所有匹配符号Clear“form”或者Clear“context*Remove“form”或者Remove“context*,58,其他内容,字符串相关,包括StringLength,StringTake等用Mathematica做笔记本,幻灯片等,

    注意事项

    本文(MATHEMATICA编程语言基础.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开