Mathematica基础复习.ppt_第1页
Mathematica基础复习.ppt_第2页
Mathematica基础复习.ppt_第3页
Mathematica基础复习.ppt_第4页
Mathematica基础复习.ppt_第5页
已阅读5页,还剩225页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验MathematicalExperiment 主讲教师叶传秀 窗口操作指令 执行指令的方法 左 Shift Enter 终止指令进行的方法 alt 动画演示 ctr y自动根据命令前辍完成命令 ctr k复制上一次的输入 ctr L复制上一次的输出 ctr shift L 数 变量 函数 算式和表 数的表示和计算变量函数表基本符号运算 分式xCtrl 2n次方xCtrl n开n次方Ctrl 2xCtrl 5n下标xCtrl n 数学表达式二维格式的输入 近似值的函数NMathematica允许用户任意指定数值计算的精度 函数N的调用格式如下 N 表达式 数字位数 N 表达式 另 可用函数NumberForm Real n 规定实数的显示位数 数的进制转换 可以使用b nnn将一个b进制的数nnn转化为十进制的数 可以使用BaseForm x b 函数将一个十进位数x化成b进位数 Pi表示 3 14159 E自然对数的底 e 2 71828 Degree 180I虚数单位Infinity无穷大 Infinity负的无穷大 GoldenRatio黄金分割数0 61803 数学常数 1 变量命名 Mathematica中的变量命名必须是以字母开头的并由字母或数字组成的字符串 长度不限 但是不能含有空格或标点符号 大写与小写字母用于表示不同的变量 例如x al bl2 Tc都是合法的变量名 2a是不合法的变量名 al与Al是不同的变量 变量 2 变量赋值 一个变量可以表示各种类型的数或字符串 也可以表示一个算式 与C语言不同 不必事先声明变量的类型 Mathematica会根据用户给变量所赋的值自动处理 x Value给x赋值 X y Value同时给x y赋相同的值 x y Value1 Value2 在Mathematica中 运算符号 或 起赋值作用 一般形式为 变量 表达式或变量1 变量2 表达式其执行步骤为 先计算赋值号右边的表达式 再将计算结果送到变量中 在Mathematica中 应理解为给变量一个值 在使用 定义规则时 定义式右边的表达式立即被求值 而在使用 定义规则时 系统不做运算 也就没有相应的输出 定义式右边的表达式不被立即求值 直到被调用时才被求值 因此 被称为延迟赋值号 被称为立即赋值号 一般的高级语言没有符号运算功能 因此 在C和Pascal等语言中 一个变量只能表示一个数值 字符串或逻辑值 而在Mathematica中 一个变量可以代表一个数值 一个表达式 一个数组或一个图形 为了避免隐蔽的错误 应该及时清除不再使用的变量 其方法有以下几种 3 清除变量 x 清除x的值但保留变量x Clear x 清除x的值 Remove x 清除变量x Clear Global 清除所有变量的值 Remove Global 清除所有变量 是一个重要的Mathematica符号 如下 4 表示输出的专用符号 表示前一个输出的内容 表示倒数第二个输出的内容 n表示第n个 即Out n 输出的内容 所有 n的内容一直被Mathematica记忆 它们可以像其他变量一样被后面的计算引用 灵活地使用 符号可以节省大量的输入时间 如输入 5 变量的替换在给定一个表达式时其中的变量可能取不同的值 这是可用变量替换来计算表达式的不同值 方法为 函数 变量名 数值或表达式或函数 变量名1 数值1或表达式1 变量名2 数值2或表达式2 fn x x 8可以得到函数值fn 8 fn x y x 3 y 2 x a y b 2 可以得到函数值fn a b 2 Mathematica的基本功能是作为一个最高级的函数计算器来使用的 各种操作主要靠函数来实现 Mathematica提供的函数种类繁多且功能强大 函数一词也不仅限于数学上的含义 有实现各种操作的函数 还可以由用户自定义函数 加入到Mathematica中 能像系统函数一样使用 3 函数 函数的一般形式是 函数名 参数1 参数2 b 系统函数的书写规则Mathematic的系统函数书写规则很严格 应注意以下几点 函数名首字符用大写 后面的字符一般用小写 当函数名分成几段时 每段的首字符应大写 函数名中不能含有空格 参数用方括号括起来 但是不能用圆括号 Mathematica认为圆括号表示相乘 如f x y f x y 2 常用函数 Abs x 求实数x的绝对值或复数的模Sign x 符号函数Max 一组数的最大值Min 一组数的最小值Re x Im x 复数x的实 虚 部Arg x 复数x的辐角Conjugate x 复数x的共轭数Floor x 不超过x的最大整数 Ceiling x 不小于x的最小整数Round x 最接近x的整数Mod m n 整数m被n除的余数Quotient m n 整数m被n除的整数部分GCD 一组整数的最大公约数LCM 一组整数的最小公倍数n n 求n的 双 阶乘Binomial n k 求FactorInteger n 将整数分解成素数的积 3 随机函数 Random 产生0 1之间的一个实数Random Integer 只能产生0或1Random Complex 产生单位正方形内的一个复数Random Real max 产生 0 max 范围内的一个实数Random Complex zmin zmax 产生左下角为zmin 右上角为zmax的矩形内的一个复数 1 函数的立即定义立即定义函数的语法如下f x expr函数名为f 自变量为x expr是表达式 在执行时会把expr中的x都换为f的自变量x 不是x 函数的自变量具有局部性 只对所在的函数起作用 函数执行结束后也就没有了 不会改变其它全局定义的同名变量的值 对于定义的函数我们可以使用命令Clear f 清除掉而Remove f 则从系统中删除该函数 4 函数的定义 2 多变量函数的定义也可以定义多个变量的函数 格式为f x y z expr自变量为x y z 相应的expr中的自变量会被替换 如 F x y x y Sin xy 3 延迟定义函数延迟定义函数从定义方法上与即时定义的区别为 与 延迟定义的格式为f x expr其他操作基本相同 那么延迟定义和即时定义的主要区别是什么 即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用 延时定义只是在调用函数时才真正定义函数 4 使用条件运算符定义和If命令定义函数这样的分段函数应该如何定义 显然要根据x的不同值给出不同的表达式 一种办法是使用条件运算符 基本格式为f x expr condition 当condition条件满足时才把expr赋给f If语句的格式为If 条件 值1 值2 如果条件成立取 值1 否则取 值2 5 函数求值 形式 函数 变量名 数值或表达式f x x 数值或表达式或者函数 变量名1 数值1或表达式1 变量名2 数值2或表达式2 表是存储多个数变量或等式等对象的一种数据结构 一个表用一对花括号表示 它的成员 元素 在括号内用逗号隔开 同一个表的成员可以有不同的数据类型 表的成员还可以是一个表 子表 如 4 表 t n 或Part t n 表示表t的第n个元素t n 或Part t n 表示表t的倒数第n个元素t 或Part t 表示t的第个元素T i j 或Part t i j 表示表t的第i个子表的第j个元素Length t 表示表t的元素的个数 1 表的元素的操作经常要提取或改变一个表中的元素 以下函数是常用的 下面函数可以通过提取添加删除替换一个表中的元素得到一个新表 原来的表不变 Take t n 提取表t的前n个元素Take t n 提取表t的后n个元素Take t m n 提取表的第m到第n个元素Insert t expr n 在表t的第n个位置插入元素 Insert t expr n 在表t的倒数第n个位置插入元素exprPrepend t expr 在表t的第一个元素前面插入元素exprAppend t expr 在表t的尾部插入元素exprDelete t n 删除表t的第n个元素Drop t n 删除表t的前n个元素 Drop t n 删除表t的后n个元素Drop t m n 删除表t的第m到n个元素ReplacePart t expr n 用expr替换表t的第n个元素ReplacePart t expr n 用expr替换表t的倒数第n个元素ReplacePart t expr i j 用expr替换表t的第i个元素中的第j个成员 2 表的操作通过下列函数可以进行表的运算 生成新表 原来的表不变 Join t1 t2 将表t1 t2连接成一个表Union t1 t2 取表t1 t2的并集组成一个表Union t 合并表t中的相同元素得到一个表Intersection t1 t2 取表t1 t2的交集组成一个表 Complement eall e1 e2 给出在表eall中但不在e1 e2 中的元素组成的表Partition t n 将表t的元素按n个一组生成子表Flatten t 展开表t的各个子表Sort t 将表t的元素按标准顺序排序Reverse t 将表t的元素逆向排列 Table f i imin imax stepi j jmin jmax stepj 用于建立通项为f的表 其中f是i j的函数 min max step规定了初值 终值 步长 min和step的默认值是1 3 某些建表函数最重要的建表函数是Table 其调用格式如下 以上参数设置用于建立一个2层表 实际上表的层数是可以任意的 使用函数Table 还可以生成具有抽象元素的表 通项f本身也可以具有表的形式 注记 函数Range用于建立一些特殊的表其调用格式如下 Range min max step 按初值 终值 步长生成一个表Range n 生成前n个自然数的表 5 基本的符号运算 基本代数运算 微积分 线性代数 代数运算是一切符号运算的基础 本节介绍实现各种基本代数运算的Mathematica函数 用于变换数学表达式 解方程和解不等式 其中最重要的是化简函数 在各种符号演算中都会用到 1化简计算结果 1 两个化简函数 Simplify expr 使用变换化简表达式FullSimplify expr 使用更广泛的变换化简表达式 注 函数FullSimplify还可以化简特殊函数 2 带有条件的化简化简函数允许带有条件 条件可以是等式或不等式 还可以使用下面的表达式指明数的取值范围 xdomElement x dom 其中dom只能取下列集合之一 Integers Rationals 有理数 Reals Complexes Primes Algebraics 代数 Booleans 2常用的因式分解函数 1 因式分解用于因式分解的函数是 Factor expr 用于和式的因式分解 也可以分解分式的分子 分母 还可以先通分 再分解 2 合并同类项合并同类项的函数是Collect 调用格式如下 Collect expr x 将表达式expr中的x的同次幂合并Collect expr x y 将表达式expr按x y 的同次幂合并 3 表达式的展开将表达式展开的函数有 Expand expr ExpandAll expr 这两个函数都可用于乘积的展开 也可以展开分式 后者的展开更为彻底 前者展开分式时只展开分子 后者将分子 分母都进行展开 4 分式的化简与展开下列函数分别用于有理式的合并 化简与展开 Together expr 用于通分 把所有的项放在同一个分母上并化简Cancel expr 用于约去分子 分母的公因式Apart expr 将有理式分解为最简分式的和 5 三角函数式的化简还有三角函数专用的分解 展开 化简函数 TrigExpand expr 将三角函数式展开TrigFactor expr 将三角函数式因式分解TrigReduce expr 用倍角化简三角函数式TrigToExp expr 将三角函数式转换成指数形式ExpToTrig expr 前一个函数的逆变换 3多项式的运算两个多项式的四则运算使用通常的 运算符 其中乘号可以用空格代替 PolynomialQuotient p1 p2 x 求x的多项式p1被p2除的商PolynomialRemainder p1 p2 x 求x的多p1被p2除的余式PolynomialGCD p1 p2 求多个因式的最大公因式PolynomialLCM p1 p2 求多个因式的最小公倍式 4解方程 1 解符号方程 组 在Mathematica中 用于给变量赋值 而方程中的等号使用符号 来表示 方程组用花括号括起来 各个方程之间用逗号分隔 所有未知量也用花括号括起来 未知量之间用逗号分隔 单个方程和未知量不必使用花括号 以下用eqns表示方程组 用vars表示未知量组 下列函数用于解符号方程 组 Solve eqns vars 对系数按常规约定求出方程 组 的全部解 Reduce eqns vars 讨论系数出现的各种可能情况 分别求解 2 求近似解有很多方程是根本不能求出准确解的 前面介绍的一些函数也无能为力 下列函数专门用于求方程 组 的数值解 NSolve eqns vars 求代数方程 组 的全部数值解FindRoot eqns x x0 y y0 从 x0 y0 出发找方程 组 的一个解 3 消去某些变量 Eliminate eqns elims 从一组等式中消去变量 组 elims 5解不等式Mathematica没有解不等式的内部函数 但是它自带的外部函数有此功能 但必须将有此函数的程序文件调入后才能使用 文件位于Mathematica的标准扩展程序包集中 标准扩展程序包集是Mathematica的一个子目录StandardPackage 它的子目录我们称为程序包子集 程序包子集按数学学科分类 如Algebra Calculus等 每个程序包子集中有多个文件 文件扩展名为m 每个文件中有一个或多个外部函数 调入方法是键入 程序包子集名 文件名 也可以调入整个程序包子集 程序包子集名 上例中In 1 首先调入Algebra程序包子集中的InequalitySolve m文件 它位于子目录 C Mathematica 4 0 AddOns Stan dardPackages Algebra 下 其中有函数 InequalitySolve 不等式 或等式 组 变量组 用于解不等式 或等式 组 1求极限 1 使用内部函数求极限函数Limit可用于求一元函数的极限 Limit f x x0 求函数f x 当x x0时的极限 注 Mathematicam没有区分和 使用x 时的极限要小心 微积分 2 调用外部函数求极限Mathematica自带的外部程序中还有求极限的同名函数 增强了解题能力 文件位于Mathematica的标准扩展程序包集中 可以通过查看Help 找到相应文件 2求导数 1 求导数或偏导数Mathematica的求导功能很强 求一元函数的导数与求多元函数的偏导数 都使用同样的函数 D f var 求函数f对自变量var的偏导数D f x1 x2 求函数f对自变量x1 x2 的混合偏导数 D f x1 n1 x2 n2 求函数f对自变量x1 x2 的n1 n2 阶混合偏导数 注 Mathematica求导的优点在于能求抽象的复合函数的导数 2 求全微分和全导数求全微分和全导数的函数是Dt 其调用格式如下 Dt f 求f的全微分Dt f var 求f对自变量var的全导数 其中f的各元都是var的函数 SetAttributes c Constant 声明c是常数 3求不定积分 Integrate f x 用于求f x 的一个原函数 也可以对某些抽象的函数求某些积分 提示 用基本输入模板输入积分符号更方便 4求定积分 求定积分多重积分的函数与求不定积分相同 只是多一些参数 Integrate f x a b 用于求Integrate f x a b y y1 y2 用于求 求定积分的数值解用NIntegrate 5无穷级数与无穷乘积 1 求和与求积Sum f i imin imax 求Sum f i imin imax j jmin jmax 求多重和Product f i imin imax 求Product f i imin imax j jmin jmax 求多重积 2 将函数展为幂级数将函数展为幂级数的函数调用格式如下Series f x x0 n 将f x 在x0处展成幂级数直到n次项为止Series f x x0 n y y0 m 将f x y 先对y后对x展开 6解常微分方程 组 Mathematica能求常微分方程 组 的准确解 能求解的类型大致覆盖了人工求解的范围 功能很强 但不如人灵活 输出的结果与教材上的答案可能在形式上不同 1 解常微分方程 组 的函数 Dsolve eqn y x x 求方程eqn的通解y x 其中自变量是xDsolve eqn y x0 y0 y x x 求满足条件y x0 y0的特解y x Dsolve eqn1 eqn2 y1 x y2 x x 求方程组的通解Dsolve eqn1 y1 x0 y10 y1 x x 求方程组的特解 1矩阵的输入与输出在Mathematica中向量和矩阵就是一个表 表示一个向量表示一个m行n列的矩阵 其中每一个子表表示矩阵的一行 线性代数 1 直接输入矩阵直接输入矩阵的方法有3种 如下所述 按表的形式输入矩阵由模板输入矩阵 在基本输入模板中输入2阶方阵 按 Ctrl 添加一列 Ctr Enter添加一行 如果矩阵不大 此法较方便由菜单输入矩阵 2 以矩阵形式输出矩阵不管用何种方式输入矩阵 矩阵总是按表的形式输出 这既违背常规 又难于阅读 Mathematica提供了以矩阵形式输出矩阵的函数 MatrixForm list 将表list按矩阵形式输出 注意 Mathematica不区分行向量与列向量 3 用函数创建矩阵可以通过函数建立一些有规律的矩阵 除了在讲表时已经介绍过的函数Table外 还有以下专用函数 Array a m n 创建一个m行 n列的矩阵元素为a i j IdentityMatrix n 创建一个n阶单位矩阵DiagonalMatrix list 创建一个对角线上为表list的元素的方阵 4 提取矩阵元素除了在表中介绍过的操作以外 还有三个矩阵专用的函数 M All i 提取矩阵M的第i列元素组成一个表Tr M List 提取矩阵M的主对角元素组成一个表Dimensions M 求矩阵M的行数 列数 2矩阵运算 1 加法与数乘除了两个矩阵相加外 还有一个数与矩阵相加 都使用加号 一个数与矩阵相加就是矩阵的每个元素都加上该数 一个数与矩阵相乘就是矩阵的每个元素都乘上该数 2 乘法句号作为两个矩阵相乘或两个向量内积的运算符 另外 求两个向量的向量积的函数为Cross a b 求 3 矩阵转置Transpose M 将矩阵M转置 4 求行列式Det A 求方阵A的行列式 5 求逆矩阵Inverse A 求方阵A的逆矩阵 自动判别是否可逆 注意 不表示逆矩阵 6 特征值与特征向量求方阵的特征值与对应的特征向量的函数是Eigenvalues A 求方阵A的全部特征值Eigenvectors A 求方阵A的一组线性无关的特征向量Eigensystem A 求全部特征值和对应的线性无关的特征向量组 7 Jordan标准形求方阵A的Jordan标准形和过渡矩阵的函数是JordanDecomposition A 输出一个表 表的第一个元素是过渡矩阵 表的第二个元素是A的Jordan标准形 3解线性方程组专门用于解线性方程组的函数有三个 RowReduce M 消元得到矩阵M的行最简形矩阵NullSpace M 求齐次线性方程组Mx 0的一个基础解系LinearSolve M b 求线性方程组Mx b的一个特解 1 表达式的查询操作符 用于某些内容的查询 用法如下 变量名显示一个变量的信息 ab 显示以字母ab开头的全部变量 Global 显示已经使用过的全部变量 操作符 还可以用于查询帮助信息 用法如下 函数名显示函数的帮助信息 函数名显示函数的更为详细的帮助信息 Ab 显示以字母Ab开头的所有函数 可以运用Windows的拷贝粘贴功能将其复制到另一个新打开的工作区窗口中 然后存盘 为 nb型文件 此法既可以保存键入的表达式 又可以保存Mathematica输出的计算结果 Mathematica提供了保存变量的值的操作符 用法如下 2 表达式的保存 变量名 文件名 将变量的值保存到指定的文件中变量名 文件名 将变量的值添加到指定的文件中Save 文件名 变量名1 变量名2 将变量的值添加到指定的文件中 查看文件使用的操作符如下 文件名在工作区内显示文件的内容 3 文件的调入用户以 nb型文件保存的内容 可以通过File菜单的Open或Notebooks项查找调入 Mathematica将专门为调入的文件打开一个工作区窗口 显示出保存的内容 可以修改或再次执行其中的语句 调入程序文件使用的操作符如下 文件名 将指定的文件调入运行 三 图形 二维图形 三维图形 图形表达式的结构 1一元函数的情形在平面直角坐标系中绘制函数y f x 的图形的函数是Plot 其调用格式如下 Plot f x x a b 选项 绘制函数f x 在区间 a b 范围内的图形Plot f1 x f2 x x a b 选项 同时绘制多个函数的图形 例1 例3 2可选参数绘图函数的可选参数很多 一下介绍Plot的常用可选参数 可选参数分为两类 第一类参数能改变输出图形的外观 但不影响图形自身的质量 第二类参数则影响图形自身的质量 可选参数的格式为 可选项名 可选项值 当不使用可选参数时该参数去默认值 1 第一类可选参数第一类可选参数有以下几种 1 PlotRang指定绘图的范围 其可选值是 Automatic由Mathematica自动选取范围切除无穷值点和尖峰All画出所有点 min max 给出y 三维为z 轴方向的取值范围 分别给出x y 三维加z 轴方向的取值范围 例4 2 AspectRatio指定图形的高宽比 可选值是 默认值为0 618 即黄金分割 准确值是1 GoldenRatio 其中是一个Mathematica常数 如果取Automatic 则高宽比为1 还可以取任何正数 例6 3 Axes用于指定是否显示坐标轴 它有三个值 True 或Automatica 为默认值 表示画出坐标轴False表示不画出坐标轴 True False 或 False True 只画出一个轴 4 AxesOrigin用于指定两个坐标轴的交点位置 它有两个选择 Automatica由Mathematica自己选择 但可能不在 0 0 点 默认值 x y 给出交点坐标 例7 5 AxesLabel用于给坐标轴加上注记 说明性字符串 它有三个值 None没有标记 默认值 字符串 给y 三维为z 轴加上标记 字符串1 字符串2 分别给出x y轴 三维加z 轴的注记 例8 6 Ticks用于给坐标轴加上刻度或给坐标轴上的点加标记 长用的选项值为 Automatic由Mathematica自动加上刻度 默认值 None不加刻度在横坐标的点和纵坐标的点处加上刻度 x1 字符串1 x2 字符串2 y1 字符串1 y2 字符串2 在横坐标上的点和纵坐标上的点处写上字符串 例9 7 AxesStyle用于设置坐标轴的颜色 线宽等选项 它的值为 选项1 选项2 对所有的轴设置相同的选项 x轴选项1 x轴选项2 y轴选项1 y轴选项2 分别对各轴设置不同的选项 例10 8 Frame用于给图形加框 它的值为 False不加框 默认值 True加框 例11 9 GridLines用于加网格线 它的值为 None不加网格线 默认值 Automatic由Mathematica自动加上网格线在横轴上的点和纵轴上的点处加上网格线 例12 10 Background用于指定背景颜色 可以使用多种颜色模式 常用选项是 Automatic实际颜色与Windows的窗口背景色一致 但利用Mathematica的直接打印功能输出时是白色 默认值 GrayLevel k 其中k是0到1之间的数 给出灰度大小 0为黑色 1为白色 RGBColor r g b 其中r g b是0到1之间的数 分别表示红 绿 蓝色的强度 1 1 1 为白色 0 0 0 为黑色 1 0 0 为红色 例13 11 PlotLabel用于在图形上方居中加注释 其值为 None没有注释 默认值 字符串 将字符串里的内容作为注释 例14 12 DisplayFunction指定任何显示图形其值为 DisplayFunction使用Mathematic的显示函数 默认值 Identity只生成但不显示图形 2 第二类可选参数第二类可选参数有以下几种 PlotStyle用于规定曲线的线形和颜色 常用值是 Automatic曲线是黑色实线 默认值 GrayLevel k 指定曲线的灰度RGBColor r g b 指定曲线的颜色 PointSize d 其中d是点的直径与整个图形宽度之比 二维时默认值为0 008 三维时默认值为0 01 Thickness r 其中r是线的宽度与整个图形宽度之比 二维时默认值为0 004 三维时默认值为0 001 Dashing r1 r2 交替使用数r1 r2 作为线段和空白的相对长度画虚线 其中r1 r2 是远远小于1的数 整个图形宽度为1 例15使用不同颜色和线宽绘制曲线 例16画虚线时参数的设置法 3二维参数图我们经常会遇到曲线方程由参数式给出的情形 绘制平面参数式曲线的函数是ParametricPlot 其调用格式如下 ParametricPlot x t y t t a b 其中t的取值范围是区间 a b ParametricPlot x1 t y1 t x2 t y2 t t a b 同时画出多条曲线 注 此函数可以添加与Plot一样的可选参数 例17绘制星形线 4绘制点列用一个表给出点列中各点的坐标 函数ListPlot用于绘制点列 其调用格式如下 ListPlot y1 y2 画出点列 1 y1 2 y2 ListPlot x1 y1 x2 y2 画出点列 x1 y1 x2 y2 此函数还有可选参数PlotJioned 用于将点用线段顺次连接起来 它的值为 False不连接 默认值 True连接各点 例18 5等值线图和密度图1 等值线图绘制函数z f x y 的等值线图使用函数 ContourPlot f x xmin xmax y ymin ymax 其中f是二元函数的表达式 例19 此函数有以下几个可选参数 ContourShading用于决定是否使用灰度 其值为 True使用灰度 默认值 False只画出等值线 没有灰度 2 Contours用于给出等值线的数目 其值为 n给出等值线的条数 默认值为10 z1 z2 画出对应函数值为z1 z2 的等值线 注 利用指定函数值可以画出隐函数F x y 0的图形 例20 3 ColorFunction用于规定函数值大小的显示方法 其值为 Automatic用灰度表示函数值的大小 默认值 Hue用一系列颜色表示函数值的大小 2 密度图密度图也用灰度表示函数值的大小 越亮的地方函数值越大 这与等值线图类似 绘制密度图的函数是 DensityPlot f x xmin xmax y ymin ymax 其中f是二元函数的表达式 例21 此函数有两个可选参数 1 ColorFunction意义同上 2 Mesh说明在曲面上是否画网格 其值为 True画网格 默认值 False不画网格 6外部绘制函数Mathematica绘制二维图形的内部函数缺少一些功能 如绘制极坐标图形 直方图和向量场等 但是它有自带的绘图程序包 例22 极坐标系下做图 例23 例24 最后再给出一个绘制向量场的例子 1二元函数图形1 绘制二元函数图形的函数在空间直角坐标系中绘制二元函数z f x y 所表示的曲面的函数是Plot3D 其调用格式如下 Plot3D f x xmin xmax y ymin ymax 其中二元函数f的定义域是一个矩形区域Plot3D f s x xmin xmax y ymin ymax 其中s是着色表达式 用于给曲面着色 例1 例2 2 可选参数函数Plot3D有以下可选参数 1 Boxed说明是否给图形加立体框 其值为 True加立体框 默认值 False不加立体框 3 Mesh说明在曲面上是否画网格 其值为 True画网格 默认值 False不画网格 2 BoxRatios给出3个方向上的长度比 默认值为 1 1 0 4 例3 4 HiddenSurface说明是否隐藏曲面被遮住的部分 其值为 True隐藏 默认值 False不隐藏 True在曲面上涂色 默认值 False只有曲面网格线 曲面为白色 5 Shading说明是否在曲面上按函数值大小涂灰色 或彩色 其值为 5 ColorFunction决定曲面用灰度还是用彩色涂色 6 FaceGrids用于添加坐标网格线 其值为 None没有坐标网格线 默认值 All由Mathematica自动在立体框的6个面上添加坐标网格线 face1 face2 指定6个面中的哪些面添加坐标网格线 其中face1等表示由三个数组成的表 例如 0 0 1 表示底面 0 0 1 表示顶面 三个数必定有两个是0 另一个为1或 1 7 Lighting说明是否打开光源 默认值为True 当曲面上按函数值大小涂灰色时 曲面由于反光呈现彩色 如果曲面上按函数值大小涂彩色 则光源不起作用 8 ViewPoint用于设置观察点默认值为 1 3 2 4 2 可以将观察点设置为任何点 从不同角度观察曲面的形状 9 PlotPoints用于规定作图时取的最少点数 其值为 n在x轴和y轴方向上各取n点 默认值15 nx ny 在x轴和y轴方向上分别取nx ny点 2三维参数图形1 三维参数式曲线绘制三维参数式曲线的函数是 ParametricPlot3D x t y t z t t a b 绘制三维参数式曲线 例4 同时绘制多条曲线可得到一些简易的三维图形 2 三维参数式曲面函数Plot3D的最大缺陷在于曲面总是定义在矩形区域上 这不能满足实际需要 Mathmatica提供的画三维参数图形的功能 留给用户自由变换的余地 用途广泛 绘制三维参数式曲面与绘制三维参数式曲线使用同一个函数 只是参数有差异 ParametricPlot3D x u v y u v z u v u umin umax v vmin vmax 绘制参数式曲面 本节介绍了Mathematica的图形表达式的分类 结构和图形元素 保存 调入和重新显示图形的方法 1图形表达式的分类在前面已经看到 一个绘图函数被执行后 除了显示图形外 总会显示 Out x Graphics 等字符串 作用是提示用户该图形的表达式已经生成 由于图形表达式很长且复杂 对于一般用户也无阅读必要 因此没有显示具体内容 只显示其类型名称 图形表达式像计算结果的表达式一样 可以观看 命名 引用 保存 实际上它比图形更重要 观看图形表达式的内容使用函数 InputForm expr 其中expr是Out的输出编号 x或表示图形的变量 Mathematica的图形表达式分成下面几类 其差别在于允许使用的图形元素和可选项不同 Graphics list 一般二维图形DensityGraphics list 密度图ContourGraphics list 等值线图SurfaceGraphics list 曲面图Graphics3D list 一般三维图形GraphicsArray list 由按矩阵形式排列的多个图形组合成的图形 2图形表达式的操作1 重新显示图形的函数 Show g1 g2 options 可以将多个图形g1 g2 组合成一个图形显示出来 其中options表示可选项 还有将多个图形以矩阵的排列方式同时显示的方法 格式如下 Show GraphicsArray list 将多个图形按行列排列同时显示 其中list是按矩阵形式给出的由图形表达式名字组成的表 2 保存图形表达式保存图形表达式的方法与保存变量一样再将该文件调入后就可以用函数Show显示该图形 2 保存图形除了存储图形表达式外 还可以将图形本身用通用的图形文件格式保存 实现这一功能的函数是 Display 文件名 图形 图形格式 生成一个指定格式的图形文件 如果不指定图形格式 则默认为Postscrip格式 其中常用的的图形文件格式为 BMP bmp型文件TIFF tif或 tiff型文件JPEG jpg或 jpeg型文件GIF gif型文件 其中后两种格式生成经过压缩的图形 图形质量会有损失 但是生成的文件比前两种格式小得多 是经常使用的格式 3二维图形元素 图形元素由一系列 基本图形 和 基本图形指示 组成 其中 基本图形指示 可以不出现 二维图形表达式Graphics的 基本图形 是 Point x y 坐标为 x y 的点Line x1 y1 x2 y2 顺次连接点 x1 y1 x2 y2 的折线 Circle x y r 圆心坐标为 x y 半径为r的圆Circle x y r n1 n2 从角n1到角n2的圆弧Circle x y a b 中心坐标为 x y 半轴为a b的椭圆Circle x y a b n1 n2 椭圆弧 Rectangle xmin ymin xmax ymax 按给定的左下角和右上角坐标 用指定的颜色填充成一个矩形 默认为黑色 Polygon x1 y1 x2 y2 以指定的顶点填充成一个多边形Disk x y r 圆心坐标为 x y 半径为r的填充圆Text text x y 以 x y 为中心在图上标注字符串 注意 以上表达式不同于一般计算机语言中的绘图语句 不能单独使用直接得到图形 它们只能作为图形表达式的成员 使用函数Show才能绘制出图形 基本图形指示 用于指明 基本图形 的颜色 点的大小 线的宽度等 如下所示 RGBColor r g b 指定颜色GrayLevel k 指定灰度PointSize d 点的直径与整个图形宽度之比Thickness r 线的宽度与整个图形宽度之比Dashing r1 r2 画虚线 注 更全面的可在Help中键入Graphics查询 4三维图形元素 三维图形表达式Graphics3D的 基本图形 是 Point x y z 坐标为 x y z 的点Line x1 y1 z1 x2 y2 z2 顺次连接点 x1 y1 z1 x2 y2 z2 的折线Cuboid xmin ymin zmin xmax ymax zmax 立方体 Polygon x1 y1 z1 x2 y2 z2 以指定的顶点填充成一个多边形Text text x y z 以 x y z 为中心在图上标注字符串 注 基本图形指示 同二维时 数据拟合 拟合函数一般形式 Fit 数据 拟合函数的基 变量 如 Fit t 1 x x Fit t 1 x x2 x 例 为了测定刀具的磨损速度 我们这样做的实验 经过一定的时间t 如每隔一小时 测量一次刀具的厚度y 得到一组实测数据如下 试根据上面的实验数据用最小二乘法建立y和t之间的经验公式y f t 也就是说 要找出一个能使上述数据大体适合的函数关系 数据拟合 第一步画出数据表的散点图 以确定f t 的类型 由图可见 数据点大致在一条直线附近 可以认为f t 是线性函数 因此设f t at b 由图可见 数据点大致在一条抛物线附近 可以认为f t 是二次函数 因此设f t ax2 bx c 由上图可以看出 采用抛物线拟合比用直线拟合要好 所以预测函数可以采用二次函数来描述 Mathematica程序设计 模块的概念和定义方法 条件结构的使用和定义方法 循环结构的使用 1 过程的基本构成 一个过程就是用分号隔开的表达式序列 或者称为复合表达式 在Mathematica中 任何一个表达式的位置都能放一个复合表达式 运行时过程中的表达式依次求值 在一个输入行中就可以放一个过程 调一个过程就像调一个函数 为了使Mathematica更有效的工作 我们可对Mathematica进行模块化运算 在模块内部通过编写一系列表达式语句 使其实现一定的功能 在Mathematica内部也提供了很多程序包 我们将学习如何调用它们 模块的概念和定义方法 一般情况下 Mathematica假设所有变量都为全局变量 也就是说无论何时你使用一个你定义的变量 Mathematica都假设你指的是同一个目标 然而在编制程序时 你则不会想把所有的变量当作全局变量 因为如果这样程序可能就不具有通用性 你也可能在调用程序时陷入混乱状态 给出定义模块或块和局部变量的常用形式 首先我们来看Module函数 这个函数的第一部分参数里说明的变量只在Module内起作用 body执行体 包含合法的Mathematica语句 多个语句之间可用 分割 下面定义有初值的变量t Mathematica默认它为全局变量 模块中的t为局部变量 因此它独立于全局变量t 下面定义函数中的中间变量t为局部变量并调用f Mathematica中的模块允许你把某变量名看作局部变量名 然而又存在有时你又希望它们为全局变量时 但变量值为局部的矛盾 这时我们可以用Block 函数 下面是一个含有全局变量x表达式 使用x的局部值计算上面的表达式 Module vars body 所要做的是把执行模块时表达式body的形式看成Mathematica程序的 代码 然而当 代码 中直接出现变量vars时 这些vars都将被看作局部的 Block vars body 并不查看表达式body的形式 而在整个计算Body的过程中 使用vars的局部值 两者的区别 每次调用Module时 它的局部变量被重新命名 原名加标号 不会与同名全局变量或其他Module中的同名变量混淆 Block不重新命名块中声明的变量 如果已经存在同名的全局变量 则仍是同一变量 在块中将同名全局变量的值清除 允许在body中使用重新赋予的值 当Block执行完毕时 块中声明的变量的局部值被清除 并恢复原同名全局变量的值 因此Block不能建立局部变量 只能声明能取局部值的全局变量 可用于暂时改变全局变量的值 下例中我们根据i定义m m i 2i2在计算i m的整个过程中使用模块中i的局部值 Block i a i m a a2而对于下面的例子 只有直接出现在i m中的i 才被看作局部变量 Module i a i m a i2 2 条件控制结构 1 逻辑表达式和逻辑运算符关系表达式是最简单的逻辑表达式 用关系表达式表示一个判别条件 关系表达式的一般形式 关系运算符 逻辑表达式的一般形式 逻辑运算符 逻辑非 逻辑与 逻辑或 逻辑表达式的值 三个 真假非真非假 条件结构的使用和定义方法 我们在用计算机语言进行编程时 常用到条件语句 在Mathematica中也提供了多种设置条件的方法 并规定只有在该条件满足时才计算表达式 下面是条件结构的常用形式 1 If 条件 语句1 功能 如果条件成立 则执行对应的语句1 并将语句执行结果作为If语句的值 如果条件不成立 不执行语句1 2 If 条件 语句1 语句2 功能 根据条件的成立与否确定执行哪一个语句 具体执行为 条件成立时 执行语句1 否则 执行语句2 并将语句执行结果作为If语句的值 3 If 条件 语句1 语句2 语句3 功能 根据条件的成立与否确定执行哪一个语句 具体执行为 条件成立时 执行语句1 条件不成立时 执行语句2 否则 执行语句3 并将语句执行结果作为If语句的值 1 If命令 If允许嵌套 形式如下 If cond1 result1 If

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论