- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.4.1 Mathematica程序设计简介
(王积社)
1.4.1.1 Mathematica程序设计功能
1.4.1.1.1 模块
模块,相当于C语言的子程序.即是把能够实现一定的功能的一系列表达式语句“集成”在一块,称之为一个模块,从而使Mathematica程序能更有效地工作,也使程序结构更加清晰.
另外,使用模块,也可更好地控制变量的属性.一般情况下,Mathematica假设所有变量都为全局变量.实际上这样做可能会使程序不具有通用性,也可能在调用程序时陷入混乱状态.于是就需要局部变量的功能,这需要用模块来控制.
Mathematica的模块工作很简单,在模块中可定义它的局部变量,局部变量有唯一的名字,互不冲突,可有效地保护模块内外的每个变量的作用范围.
常用模块函数有:Module与Block,其格式见下表:
Module[{x,y,...},body] 具有局部变量x,y…的模块 Module[{x=x0,y=y0,…},body] 具有初始值的局部变量的模块 Block[{x,y,... },body] 运用局部值x,y, …计算body Block[{x=x0,y=y0,…},body] 给x,y,..赋初始值 Body为执行体,包含合法的Mathematica语句,多个语句之间用“;”间隔,最后一个值为此模块的值.
分析下面的例子,注意区分Module与Block的功能.
输入: t=10;
Module[{t},t=8;Print[t]]
Print[t]
结果如右图:
可见模块中的t为局部变量,它独立于全局变量t(尽管模块内部有语句“t=8”且其Print[t]输出8,但是模块外的Print[t]仍输出10).
再看Block例子,输入:
y=x^2+1
Block[{x=1},Print[y]]
计算结果如右图:
可见在模块Block中用局部变量x的值计算了全局变量y的值,于是如果希望把模块中局部变量作为全局变量使用时,可以用Block[]函数.然而在Module中却不能,见右图结果:
总之,Module[vars,body]在执行时要检查模块体body,把其中出现变量vats都看作是局部的;而Block[vats,body]并不查看模块体body的形式,而在整个计算Body的过程中,只管使用vars的局部值.
强调:在程序设计时,应该使程序中的各个部分尽可能地独立,以使程序易读、易改、易维护,主要方法是设置具有一定作用域的变量,这就需要模块的功能.
1.4.1.1.2 逻辑运算
与: expr1 expr2 … exprn
计算expri,直到其中有一个为假为止.
或:|| exprl || expr2 || … || exprn
计算expri,直到其中有一个为真为止
1.4.1.1.3 一些特殊的赋值方式
i++ 变量i加1 i-- 变量i减1 ++i, 变量i先加1 --i 变量i先减1 i+=di i加d i-=di i减d x*=C x乘以c x/=c x除以c {x,y}={y,x} 交换x和y值 1.4.1.1.4条件结构
常用的条件结构函数有:
If[逻辑式,表达式1,表达式2,表达式3] 若逻辑式为真,则计算表达式1,
否则计算表达式2.
若逻辑表达式非真非假,就计算表达式3 If[逻辑式,表达式1,表达式2] 若逻辑式为真,则计算表达式1,
否则计算表达式2 If[逻辑表达式,表达式] 若逻辑式为真,则计算表达式,
否则此句值为空,相当于跳过此句. which[条件1,表达式1,…
条件n,表达式n] 顺次计算条件,计算对应的第一个为真的条件的表达式的值,若条件都为假,则整个结构的值为空 which[条件1,表达式1,…
条件n,表达式n,Ture,表达式] 顺次计算条件,计算对应的第一个为真的条件的表达式的值.若条件都为假,则计算最后的表达式 1.4.1.1.5 符号条件
在Mathemahca中,有一种可能的情况就是所给出的条件结果既不是真也不为假,请看右例:
下面给出处理符号条件的函数.因x=x,故Mathematica给出结果为真:
1.4.1.1.6 循环结构
1) Do循环.
Do[表达式 ,{i,max}] 循环计算表达式,步长为1,i从1增加到max Do[表达式 ,{i,min,max,d}] 循环计算表达式,步长为d,i从min增加到max Do[表达式 ,{ n }] 循环计算表达式n次 Do[表达式, {i...}, {j...}...]?? 多重循环(前面的外重循环)
2) While与F
您可能关注的文档
- 2013年度高考课堂新坐标物理二轮复习第1部分专题突破训练专题7光学 近代物理初步第1讲.ppt
- 2013年度高三总复习课件第1轮物理广西专版课件:111磁场磁场对电流作用.ppt
- 2013年度高考数学(理)一轮复习课件: 第三节第四节递推关系式求通项公式.ppt
- 2013年度高考物理第一轮考点自清复习课件20.ppt
- 2013年度高中物理教程选修31课件 28.ppt
- 11月17-18号所得税汇算前必须和早处理的40项业务.doc
- 2013年度广东物理一轮【第十二节第一讲冲量+动量+动量定理】.ppt
- 2013年度高考物理二轮难点突破复习 第十三篇 第一讲 光折射 全反射课件 新人教版选修3-4.ppt
- 2013年度高考物理核心要点突破系列课件:第13节 第八节《电容器电容》(人教版选修3-1).ppt
- 12国华畅行无忧两全保险条款.doc
最近下载
- GB∕T 3190-2020 -变形铝及铝合金化学成分.pdf
- 2025年汽车驾驶员高级技师基本理论知识考试题(+答案).docx VIP
- 近五年履职工作总结-wrz123.doc VIP
- 信息处理员考试模拟题库一.doc VIP
- 预备党员思想汇报4篇.docx VIP
- ACR BI-RADS (乳腺MR部分)课件.ppt VIP
- 2025国家知识产权局专利局专利审查协作河南中心招聘15人笔试备考试题及答案解析.docx VIP
- 中国民航大学《高等数学Ⅱ》2025-----2026学年期末试卷(A卷).docx
- 二升三年级数学暑假作业完整版25天.pdf VIP
- 如何提高护理文件书写内涵质量.ppt VIP
文档评论(0)