Mathematica-教程.ppt

  1. 1、本文档共197页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mathematica-教程

4.带初始条件的微分方程的解 当给定一个微分方程的初始条件可以确定一个待定系数。例子 6.2微分方程的数值解?? 在Mathematica中用函数DSolve[]得到微分方程的准确解,用函数NDSolve得到微分方程的数值解,当然在此处要给出求解区间(x,xmin,xmax)。 NDSolve也是既能计算单个的微分方程,也能计算联立微分方程组。它能对大多数的常微分方程和部分偏微分方程求解。在常微分可能有一些未知函数yi,但这些未知函数都依赖于一个单变量x。 NDSolve[{eqn1,eqn2,…},y,{x,xmin,xmax}]求函数y的数值解,x属于[xmin,xmax] NDSolve[{eqnl,eqn2,…},{y1,y2,…}{x,xmin,xmax}]求多个函数yi的数值解 使用Mathematica页可以很容易的得到解的图形。这儿给出如何观察微商的逆函数的近似值图形。我们使用命令Evaluate代替InterpolatingFunction能够节省时间。 例如: 第7章 Mathematica程序设计 1.模块 ?模块的概念和定义方法 2.条件结构 ?条件结构的使用和定义方法 3.循环结构 ?循环结构的使用 7.1 模块? Module[{x,y,...},body] 具有局部变量x,y…的模块 Module[{x=x0,y=y0,…},body] 具有初始值的局部变量的模块 lhs:=Module[vars,rhs/:cond] rhs和cond共享局部变量 Block[{x,y,... },body] 运用局部值x,y, …计算body Block[{x=x0,y=y0,…},bddy] 给x,y,..赋初始值 下面定义有初值的变量t, Mathematica默认它为全局变量: ln[1]:=t=10 Out[1]=10 模块中的t为局部变量,因此它独立于全局变量t ln[2]:=Module[{t}, t=8; Print[t]] 全局变量t的值仍为10: ln[3]=t=10 Out[3]=10 全局变量t的值仍为10: ln[6]:=t=10 Out[6]=10 Mathematica 中的模块允许你把某变量名看作局部变量名。然而又存在有时你又希望它们为全局变量时,但变量值为局部的矛盾,这时我们可以用Block[ ]函数。下面是一个含有全局变量x表达式,使用x的局部值计算上面的表达式: Module[vars,body]所要做的是把执行模块时表达式body的形式看成Mathematica程序的“代码”。然而当“代码”中直接出现变量vats时,这些vars都将被看作局部的。Block[vats,body]并不查看表达式body的形式,而在整个计算Body的过程中,实用vars的局部值。 ln[12]:=m=i^2 ’ Out[12]:=i2 In[13]:=Block[{i=a},i+m] Out[13]=a+a2 In[14]:=Module[{i=a},i+m] Out[14]=a+i2 7.2 条件结构? 条件结构的常用形式 If[test,then,else] 如test为真, 计算then,反之计算else which[test1,value1,test2,...] 依次计算testl,给出对应的第一个为真的值 Switch[expr,forml,value1,form2,...] expr与每一个formi相比较,给出第一个相匹配的值 Switch[expr,form1, value1,form2,…,_,def] 用def为系统默认值 If命令 ln[1]:=If [10, 1+2, 2+3] Out[1]=3 2.Which命令 ??? 有时条件多于两个,在这种情况下可用If函数的嵌套方式来处理,但在这种情况下使用Whitch或Switch函数将更合适。下面用Which定义具有三个条件的函数,调用这个函数: 用Switch定义一个与模的余数有关的函数: 在Mathemahca中,有一种可能的情况就是你给出的条件结果既不是真也不为假。下面测试的结果既不是真也不是假, 因此If的两个分支保持不变: ln[1]:=If[x==y,a,b] Out[1]=If[x==y,a,b] 你可以给If加上第三个条件结果,这允许你测试的结果既不是真也不是假的情况下使用它: ln[2]:=If[x==y,a,b,c] Out[2]=c  ln[5]:=TrueQ[x==x] Out[5]=Tru

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档