mathematica程序设计

mathematica程序设计

ID:15196606

大小:170.59 KB

页数:23页

时间:2018-08-01

mathematica程序设计_第1页
mathematica程序设计_第2页
mathematica程序设计_第3页
mathematica程序设计_第4页
mathematica程序设计_第5页
资源描述:

《mathematica程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、哈工Mathematica程序设计程大学如果要让Mathematica为你完成复杂的数学数学计算问题,那就需要利用Mathematica编写程序实验或者函数。本节将简要介绍Mathematica程序设电子教计的基本功能。案上页下页退出1、全局变量与局部变量哈如果不使用Clear[]等命令删除的话,全局变量在工整个程序中都存在,而使用Module[]或者Block[]定义程的变量称为局部变量(称为模块),它只在所定义的模大学块内是可见的。实际上,模块就是其它计算机语言中的函数或者子程序。数•Module[{x,y,…},body]建立模块,并且申请局部变量学x,y,…实•Mod

2、ule[{x=x0,y=y0,…},body]同上,但已经给局部变验量赋初值电子•Block[{x,y,…},body]建立模块,并且申请局部变量教x,y,…案•Block[{x=x0,y=y0,…},body]同上,但已经给局部变量赋初值上页下页退出其中body中可含有多个语句,除最后一个语句哈外,各语句间以分号结尾,可以多个语句占用一行,工也可一个语句占用多行。但这两个命令略有差别,当程大Module[]申请的局部变量与全局变量重名时,它会在学内存中重新建立一个新的变量,Module[]运行完毕,数这个新的局部变量也会从内存中消失,而Block[]此时学不会建立新的变量,

3、它将重名的全局变量的值存起实来,然后使用全局变量作为局部变量,当Block[]运行验完毕后,再恢复全局变量的值。电另外,如果在Module[]或Block[]中有Return[expr]子命令,则程序执行到Return[expr]后,将会跳出模块,教并返回expr的值;则模块中无Return[]命令,则返回模案块中最后一个语句的计算结果(注:最后一个语句不能用分号结束,否则将返回Null,即空信息)。上页下页退出下面这段程序是用Module编写的,它不需要输入哈任何信息,也不返回任何信息,但运行此程序,由打印出工程序的计算计算结果.程In[4]:=mmm:=Modulex,y

4、,z,x=1;y=2;大z=x+y;Printz;学;数学In[5]:=mmm实3验此段程序与程序:电子x=1;y=2;z=x+y;Print[z];教案的运行结果相同,但上面的程序中的x,y,z是局部变量,而后面的程序中是全局变量.上页下页退出如果将刚才的程序变为如下形式:哈In[6]:=f@x_,y_D:=Module@8z<,z=x+y;Return@zD;D;工程In[7]:=f@1,2D大Out[7]=3学数In[8]:=f@a+1,b+2D学Out[8]=3+a+b实验则它就是一个即有输入又有输出的子程序,其中的f[x_,y_]中的下划线是必不可少的,如果你对其它

5、计算电子机语言很熟悉,你一定要问一个问题:教案程序中的参数x,y是什么类型的变量?实际上,它是mathematica中任一合法表达式.上页下页退出看看下面对此程序的一个小小改动:哈In[11]:=f@x_,y_D:=Module@8xx,yy,z<,xx=Sin@xD;yy=Expand@yD;工程z=xx+yy;Return@zD;D;大In[12]:=f@t^2,Ht+1L^2D学22Out[12]=1+2t+t+Sin@tD数在某些情况下,我们可能需要输入参数x,y是某种特殊学类型的表达式,可以这样写:实In[16]:=g@x_Integer,y_RealD:=Modu

6、le@8z<,z=x+y;Return@zD;D;验In[17]:=g@3,4.5D电子Out[17]=7.5教In[18]:=G@3,4D案Out[18]=G@3,4D上页下页退出2、输入与输出哈Mathematica中,有两个在Notebook中不常用到工程的函数,对于程序设计来说很方便。大学•Print[expr1,expr2,…]打印表达式数•Input[“string”]通过键盘输入表达式,其中string为学提示字符串实请看看下面的例子:验In[19]:=A=Input"A=?";电Print"A^2=",A^2;子教A^2=9案上页下页退出3、条件语句哈Math

7、ematica提供了多种设置条件的方法,对于工编程来说很方便。程大•lhs=rhs/;test当test为True时,执行lhs=rhs学•If[test,then,else]若test为True,执行then,否则执行数else学•Which[test1,value1,test2,value2,…]返回首个testi为实True时的valuei值验•Switch[expr,form1,value1,form2,value2,…]先计算电expr的值,然后依次与formi比较,返回首个与formi子匹配

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。