Mathematica使用说明.ppt

上传人:sh****n 文档编号:6378044 上传时间:2020-02-24 格式:PPT 页数:197 大小:2.33MB
返回 下载 相关 举报
Mathematica使用说明.ppt_第1页
第1页 / 共197页
Mathematica使用说明.ppt_第2页
第2页 / 共197页
Mathematica使用说明.ppt_第3页
第3页 / 共197页
点击查看更多>>
资源描述
Mathematica教程 第1章Mathematica概述第2章Mathematica的基本量第3章Mathematica的基本运算第4章Mathematica函数作图第5章Mathematica微积分的基本操作第6章Mathematica微分方程的求解第7章Mathematica程序设计 第1章Mathematica概述 1 1 1Mathematica的启动和运行 Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件 以符号计算见长 也具有高精度的数值计算功能和强大的图形功能 假设在Windows环境下已安装好Mathematica4 0 启动Windows后 在 开始 菜单的 程序 中单击 就启动了Mathematica4 0 在屏幕上显示如图的Notebook窗口 系统暂时取名Untitled 1 直到用户保存时重新命名为止 输入1 1 然后按下Shift Enter键 这时系统开始计算并输出计算结果 并给输入和输出附上次序标识In 1 和Out 1 注意In 1 是计算后才出现的 再输入第二个表达式 要求系统将一个二项式展开 按Shift Enter输出计算结果后 系统分别将其标识为In 2 和Out 2 如图 在Mathematica的Notebook界面下 可以用这种交互方式完成各种运算 如函数作图 求极限 解方程等 也可以用它编写像C那样的结构化程序 在Mathematica系统中定义了许多功能强大的函数 我们称之为内建函数 built infunction 直接调用这些函数可以取到事半功倍的效果 这些函数分为两类 1 一类是数学意义上的函数 如 绝对值函数Abs x 正弦函数Sin x 余弦函数Cos x 以e为底的对数函数Log x 以a为底的对数函数Log a x 等 2 第二类是命令意义上的函数 如作函数图形的函数Plot f x x xmin xmax 解方程函数Solve eqn x 求导函数D f x x 等 Mathematica严格区分大小写 一般地 内建函数的首写字母必须大写 有时一个函数名是由几个单词构成 则每个单词的首写字母也必须大写 如 求局部极小值函数FindMinimum f x x x0 等 第二点要注意的是 在Mathematica中 函数名和自变量之间的分隔符是用方括号 而不是一般数学书上用的圆括号 初学者很容易犯这类错误 必须注意的是 如果输入了不合语法规则的表达式 系统会显示出错信息 并且不给出计算结果 例如 要画正弦函数在区间 10 10 上的图形 输入plot Sin x x 10 10 则系统提示 可能有拼写错误 新符号 plot 很像已经存在的符号 Plot 实际上 系统作图命令 Plot 第一个字母必须大写 一般地 系统内建函数首写字母都要大写 再输入Plot Sin x x 10 10 系统又提示缺少右方括号 并且将不配对的括号用蓝色显示 如图 一个表达式只有准确无误 方能得出正确结果 学会看系统出错信息能帮助我们较快找出错误 提高工作效率 1 1 2表达式的输入 Mathematica提供了多种输入数学表达式的方法 除了用键盘输入外 还可以使用工具栏或者快捷方式健入运算符 矩阵或数学表达式 1 数学表达式二维格式的输入 Mathematic担提供了两种格式的数学表达式 形如x 2 3x y x w 的称为一维格式 形如的称为二维格式 你可以使用快捷方式输入二维格式 也可用基本输入工具栏输入二维格式 可从FILE菜单中激活Palettes BasicInput工具栏 也可输入 并且使用工具栏可输入更复杂的数学表达式 如图 2 特殊字符的输入 MathemMatica还提供了用以输入各种特殊符号的工具样 基本输入工具样包含了常用的特殊字符 上图 只要单击这些字符按钮即可输入 若要输入其它的特殊字符或运算符号 必须使用从FILE菜单中选取CompleteCharacters工具栏 如图 1 2Mathematica的联机帮助系统 用Mathematica的过程中 常常需要了解一个命令的详细用法 或者想知系统中是否有完成某一计算的命令 联机帮助系统永远是最详细 最方便的资料库1 获取函数和命令的帮助 在Notebook界面下 用 或 可向系统查询运算符 函数和命令的定义和用法 获取简单而直接的帮助信息 例如 向系统查询作图函数Plot命令的用法 Plot系统将给出调用Plot的格式以及Plot命令的功能 如果用两个问号 则信息会更详细一些 Plot 给出所有以Plot这四个字母开头的命令2 Help菜单 任何时候都可以通过按F1键或点击帮助菜单项HelpBrowser 调出帮助菜单 如下图所示 其中的各按钮用途如下表所示 如果要查找Mathematica中具有某个功能的函数 可以通过帮助菜单中的Mahematica使用手册 通过其目录索引可以快速定位到自己要找的帮助信息 例如 需要查找Mathematica中有关解方程的命令 单击 TheMathematicaBook 按钮 再单击 Contents 在目录中找到有关解方程的节次 点击相应的超链接 有关内容的详细说明就马上调出来了 如果知道具体的函数名 但不知其详细使用说明 可以在命令按钮Goto右边的文本框中键入函数名 按回车键后就显示有关函数的定义 例题和相关联的章节 例如 要查找函数Plot的用法 只要在文本框中键入Plot 按回车键后显示如图的窗口 再按回车键 则显示Plot函数的详细用法和例题 如果已经确知Mathematica中有具有某个功能的函数 但不知具体函数名 可以点击Built inFunctions按钮 再按功能分类从粗到细一步一步找到具体的函数 例如 要找画一元函数图形的函数 点击Built inFunctions GraphicsandSound 2DPlots Plot 找到Plot的帮助信息 如果知道具体的函数名 但不知其详细使用说明 可以在命令按钮Goto右边的文本框中键入函数名 按回车键后就显示有关函数的定义 例题和相关联的章节 例如 要查找函数Plot的用法 只要在文本框中键入Plot 按回车键后显示如图1 5的窗口 再按回车键 则显示Plot函数的详细用法和例题 如果已经确知Mathematica中有具有某个功能的函数 但不知具体函数名 可以点击Built inFunctions按钮 再按功能分类从粗到细一步一步找到具体的函数 例如 要找画一元函数图形的函数 点击Built inFunctions GraphicsandSound 2DPlots Plot 找到Plot的帮助信息 第2章Mathematica的基本量 2 1数据类型和常数 1数值类型在Mathematic中 基本的数值类型有四种 整数 有理数 实数和复数 如果你的计算机的内存足够大 Mathemateic可以表示任意长度的精确实数 而不受所用的计算机字长的影响 整数与整数的计算结果仍是精确的整数或是有理数 例如 2的100次方是一个31位的整数 ln 1 2 100Out 1 1267650600228228229401496703205376 在Mathematica中允许使用分数 也就是用有理数表示化简过的分数 当两个整数相除而又不能整除时 系统就用有理数来表示 即有理数是由两个整数的比来组成如 In 2 12345 5555Out 2 2469 1111实数是用浮点数表示的 Mathematica实数的有效位可取任意位数 是一种具有任意精确度的近似实数 当然在计算的时候也可以控制实数的精度 实数有两种表示方法 一种是小数点另外一种是用指数方法表示的 如 ln 3 0 239998Out 3 0 23998ln 4 0 12 10 11Out 4 0 12 10 11实数也可以与整数 有理数进行混合运算结果还是一个实数 复数是由实部和虚部组成 实部和虚部可以用整数 实数 有理数表示 在Mathematica中 用I表示虚数单位如 In 6 3 0 7IOut 6 3 0 7I 2 不同类型数的转换在Mathematica的不同应用中 通常对数字的类型要求是不同的 例如在公式推导中的数字常用整数或有理数表示 而在数值计算中的数字常用实数表示 在一般情况下在输出行Out n 中 系统根据输入行ln n 的数字类型对计算结果做出相应的处理 如果有一些特殊的要求 就要进行数据类型转换 在Mathematica中的提供以下几个函数达到转换的目的 举例 ln 1 N 5 3 20 Out 1 1 66666666666666666667ln 2 N 10 Out 2 1 66666667二行输出是把上面计算的结果变为10位精度的数字 表示上一输出结果 In 3 Rationalize Out 3 5 3 3 数学常数Mathematica中定义了一些常见的数学常数 这些数学常数都是精确数 例如表示圆周率 数学常数可用在公式推导和数值计算中 在数值计算中表示精确值 如 In 1 Pi 2Out 1 ln 2 Pi 2 NOut 2 9 86961 4 数的输出形式在数的输出中可以使用转换函数进行不同数据类型和精度的转换 另外对一些特殊要求的格式还可以使用如下的格式函数 例如 ln 1 N Pi 30 30 Out 1 ln 2 NumberForm 10 Out 2 NumberForm 下面的函数输出幂值可被3整除的实数In 3 EngineeringForm Out 3 EngineeringForm 2 2变量 1 变量的命名Mathematica中内部函数和命令都是以大写字母开始的标示符 为了不会与它门混淆 我们自定义的变量应该是以小写字母开始 后跟数字和字母的组合 长度不限 例如 a12 ast aST都是合法的 而12a z a是非法的 另外在Mathematica中的变量是区分大小写的在Mathematica中 变量不仅可以存放一个数值 还可以存放表达式或复杂的算式 2 给变量赋值在Mathmatica中用等号 为变量赋值 同一个变量可以表示一个数值 一个数组 一个表达式 甚至一个图形 如 In 1 x 3Out 1 3In 2 x 2 2xOut 2 15In 3 x 1Out 3 16 对不同的变量可同时赋不同的值 例如 In 4 u v w 1 2 3 Out 4 1 2 3 In 5 2u 3v wOut 5 11 对于已定义的变量 当你不再使用它时 为防止变量值的混淆 可以随时用 清除它的值 如果变量本身也要清除用函数Clear x 例如ln 6 u ln 7 2u vOut 7 2 2u 3 变量的替换在给定一个表达式时其中的变量可能取不同的值 这是可用变量替换来计算表达式的不同值 方法为用expr 例如 In 1 f x 2 1Out 1 In 2 f x 1Out 2 In 3 f x 2Out 3 3 如果表达式中有多个变量也可以同时替换方法为例如有两个 expr x xval y val In 4 x y x y 2 x 3 y 1 a Out 4 4 a 2 a 2 2 3函数 1 系统函数在Mathmatic中定义了大量的数学函数可以直接调用 这些函数其名称一般表达了一定的意义 可以帮助我们理解 下面是几个常用的函数 Mathematica中的函数与数学上的函数有些不同的地方 Mathematica中函数是一个具有独立功能的程序模块 可以直接被调用 同时每一函数也可以包括一个 或多个参数 也可以没有参数 参数的的数据类型也比较复杂 更加详细的可以参看系统的帮助 了解各个函数的功能和使用方法是学习Mathematica软件的基础 2 函数的定义 1 函数的立即定义立即定义函数的语法如下f x expr函数名为f 自变量为x expr是表达式 在执行时会把expr中的x都换为f的自变量x 不是x 函数的自变量具有局部性 只对所在的函数起作用 函数执行结束后也就没有了 不会改变其它全局定义的同名变量的值 请看下面的例子定义函数f x x Sinx x 2对定义的函数我们可以求函数值 也可绘制它的图形 对于定义的函数我们可以使用命令Clear f 清除掉而Remove f 则从系统中删除该函数 2 多变量函数的定义也可以定义多个变量的函数 格式为f x y z expr自变量为x y z 相应的expr中的自变量会被替换 例如定义函数f x y xy ycosx 3 延迟定义函数延迟定义函数从定义方法上与即时定义的区别为 与 延迟定义的格式为f x expr其他操作基本相同 那么延迟定义和即时定义的主要区别是什么 即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用 延时定义只是在调用函数时才真正定义函数 4 使用If命令定义函数如果要定义如 这样的分段函数可以用If语句来定义 If语句的格式为If 条件 值1 值2 如果条件成立取 值1 否则取 值2 下面用If语句的定义结果 这里使用了两个If嵌套 2 4表 将一些相互关联的元素放在一起 使它们成为一个整体 既可以对整体操作 也可以对整体中的一个元素单独进行操作 在Mathematica中这样的数据结构就称作表 List 表主要有三个用法 表 a b c 可以表示一个向量 表 a b c d 可表示一个矩阵 1 建表在表中元素较少时 可以采取直接列表的方式列出表中的元素 如 1 2 3 请看下面的操作In 1 1 2 3 Out 1 1 2 3 下面是符号表达式的列表In 2 1 x x Out 2 1 2x 1 2x x2 1 3x x2 下面是对列表中的表达式对x求导In 3 D x Out 3 2 2 2x 3 3x2 In 4 x 1Out 4 2 4 6 如果表中的元素较多时 可以用建表函数进行建表 下面给出x乘i的值的表 i的变化范围为 2 6 In 1 Table x i i 2 6 Out 1 2x 3x 4x 5x 6x In 2 Table x 2 4 Out 2 x2 x2 x2 x2 用Range函数生成一个序列数In 3 Range 10 Out 3 1 2 3 4 5 6 7 8 9 10 下面这个序列是以步长为2 范围从8到20In 4 Range 8 20 2 Out 4 8 10 12 14 16 18 20 上面的参数变化都是只有一个 也可制成包括多个参数的表 下面生成一个多维表 In 5 Table 2i j i 1 3 j 3 5 Out 5 5 6 7 7 8 9 9 10 11 使用函数TableForm可以以表格的方式输出In 6 TableFormOut 6 TableForm 56778991011 2 表的元素的操作当t表示一个表时 t i 或者Part t i 表示t中的第i个子表 如果t 1 2 a b 那么t 3 表示 a 如 ln 1 t Table I 2 j I 1 3 j 3 5 Out 1 7 9 11 8 10 12 9 11 13 ln 2 t 2 Out 2 8 10 12 表的操作 1 制表函数 2 元素操作 3 表的操作 2 5表达式 1 表达式的含义Mathematica能处理数学公式 表以及图形等多多种数据形式 尽管他们从形式上看起来不一样 但在Mathematica内部都被看成同种类型 即都把他们当作表达式的形式 Mathematica中的表达式是由常量 变量 函数 命令 运算符和括号等组成 他最典型的形式是f x y 2 表达式的表示形式在显示表达式时 由于需要的不同 有时我们需要表达式的展开形式 有时又需要其因子乘积的形式 在我们计算过程中可能得到很复杂的表达式 这时我们又需要对它们进行化简 常用的处理这种情况的函数 变换表达式表示形式函数 表达式 x y 4 x y 2 展开 还原上面的表达式为因子乘积的形式 3 关系表达式与逻辑表达式我们已经知道 表示给变量赋值 现在我们来学习一些其它的逻辑与关系算子 关系表达式是最简单的逻辑表达式 我们常用关系表达式表示一个判别条件 例如 x 0 y 0 关系表达式的一般形式是 表达式 关系算子 表达式 其中表达式可为数字表达式 字符表达式或意义更广泛的表达式 如一个图形表达式等 在我们实际运用中 这儿的表达式常常是数字表达式或字符表达式 下面出Mathematica中的各种关系算子 给变量x y赋值 输出后以变量的值 如 In 1 x 2 y 9Out 1 9 In 2 x yOut 2 False下面是比较两个表达式的大小In 3 3 2 y 1Out 3 True 用一个关系式只能表示一个判定条件 要表示几个判定条件胡组合 必须用逻辑运算符将关系表达式组织在一起 我们称表示判定条件的表达式为逻辑表达式 下面是常用的逻辑运算和它们的意义 非 并 或 Xor 异或 If 条件例如下面的例子说明它们的应用In 4 3x 2 Y 1 3 2 yOut 4 FalseIn 5 3x 2 1 3 2 yOut 5 True 第3章Mathematica的基本运算 3 1多项式的表示形式 可认为多项式是表达式的一种特殊的形式 所以多项式的运算与表达式的运算基本一样 表达式中的各种输出形式也可用于多项式的输出 Mathematica提供一组按不同形式表示代数式的函数 3 2方程及其根的表示 因为Mathematica把方程看作逻辑语句 在数学方程式表示为形如 x2 2x 1 0 的形式 在Mathematica中 用作赋值语句 用 表示逻辑等号 则方程应表示为x 2 2x 1 0 方程的解同原方程一样被看作是逻辑语句 例如用Roots求方程x 2 3x 2的根显示为 这种表示形式说明x取1或2均可 而用Solve 可得解集形式1求解一元代数方程下面是常用的一些方程求解函数 Solve函数例子Solve函数可处理的主要方程是多项式方程 Mathematica总能对不高于四次的方程进行精确求解 对于三次或四次方程 解的形式可能很复杂 例如求x3 5x 3 0 这时可用N函数近似数值解 当方程中有一些复杂的函数时 Mathematica可能无法直接给出解来 在这种情况下我们可用FindRoot 来求解 但要给出起始条件 例如 求3Cosx logx的解 但只能求出x 1附近的解 如果方程有几个不同的解 当给定不同的条件时 将给出不同的解 如上例若求x 10附近的解命令为 因此确定解的起始位置是比较关键 一种常用的方法是 先绘制图形观察后再解 如上例通过图形可断定在x 5附近有另一根 2 求方程组的根使用Solve和NSolve FindRoot也可求方程组的解 只是使用时格式略有不同下面给出一个Solve函数的例子 求解 3 求方程的全解如果我们求ax2 bx c 0的根我们用Solve函数解的结果是 这显然是不合理的 因为对不同的a b c方程的解有不同的情况 而上面只是给出部分解如果要解决这个问题可用Reduce命令 它可根据 a b c的取值给出全部值 4 解条件方程在作方程计算时 可以把一个方程看作你要处理的主要方程 而把其他方程作为必须满足的辅助条件 你将会发现这样处理很方便 譬如在求解像x4 bx2 c 0这样的方程时 通常我们采用x2 y的代换方法使求解方程得到简化 在Mahematica中 我们通常是首先命名辅助条件组 然后用名字把辅助条件包含在你要用函数Solve 求解的方程组中 用Sc定义方程 Sin2x Cos2x 1 在这种条件下 求解方程 3 3求和与求积 在Mathematica中 数学上的各式符号用Sum表示 连乘用Product表示 下面列出求和与求积函数的形式和意义 Sum f i imin imax 求和Sum f i imin imax di 以步长di增加i求和 Sum f i imin imax j jmin jmax 嵌套求和Product f i imain imax 求积Product f i imin imax di 以步长di增加i求和Product f I imin imax j jmin jmax 嵌套求积Nsum f i imin Infinity 求近似值NProduct f i imin Infinity 求近似值 第4章函数作图 4 1基本的二维图形 Mathematica在直角坐标系中作一元函数图形用下列基本命令 Plot f x xmin xmax option value 在指定区间上按选项定义值画出函数在直角坐标系中的图形 Plot f1 f2 f3 x xmin xmax option value 在指定区间上按选项定义值同时画出多个函数在直角坐标系中的图形 Mathematica绘图时允许用户设置选项值对绘制图形的细节提出各种要求 例如 要设置图形的高宽比 给图形加标题等 每个选项都有一个确定的名字 以 选项名 选项值 的形式放在Plot中的最右边位置 一次可设置多个选项 选项依次排列 用逗号隔开 也可以不设置选项 采用系统的默认值 1 举例 1 例如绘制的图形 2 如果要取消刻度可以使用Ticks选项 3 如果要标注坐标名称x轴为 Time y轴为 Height 4 将坐标交点 3 0 并标注图形名称 5 修改x方向的刻度 y轴方向的刻度则用默认值 6 定义y轴的绘图范围 7 另外我们也可以将图形结果定义给变量 但不显示图形 后用Show命令显示 2 数据集合的图形 Mathematica用于绘数字集合的图形的命令与前而介绍的绘函数图形的命令是相似的 如下 1 下面举例说明下面是一个离散数据的集合的图形 3 二维参数作图 前面我们使用Plot命令可以绘出直角坐标系下的函数图形 使用ParametrecPlot可以绘制参数曲线下面给出ParametricPlot的常用形式 1 绘制参数方程的图形 2 下面将一个圆与上面参数绘在同一个坐标下 并保证图形的形状正确 4 3图形的样式 下面给出选项用于设置图形样式 1 图形颜色的设置 在Mathematicaa提供各种图形指令中 对图形元素颜色的设置是一个很重要的设置 下面给出三条不同颜色的正弦曲线 下面用不同的色调对三个菱形进行着色 2 图形大小下面是一些点 注意点大小的控制 下面的点的控制是用绝对单位 3 线段的控制下面的例子是控制线段的宽度 使用的是绝对控制 4 4图形的重绘和组合 每次绘制图形后 Mathematica保存了图形的所有信息 所以用户可以重绘这些图形 下面是常用重绘图形的函数 1 使用Show显示图形下面绘制函数Sin x 2 的图形 重绘图形时 可以改变命令的设置 下面改变y的比例同时给图边框 2 使用Show命令进行组合也可使用Show进行图形组合 图形组合与图形是否有相同的比例无关 这时Mathematica会自动选择新的比例来绘制图形 下面绘制函数 xsin 2x Pi 的图形和xcos 2x 然后绘制在一张图时 3 将多个图形组合为一个图形我们也可把图形组合为一个图形 我们还可以用GraphicsArray把多个图形绘制在一个图形矩阵中如下图 4 5基本三维图形 绘制函数f x y 在平面区域上的三维立体图形的基本命令是Plot3D Plot3D和Plot的工作方式和选项基本相同 ListPlot3D可以用来绘制三维数字集合的三维图形 其用法也类似于ListPlot 下面给出这两个函数的常用形式 Plot3D f x xmin xmax y ymin ymax 绘制以x和y为变量的三维函数f的图形ListPlot3D Z11 Z12 Z21 Z22 绘出高度为Zvx数组的三维图形 1 三维绘图举例 1 函数Sin x y Cos x y 的立体图 用PlotRange设定曲线的表面的变化范围 3 图形轴上加上标记 且在每个平面上画上网格 4 视图的改变 2 用数据来进行绘图三维图形也可用数据来进行绘图 下面给出数据矩阵 因其较大未表示其结果 3 三维空间的参数方程绘图三维空间中的参数绘图函数ParametricPlot3D fx fv fz t tmin tmax 和二维空间中的ParametricPlot很相仿 在这种情况下 Mathematica实际上都是根据参数t来产生系列胡点 然后再连接起来 三维参数作图的基本形式为 ParametricPlot3D fx fv fz t tmin tmax u umin umax 产生一个空间曲面而不是一条曲线 曲面是由四边形组成 5 1极限 Mathematica计算极限的命令是Limit它的使用方法主要有 趋向的点可以是常数 也可以是 例如1 求 2 求 5 2微分 1 函数的微分在Mathematica中 计算函数的微分或是非常方便的 命令为D f x 表示对x求函数f的导数或偏导数 该函数的常用格式有以下几种 例如1 求函数Sinx的导数 2 求函数exSinx的2阶导数 3 假设a是常数可以对Sinax求导 4 如果对二元函数f x y x 2 y y 2求对x y求一阶和二阶偏导 Mathematica可以求函数式未知的函数微分 通常结果使用数学上的表示法例如 对链导法则同样可用 如果要得到函数在某一点的导数值可以把这点代入导数如 2 全微分在Mathematica中 D f x 给出f的偏导数 其中假定f中的其他变量与x无关 当f为单变量时 D f x 计算f对x的导数 函数Dt f x 给出f的全微分形式 并假定f中所有变量依赖于x 下面是Dt命令的常用形及意义 下面我们求x 2 y 2的偏微分和全微分可以看出第一种情况y与x没有关系 第二种情况y是x的函数 再看下列求多项式x 2 xy 3 yz的全微分并假定z保持不变是常数 如果y是x的函数 y被看成是常数 5 3计算积分 1 不定积分在Mathematica中计算不定积分命令为Integerate f x 当然并不是所有的不定积分都能求出来 例如若求Mathematica就无能为力 但对于一些手工计算相当复杂的不定积分 MatheMatica还是能轻易求得 例如求 2 定积分定积分的求解主要命令也是用Integrate只是要在命令中加入积分限Integrate f x min max 例如求 显然这条命令也可以求广义积分例如 求 求无穷积也可以例如 3 数值积分数值积分是解决求定积分的另一种有效的方法 它可以给出一个近似解 特别是对于用Integrate命令无法求出的定积分 数值积分更是可以发挥巨大作用 它的命令格式为 下面我们求Sinsinx在 0 Pi 上的积分值 由于这个函数的不定积分求不出 因此使用Integrate命令无法得到具体结果 但可以用数值积分求 如果积分函数存在不连续点 或存在奇点我们可对积分进行分段求解 例如函数在 1 1 上 显然x 0点是一个无穷间断点 因此若要求其数值积分 必须在其中插入点0 5 4多变量函数的微分 下面是计算多变量函数的偏导数及全微分的命令与单变量基本相同 I D f x1 x2 xn 计算偏导数下面是实际的例子 6 1微分方程解 在Mathematica中使用Dsolove 可以求解线性和非线性微分方程 以及联立的微分分方程组 在没有给定方程的初值条件下 我们所得到的解包括C 1 C 2 是待定系数 求解微分方程就是寻找未知的函数的表达式 在Mathematica中 未稳中有降函数用y x 表示 其微分用y x y x 等表示 下面给出微分方程 组 的求解函数 1 用Dsolve求解微分方程y x 解y x 仅适合其本身 并不适合于y x 的其它形式 如y x y 0 等 也就是说y x 不是函数 例如我们如果有如下操作 y x y 0 并没有发生变化 2 解的纯函数形式使用Dsolve命令可以给出解的纯函数形式 即y 请分析下面的例子 这里y适合y的所有情况下面的例子可以说明这一点 3 求微分方程组例子 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 1模块 下面定义有初值的变量t Mathematica默认它为全局变量 ln 1 t 10Out 1 10模块中的t为局部变量 因此它独立于全局变量tln 2 Module t t 8 Print t 全局变量t的值仍为10 ln 3 t 10Out 3 10 全局变量t的值仍为10 ln 6 t 10Out 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 i2In 13 Block i a i m Out 13 a a2In 14 Module i a i m Out 14 a i2 7 2条件结构 条件结构的常用形式 If命令ln 1 If 1 0 1 2 2 3 Out 1 32 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 cln 5 TrueQ x x Out 5 Trueln 6 TrueQ x y Out 6 false用 可直接测试两个表达式的等同性 In 7 x yOut 7 False 4 是逻辑表达式的运算形式 逻辑表达式 面的函数包括两个组合条件 In l0 t x x 0 1 x 3 对这两个测试条件进行计算 下面的第一次测试得出为假 因此不进行第二个条件的测试 第二测试结果可能为1或0 因此 7 3循环结构 Mathematica程序的执行包括对一系列Mathematica表达式的计算 对简单程序 表达式的计算可用分号 来隔开 然后一个接一个地进行计算 然而 有时需要对同一表达式进行多次计算 即循环计算 1 Do循环结构简单地Do循环结构形式 计算Print i i 2 i从1增加到3 还可把一个过程放入Do函数中 2 While与For结构 当条件满足时 While循环一直进行 因此为了防止死循环 在While中应包括命令能改变test的值 下面是For循环的例子 下面再给出一个较复杂的For循环的例子 Mathematica中的函数While和For循环总是在执行循环体前对循环条件进行测试 一旦测试结果为假 就中止While和For循环 3 一些特殊的赋值方式 4 重复运用函数 例子 5 流程控制常用的流程控制函数 例子 Continue Return Throw
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!