mathematica教程7

合集下载

mathematica使用指南

mathematica使用指南

mathematica使用指南Mathematica是一款功能强大的数学软件,具备广泛的应用领域,包括数学、统计学、物理学、工程学等等。

本文将为您提供一份Mathematica的使用指南,帮助您快速入门并提高使用效率。

1. Mathematica简介Mathematica是由Wolfram Research公司开发的一款通用计算软件,它具备数值计算、符号计算、图形绘制等多种功能。

Mathematica基于Wolfram Language语言,用户可以直接在其中编写代码进行计算和分析。

2. 安装与启动首先您需要从Wolfram Research公司官方网站下载Mathematica安装文件,并按照安装向导完成安装过程。

安装完成后,您可以在计算机上找到Mathematica的启动图标,点击即可启动该软件。

3. Mathematica界面介绍Mathematica的主界面由菜单栏、工具栏、输入区域和输出区域组成。

菜单栏提供了各种功能选项,工具栏包含常用工具按钮,输入区域用于输入代码,而输出区域用于显示计算结果。

4. 基本计算在输入区域中,您可以直接输入数学表达式进行计算。

例如,输入"2 + 3",然后按下Enter键即可得到计算结果"5"。

Mathematica支持基本的算术运算、三角函数、指数函数等数学操作。

5. 变量与函数您可以使用Mathematica定义变量并进行计算。

例如,输入"x = 2",然后再输入"y = x^2",按下Enter键后,变量y会被赋值为2的平方,即4。

定义的变量可以在后续计算中使用。

6. 图形绘制Mathematica提供了丰富的图形绘制功能。

您可以使用Plot函数绘制函数曲线,使用ListPlot函数绘制离散数据点,还可以绘制3D图形等等。

通过调整参数和选项,您可以自定义图形的样式和外观。

mathematica简明使用教程

mathematica简明使用教程

mathematica简明使用教程Mathematica是一种强大的数学软件,广泛应用于科学研究、工程计算和数据分析等领域。

本文将简要介绍Mathematica的使用方法,帮助读者快速上手。

一、安装和启动Mathematica我们需要下载并安装Mathematica软件。

在安装完成后,可以通过桌面图标或开始菜单中的快捷方式来启动Mathematica。

二、界面介绍Mathematica的界面分为菜单栏、工具栏、输入区域和输出区域四部分。

菜单栏提供了各种功能选项,工具栏包含了常用的工具按钮,输入区域用于输入代码或表达式,而输出区域则显示执行结果。

三、基本操作1. 输入和输出在输入区域输入代码或表达式后,按下Shift+Enter键即可执行,并在输出区域显示结果。

Mathematica会自动对输入进行求解或计算,并返回相应的输出结果。

2. 变量定义可以使用等号“=”来定义变量。

例如,输入“a = 3”,然后执行,就会将3赋值给变量a。

定义的变量可以在后续的计算中使用。

3. 函数调用Mathematica内置了许多常用的数学函数,可以直接调用使用。

例如,输入“Sin[π/2]”,然后执行,就会返回正弦函数在π/2处的值。

4. 注释和注解在代码中添加注释可以提高代码的可读性。

在Mathematica中,可以使用“(*注释内容*)”的格式来添加注释。

四、数学运算Mathematica支持各种数学运算,包括基本的加减乘除,以及更复杂的求导、积分、矩阵运算等。

下面简要介绍几个常用的数学运算:1. 求导可以使用D函数来求导。

例如,输入“D[Sin[x], x]”,然后执行,就会返回正弦函数的导数。

2. 积分可以使用Integrate函数来进行积分运算。

例如,输入“Integrate[x^2, x]”,然后执行,就会返回x的平方的不定积分。

3. 矩阵运算Mathematica提供了丰富的矩阵运算函数,可以进行矩阵的加减乘除、转置、求逆等操作。

Mathematica使用教程

Mathematica使用教程

Mathematica使用教程【Mathematica 简介】Mathematica 软件是由沃尔夫勒姆研究公司(Wolfram Research Inc.)研发的。

Mathematica 版发布于1988年6月23日。

发布之后,在科学、技术、媒体等领域引起了一片轰动,被认为是一个革命性的进步。

几个月后,Mathematica 就在世界各地拥有了成千上万的用户。

今天,Mathematica 已经在世界各地拥有了数以百万计的忠实用户。

Mathematica 已经被工业和教育领域被广泛地采用。

实际上,Mathematica 负责将高级的数学和计算引入了传统上非技术的领域,极大的增加了科技软件的市场。

一个包含应用、咨询、书籍、和课程软件的行业支持着国际化的 Mathematica 用户群,这个行业还在不断地膨胀。

随着沃尔夫勒姆研究公司不断地扩大和 Mathematica 的使用被不断地扩展到不同的领域,将会看到 Mathematica 在全世界范围内对未来产品、重要研究发现、和教学的巨大影响。

数学软件是现在科研工作者的必备的工具,个人比较喜欢用Mathematica,因为它是最接近数学语言的。

Mathematica 在15日发布,其最显著的变化是允许自由形式的英文输入,而不再需要严格按照Mathematica语法,这类似于Wolfram|Alpha搜索引擎。

Mathematica 8允许用户按照自己习惯的思考过程输入方程式或问题,最令人激动的部分是软件不是逐行执行命令,而是能理解上下文背景。

1. Enter your queries in plain English using new free-form linguistic input2. Access more than 10 trillion sets of curated, up-to-date, and ready-to-use data3. Import all your data using a wider array of import/export formats4. Use the broadest statistics and data visualization capabilities on the market5. Choose from a full suite of engineering tools, such as wavelets and control systems6. Use more powerful image processing and analysis capabilities7. Create interactive tools for rapid exploration of your ideas8. Develop faster and more powerful applicationsWolfram Research 的CEO 和创立者斯蒂芬·沃尔夫勒姆表示:“传统上,让计算机执行任务必须使用计算机语言或者使用点击式界面:前者要求用户掌握它的语法;而后者则限制了可访问函数的范围。

《Mathematica》使用手册

《Mathematica》使用手册

《Mathematica》使用手册Mathematica 使用手册1.简介1.1 Mathematica 简介1.2 Mathematica 的应用领域1.3 Mathematica 的基本特性2.安装与启动2.1 系统要求2.2 安装 Mathematica2.3 启动 Mathematica2.4 探索 Mathematica 界面2.5 设置用户首选项3.数值计算3.1 基本数值运算3.2 数值函数的使用3.3 数值积分与微分3.4 数值解方程3.5 特殊数值计算技巧4.符号计算4.1 符号数据类型4.2 符号运算与化简4.3 方程求解与解析解4.4 函数极限和级数展开4.5 矩阵与线性代数运算5.绘图与可视化5.1 绘制函数图像5.2 绘制二维与三维图形5.3 自定义图形选项5.4 绘制动态图形5.5 数据可视化6.编程与函数定义6.1 Mathematica 的编程语言 6.2 函数的定义与使用6.3 控制流程与条件判断6.4 模块化与函数封装6.5 文件读写与外部程序交互7.数据分析与统计7.1 数据导入与清洗7.2 数据处理与转换7.3 数据可视化与探索7.4 数值统计与假设检验7.5 机器学习与数据建模8.物理与工程应用8.1 经典力学模拟8.2 电磁场与电路分析8.3 量子力学与粒子物理8.4 工程建模与仿真8.5 数据分析在物理与工程中的应用9.MATLAB 兼容性与互操作9.1 导入与导出 MATLAB 数据9.2 运行 MATLAB 代码9.3 在 Mathematica 中调用 MATLAB 函数 9.4 在 MATLAB 中调用 Mathematica 函数9.5 MATLAB 兼容性的限制与注意事项10.Mathematica 社区与资源10.1 论坛和社区支持10.2 官方文档与教程10.3 第三方扩展包与资源10.4 在线学习资源10.5 Mathematica 社区的活动与会议本文档涉及附件:附件1:示例代码文件附件2:图形绘制示例文件附件3:数据分析样本数据集本文所涉及的法律名词及注释:1.版权:法律上对原创作品的保护权益。

Mathematica7简易教程(仅作交流学习)

Mathematica7简易教程(仅作交流学习)
Mathematica 简易教程
第一次
第1章 1.1 1.2 1.3 第2章 2.1 2.2 2.3 2.4 2.5 2.6 2.7 MATHEMATICA 概述............................................................................................... 3 MATHEMATICA 的启动与运行 .......................................................................................... 3 表达式的输入 ................................................................................................................... 4 MATHEMATICA 的联机帮助系统 ...................................................................................... 6 MATHEMATICA 的基本量....................................................................................... 8 数据类型和常数 ............................................................................................................... 8 变量................................................................................................................................. 10 函数................................................................................................................................. 11 表..................................................................................................................................... 14 表达式............................................................................................................................. 17 常用的符号..................................................................................................................... 19 练习题............................................................................................................................. 19

Mathematica 7 使用指南

Mathematica 7 使用指南

Mathematica 7初步指南注意:以下所有文档均根据Mathematica 7进行编写。

copyright illusionWing 2010目录Mathematica 7初步指南 (1)零、凡例 (3)一、恒成立及存在性问题 (3)1、恒成立问题 (3)2、其他恒成立问题 (3)3、存在性问题 (3)二、极值问题 (4)1、对于确定函数的极值问题 (4)2、线性规划问题(所有点及整点) (5)3、已知带参数的函数的极值,求参数 (5)三、数列问题 (6)1、从递推式求通项 (6)2、对于求不出通项的数列的枚举 (6)3、已知通项,求和 (7)4、已经求和的公式,求通项。

(7)5、对于给定的若干数据寻找一个拟合的通项式 (8)四、代数证明 (8)1、一般代数证明 (8)2、解析几何证明 (8)五、方程不等式的求解 (9)1、一般方程的求解 (9)2、进阶的方程(组)、不等式求解 (9)六、其他 (11)1、找特定的化学物质 (11)零、凡例x^y即x的y次方。

Sqrt(x)即x的平方根。

一、恒成立及存在性问题1、恒成立问题设f(x)=x^2-mx+6,如果对于x属于[1,5),总有f(x)>x,求m的范围。

输入:输出:功能讲解:ForAll字面即“对于所有”,也就是恒成立。

其用法为ForAll[未知数,未知数约束条件,表达式]。

其中,约束条件这个参数可以省略,默认条件为未知数属于实数集。

对于多个变量的ForAll 可以采取如下方式:ForAll[{x,y},x>=1&&y>=1,x/y+y/x>=m]//ResolveResolve函数用于解ForAll形成的逻辑条件(ForAll函数本身不进行求解)。

直接模仿上述用法即可,不展开讲述。

2、其他恒成立问题[变式]设m为实数,若,则m的取值范围是________。

(暑假作业(3)第5题)根据分析,我们可以直接前一个集合内的所有元素都在后一个即可,即对于前一集合内的任一元素,恒存在于后一集合内,所以可以这样子写。

mathmatic教程-入门级别-一看就会Word版

mathmatic教程-入门级别-一看就会Word版

Mathematica5教程第1章Mathematica概述1.1 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令1.2 表达式的输入:介绍如何使用表达式1.3 帮助的使用:如何在mathematica中寻求帮助第2章Mathematica的基本量2.1 数据类型和常量:mathematica中的数据类型和基本常量2.2 变量:变量的定义,变量的替换,变量的清除等2.3 函数:函数的概念,系统函数,自定义函数的方法2.4 表:表的创建,表元素的操作,表的应用2.5 表达式:表达式的操作2.6 常用符号:经常使用的一些符号的意义第3章Mathematica的基本运算3.1 多项式运算:多项的四则运算,多项式的化简等3.2 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解3.3 求积求和:求积与求和第4章函数作图4.1 二维函数作图:一般函数的作图,参数方程的绘图4.2 二维图形元素:点,线等图形元素的使用4.3 图形样式:图形的样式,对图形进行设置4.4 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起4.5 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的设置第5章微积分的基本操作5.1 函数的极限:如何求函数的极限5.2 导数与微分:如何求函数的导数,微分5.3 定积分与不定积分:如何求函数的不定积分和定积分,以及数值积分5.4 多变量函数的微分:如何求多元函数的偏导数,微分5.5 多变量函数的积分:如何计算重积分5.6 无穷级数:无穷级数的计算,敛散性的判断第6章微分方程的求解6.1 微分方程的解:微分方程的求解6.2 微分方程的数值解:如何求微分方程的数值解第7章Mathematica程序设计7.1 模块:模块的概念和定义方法7.2 条件结构:条件结构的使用和定义方法7.3 循环结构:循环结构的使用7.4 流程控制第8章Mathematica中的常用函数8.1 运算符和一些特殊符号:常用的和不常用一些运算符号8.2 系统常数:系统定义的一些常量及其意义8.3 代数运算:表达式相关的一些运算函数8.4 解方程:和方程求解有关的一些操作8.5 微积分相关函数:关于求导,积分,泰勒展开等相关的函数8.6 多项式函数:多项式的相关函数8.7 随机函数:能产生随机数的函数函数8.8 数值函数:和数值处理相关的函数,包括一些常用的数值算法8.9 表相关函数:创建表,表元素的操作,表的操作函数8.10 绘图函数:二维绘图,三维绘图,绘图设置,密度图,图元,着色,图形显示等函数8.11 流程控制函数第1章Mathematica概述1.1 Mathematica的启动和运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

《Mathematica》使用手册

《Mathematica》使用手册

《Mathematica》使用手册Mathematica使用手册=========================第一章:介绍Mathematica-------------------------------------1.1 Mathematica的概述Mathematica是一种强大的数学计算和数据处理软件,广泛应用于科学、工程、计算机科学等领域。

1.2 安装和启动本节介绍如何安装Mathematica软件并启动它。

1.3 界面和基本操作介绍Mathematica的界面和基本操作,包括工具栏、菜单、笔记本等。

第二章:基本语法和数据类型-------------------------------------2.1 表达式和运算符讲解Mathematica的表达式和运算符,包括数值运算、符号运算、逻辑运算等。

2.2 变量和函数介绍Mathematica中的变量和函数的定义和使用方法。

2.3 数据类型讲解Mathematica中的基本数据类型,包括数值类型、字符串类型、列表类型等。

第三章:图形绘制-------------------------------------3.1 绘制函数图像介绍使用Mathematica绘制函数图像的方法和技巧。

3.2 绘制二维图形讲解Mathematica中绘制二维图形的常用函数和参数设置。

3.3 绘制三维图形介绍Mathematica中绘制三维图形的方法,包括绘制曲面、绘制立体图形等。

第四章:方程求解和数值计算4.1 方程求解讲解Mathematica中方程求解的方法和技巧。

4.2 数值计算介绍Mathematica中数值计算的函数和用法。

4.3 微分方程求解讲解Mathematica中求解微分方程的方法和技巧。

第五章:数据分析和统计-------------------------------------5.1 数据导入和导出介绍Mathematica中的数据导入和导出方法。

Mathematica使用入门数学软件Mathematica课件

Mathematica使用入门数学软件Mathematica课件

16
内置函数
Mathematica 具有超过 3000 个内置函数,具体见 “帮助” “参考资料中心” 的左下角处的 “函数索引”
Mathematica 函数命名规则 ① 第一个字母大写,后面跟小写字母,如 Sin[x], Log[x] ② 大多数函数名与数学中的名称相同 ③ 当函数名分为几段时,每一段的头一个字母大写,后面 的用小写字母,如:ArcSin[x]
In[1]:= Clear[x,y]; In[2]:= f=2*x+y; In[3]:= f./{x->2,y->3} (* f(2,3) 的值 *) In[3]:= f./{2->5} (*把 2 替换成 5*)
14
数的基本运算
Mathematica 中的实数分精确数和双精度数
N[x,n] N[x] IntegerPart[x]
可以运行单个命令或语句 也可以运行多个语句:输入全部语句后再按执行键 命令(语句)分隔符:回车或分号 如果不需要显示运行结果:在语句后面加分号
输入和输出标识符:In[n]: 和 Out[n]
In[1]:= Sin[Pi/4]+Cos[Pi/4]
Out[1]= 2
8
数学公式的输入
数学公式的输入
lim(1 1
n
2
黄金分割数:1 1 5 2
虚部单位
1 ln n) 0.577215 n
无穷大
圆周率
11
基本运算符
基本运算:
算术运算 +-*/ ^ !
加减乘除 幂 阶乘(运算级别比加减乘除和幂运算高)
比较运算与逻辑运算 == > < >= <= != && || ! Xor

Mathematica数学入门教程【7】-三角函数

Mathematica数学入门教程【7】-三角函数

Mathematica数学入门教程【7】-三角函数
在本教程中可以学会在 Mathematica 下怎样用 Wolfram 语言来解决典型的数学问题, 从基本的算术计算到微积分, 涵盖了从 K12 到大学及其以后科学研究各个阶段内容.
通过学习本教程, 学生在数学的各个层次都可以掌握相关如何用Wolfram 语言进行计算, 绘制图形和制作演示文档, 以此来锻炼在未来职场中所需的计算思维和能力.
译自: FAST INTRODUCTION FOR MATH STUDENTS 英文教程
好了, 现在让我们在下一篇的Mathematica快速数学入门课堂再见. 这里感谢各位每一位看到这里的老师和朋友!
Thank You, Everyone!
本入门教程全部内容:
1 - 指令的输入
2 - 分数与小数
3 - 变量和函数
4 - 代数
5 - 2D绘图
6 - 几何绘图
7 - 三角学
8 - 极坐标
9 - 指数函数和对数
10 - 极限
11 - 微分
12 - 积分
13 - 序列
14 - 求和
15 - 级数
16 - 更多2D绘图
17 - 3D绘图
18 - 多元微积分
19 - 矢量分析和可视化
20 - 微分方程
21 - 复分析
22 - 矩阵和线性代数
23 - 离散数学
24 - 概率
25 - 统计
26 - 数据图和最佳拟合曲线
27 - 群论
28 - 数学智力题
29 - 互动模式
30 - 数学排版
31 - 笔记本文档
32 - 云部署。

mathmatic使用说明

mathmatic使用说明

Mathematica教程M athematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

假设在Windows环境下已安装好Mathematica4.0,启动Windows后,在“开始”菜单的“程序”中单击,就启动了Mathematica4.0,在屏幕上显示如图的Notebook窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2].如图在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。

在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。

这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。

必须注意的是:如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误,新符号‘plot’ 很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。

(完整版)Mathematica入门教程含习题与答案

(完整版)Mathematica入门教程含习题与答案

Mathematica入门教程第1篇第1章MATHEMATICA概述 (3)1.1 M ATHEMATICA的启动与运行 (3)1.2 表达式的输入 (4)1.3 M ATHEMATICA的联机帮助系统 (6)第2章MATHEMATICA的基本量 (8)2.1 数据类型和常数 (8)2.2 变量 (10)2.3 函数 (11)2.4 表 (14)2.5 表达式 (17)2.6 常用的符号 (19)2.7 练习题 (19)第2篇第3章微积分的基本操作 (20)3.1 极限 (20)3.2 微分 (20)3.3 计算积分 (22)3.4 无穷级数 (24)3.5 练习题 (24)第4章微分方程的求解 (26)4.1 微分方程解 (26)4.2 微分方程的数值解 (26)4.3 练习题 (27)第3篇第5章MATHEMATICA的基本运算 (28)5.1 多项式的表示形式 (28)5.2 方程及其根的表示 (29)5.3 求和与求积 (32)5.4 练习题 (33)第6章函数作图 (35)6.1 基本的二维图形 (35)6.2 二维图形元素 (40)6.3 基本三维图形 (42)6.4 练习题 (46)第4篇第7章MATHEMATICA函数大全 (48)7.1 运算符和一些特殊符号,系统常数 (48)7.2 代数计算 (49)7.3 解方程 (50)7.4 微积分 (50)7.5 多项式函数 (51)7.6 随机函数 (52)7.7 数值函数 (52)7.8 表相关函数 (53)7.9 绘图函数 (54)7.10 流程控制 (57)第8章MATHEMATICA程序设计 (59)8.1 模块和块中的变量 (59)8.2 条件结构 (61)8.3 循环结构 (63)8.4 流程控制 (65)8.5 练习题 (67)--------------习题与答案在68页-------------------第1章Mathematica概述1.1 Mathematica的启动与运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。

附录Mathematica简明教程

附录Mathematica简明教程

附录:Mathematica 简明教程第1章Mathematica概述第2章Mathematica的基本量第3章Mathematica的基本运算第4章函数作图第5章微积分的基本操作第6章微分方程的求解第7章Mathematica程序设计第8章Mathematica中的常用函数12第一章:Mathematica 概述在Windows环境下已安装好Mathematica4.0,启动Windows 后,在“开始”菜单的“程序”中单击,就启动了Mathematica4.0,在屏幕上显示如图的Notebook 窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止:输入1+1,然后按下Shift + Enter 键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1];再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter 输出计算结果后,系统分别将其标识为In[2]和Out[2]。

在Mathematica 的Notebook 界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C 那样的结构化程序。

在Mathematica 系统中定义了许多功能强大的函数,可以直接调用这些函数。

这些函数分为两类,一类是常用数学函数;第二类是功能函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x]等。

1.1.1 Mathematica 的启动和运行第一章:Mathematica概述错误信息:如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果。

(1)Mathematica 区分字母的大小写;(2)所有指令的首字母大写;(3)括号的匹配。

例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误,新符号‘plot’很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。

Mathematica使用说明

Mathematica使用说明

Mathematica 入门一、引 言Mathematica 是美国Wolfram 公司开发的一个功能强大的数学软件系统,它主要包括:数值计 算、符号计算、图形功能和程序设计. 本指导书力图在不大的篇幅中给读者提供该系统的一个简 要的介绍. 指导书是按Mathematica 4.0版本编写的, 但是也适用于Mathematica 的任何其它图形 界面的版本.Mathematica 在数值计算、符号运算和图形表示等方面都是强有力的工具,并且其命令句法惊 人地一致, 这个特性使得Mathematica 很容易使用.不必担心你还不太熟悉计算机.本入门将带你 迅速了解Mathematica 的基本使用过程, 但在下面的介绍中,我们假定读者已经知道如何安装及启动Mathematica. 此外,始终要牢记的几点是:● Mathematica 是一个敏感的软件. 所有的Mathematica 函数都以大写字母开头; ● 圆括号( ),花括号{ },方括号[ ]都有特殊用途, 应特别注意; ● 句号“.”,分号“;”,逗号“,”感叹号“!”等都有特殊用途, 应特别注意; ● 用主键盘区的组合键Shfit+Enter 或数字键盘中的Enter 键执行命令.二、一般介绍1. 输入与输出例1 计算 1+1:在打开的命令窗口中输入1+2+3并按组合键Shfit+Enter 执行上述命令,则屏幕上将显示:In[1] : =1+2+3 Out[1] =6这里In[1] : = 表示第一个输入,Out[1]= 表示第一个输出,即计算结果.2. 数学常数Pi 表示圆周率π; E 表示无理数e; I 表示虚数单位i ; Degree 表示π/180; Infinity 表示无穷大.注:Pi,Degree,Infinity 的第一个字母必须大写,其后面的字母必须小写.3. 算术运算Mathematica 中用“+”、“-”、“*”、“/” 和“^”分别表示算术运算中的加、减、乘、除和 乘方.例2 计算 π⋅⎪⎭⎫ ⎝⎛⋅+⎪⎭⎫⎝⎛⋅--213121494891100. 输入 100^(1/4)*(1/9)^(-1/2)+8^(-1/3)*(4/9)^(1/2)*Pi则输出 3103π+这是准确值. 如果要求近似值,再输入N[%] 则输出 10.543这里%表示上一次输出的结果,命令N[%]表示对上一次的结果取近似值. 还用 %% 表示上 上次输出的结果,用 %6表示Out[6]的输出结果.注:关于乘号*,Mathematica 常用空格来代替. 例如,x y z 则表示x*y*z,而xyz 表示字符 串,Mathematica 将它理解为一个变量名. 常数与字符之间的乘号或空格可以省略.4. 代数运算例3 分解因式 232++x x 输入 Factor[x^2+3x+2] 输出 )x 2)(x 1(++ 例4 展开因式 )2)(1(x x ++ 输入 Expand[(1+x)(2+x)] 输出 2x x 32++例5 通分 3122+++x x 输入 Together[1/(x+3)+2/(x+2)]输出 )x 3)(x 2(x38+++例6 将表达式)3)(2(38x x x+++ 展开成部分分式输入 Apart[(8+3x)/((2+x)(3+x))]输出 3x 12x 2+++ 例7 化简表达式 )3)(1()2)(1(x x x x +++++ 输入 Simplify[(1+x)(2+x)+(1+x)(3+x)]输出 2x 2x 75++三、函数1. 内部函数Mathematica 系统内部定义了许多函数,并且常用英文全名作为函数名,所有函数名的第一个 字母都必须大写,后面的字母必须小写. 当函数名是由两个单词组成时,每个单词的第一个字母都 必须大写,其余的字母必须小写. Mathematica 函数(命令)的基本格式为函数名[表达式,选项] 下面列举了一些常用函数:算术平方根x Sqrt[x] 指数函数x e Exp[x] 对数函数x a log Log[a,x]对数函数x ln Log[x]三角函数 Sin[x], Cos[x], Tan[x], Cot[x], Sec[x], Csc[x] 反三角函数ArcSin[x], ArcCos[x], ArcTan[x], ArcCot[x], AsrcSec[x], ArcCsc[x]双曲函数 Sinh[x], Cosh[x], Tanh[x], 反双曲函数 ArcSinh[x], ArcCosh[x], ArcTanh[x] 四舍五入函数 Round[x] (*取最接近x 的整数*) 取整函数 Floor[x] (*取不超过x 的最大整数*) 取模 Mod[m,n] (*求m/n 的模*)取绝对值函数 Abs[x] n 的阶乘 n! 符号函数 Sign[x] 取近似值 N[x,n] (*取x 的有n 位有效数字的近似值,当n 缺省时,n 的默认值 为6*)例8 求π的有6位和20位有效数字的近似值. 输入 N[Pi] 输出 3.14159输入 N[Pi, 20] 输出 3.1415926535897932285 注:第一个输入语句也常用另一种形式: 输入 Pi//N 输出 3.14159例9 计算函数值(1) 输入 Sin[Pi/3] 输出23 (2) 输入 ArcSin[.45] 输出 0.466765 (3) 输入 Round[-1.52] 输出 -2 例10 计算表达式)6.0arctan(226sin 2ln 1132+-+-e π 的值 输入 1/(1+Log[2])*Sin[Pi/6]-Exp[-2]/(2+2^(2/3))*ArcTan[.6] 输出 0.2749212. 自定义函数在Mathematica 系统内,由字母开头的字母数字串都可用作变量名,但要注意其中不能包含空 格或标点符号.变量的赋值有两种方式. 立即赋值运算符是“=”,延迟赋值运算符是“: =”. 定义函数使用 的符号是延迟赋值运算符“: =”.例11 定义函数 12)(23++=x x x f ,并计算)2(f ,)4(f ,)6(f . 输入Clear[f,x]; (*清除对变量f 原先的赋值*) f[x_]:=x^3+2*x^2+1; (*定义函数的表达式*) f[2] (*求)2(f 的值*)f[x]/.{x->4} (*求)4(f 的值,另一种方法*)x=6; (*给变量x 立即赋值6*)f[x] (*求)6(f 的值,又一种方法*)输出17 97 289注:本例1、2、5行的结尾有“;”,它表示这些语句的输出结果不在屏幕上显示.四、解方程在Mathematica 系统内,方程中的等号用符号“==”表示. 最基本的求解方程的命令为 Solve[eqns, vars]它表示对系数按常规约定求出方程(组)的全部解,其中eqns 表示方程(组),vars 表示所求未知变量. 例12 解方程0232=++x x 输入 Solve[x^2+3x+2==0, x] 输出 }}1x {},2x {{-→-→例13 解方程组 ⎩⎨⎧=+=+1dy cx by ax输入 Solve[{a x + b y == 0,c x + d y ==1}, {x,y}]输出 ⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+-→-→ad bc a y ,ad bc b x例14 解无理方程a x x =++-11输入 Solve[Sqrt[x-1]+ Sqrt[x+1] == a, x]输出 ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧+→24a 4a 4x 很多方程是根本不能求出准确解的,此时应转而求其近似解. 求方程的近似解的方法有两种, 一种是在方程组的系数中使用小数,这样所求的解即为方程的近似解;另一种是利用下列专门用于 求方程(组)数值解的命令:NSolve[eqns, vars] (*求代数方程(组)的全部数值解*)FindRoot[eqns, {x, x0}, {y, y0} ,]后一个命令表示从点),,(00 y x 出发找方程(组)的一个近似解,这时常常需要利用图像法先大致确定所求根的范围,是大致在什么点的附近.例15 求方程013=-x 的近似解 输入 NSolve[x^3-1== 0, x]输出 {{→x -0.5-0.866025ii},{→x -0.5+0.866025ii},{→x 1.}} 输入 FindRoot[x^3-1==0,{x, .5}] 输出 {→x 1.}下面再介绍一个很有用的命令:Eliminate[eqns, elims] (*从一组等式中消去变量(组)elims*)例16从方程组 ⎪⎩⎪⎨⎧=+=-+-+=++11)1()1(1222222y x z y x z y x 消去未知数y 、z .输入Eliminate[{x^2+y^2+z^2 ==1,x^2+(y-1)^2 + (z-1)^2 ==1, x + y== 1},{y, z}] 输出 0x 3x 22==+-注:上面这个输入语句为多行语句,它可以像上面例子中那样在行尾处有逗号的地方将行与行 隔开, 来迫使Mathematica 从前一行继续到下一行在执行该语句. 有时候多行语句的意义不太明 确,通常发生在其中有一行本身就是可执行的语句的情形,此时可在该行尾放一个继续的记号“\”, 来迫使Mathematica 继续到下一行再执行该语句.五、保存与退出Mathematica 很容易保存Notebook中显示的内容,打开位于窗口第一行的File菜单,点击Save 后得到保存文件时的对话框,按要求操作后即可把所要的内容存为*.nb文件. 如果只想保存全部输入的命令,而不想保存全部输出结果,则可以打开下拉式菜单Kernel,选中Delete All Output,然后再执行保存命令. 而退出Mathematica与退出Word的操作是一样的.六、查询与帮助查询某个函数(命令)的基本功能,键入“?函数名”,想要了解更多一些,键入“??函数名”,例如, 输入?Plot则输出Plot[f,{x,xmin,xmax}] generates a plot of f as a functionof x from xmin to xmax. Plot[{f1,f2,…},{x,xmin,xmax}] plots several functions fi它告诉了我们关于绘图命令“Plot”的基本使用方法.例17 在区间]1,1y=的图形.[-上作出抛物线2x输入Plot[x^2,{x,-1,1}]则输出例18 .输入Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出??Plot则Mathematica会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica的Help菜单中提供了大量的帮助信息,其中Help菜单中的第一项Help Browser(帮助游览器)是常用的查询工具,读者若想了解更多的使用信息,则应自己通过Help菜单去学习.空间图形的画法(基础实验)实验目的 掌握用Mathematica 绘制空间曲面和曲线的方法. 熟悉常用空间曲线和空间曲面 的图形特征,通过作图和观察, 提高空间想像能力. 深入理解二次曲面方程及其图形.基本命令1.空间直角坐标系中作三维图形的命令Plot3D命令Plot3D 主要用于绘制二元函数),(y x f z =的图形. 该命令的基本格式为Plot3D[f[x,y],{x,x1,x2},{y,y1,y2},选项]其中f[x,y]是y x ,的二元函数, x1,x2表示x 的作图范围, y1,y2表示y 的作图范围.例如,输入Plot3D[x^2+y^2,{x,-2,2},{y,-2,2}]则输出函数22y x z +=在区域22,22≤≤-≤≤-y x 上的图形(图2.1)与Plot 命令类似, Plot3D 有许多选项. 其中常用的如PlotPoints 和ViewPoint. PlotPoints 的用 法与以前相同. 由于其默认值为PlotPoints->15, 常常需要增加一些点以使曲面更加精致, 可能要 用更多的时间才能完成作图. 选项ViewPoint 用于选择图形的视点(视角), 其默认值为 ViewPoint->{1.3,-2.4,2.0},需要时可以改变视点.2.利用参数方程作空间曲面或曲线的命令ParametricPlot3D 用于作曲面时, 该命令的基本格式为ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,u1,u2},{v,v1,v2},选项]其中x[u,v],y[u,v],z[u,v]是曲面的参数方程表示式. u1,u2是作图时参数u 的范围, v1,v2是参数v 的 范围.例如,对前面的旋转抛物面, 输入ParametricPlot3D[{u*Cos[v],u*Sin[v],u^2},{u,0,3},{v,0,2 Pi}]同样得到曲面22y x z +=的图形(图2.2).由于自变量的取值范围不同, 图形也不同. 不过, 后者比较好的反映了旋转曲面的特点, 因 而是常用的方法.又如, 以原点为中心, 2为半径的球面. 它是多值函数, 不能用命令Plot3D 作图. 但是, 它的 参数方程为,20,0,cos 2,sin sin 2,cos sin 2πθπϕϕθϕθϕ≤≤≤≤===z y x因此,只要输入ParametricPlot3D[{2 Sin[u]*Cos[v],2 Sin[u]*Sin[v],2 Cos[u]},{u,0,Pi},{v,0,2 Pi}]便作出了方程为22222=++y x z 的球面(图2.3)..用于作空间曲线时,ParametricPlot3D 的基本格式为ParametricPlot3D[{x[t],y[t],z[t]},{t,t1,t2},选项]其中x[t],y[t],z[t]是曲线的参数方程表示式. t1,t2是作图时参数t 的范围.例如, 空间螺旋线的参数方程为).80(10/,sin ,cos π≤≤===t t z t y t x输入ParametricPlot3D[{Cos[t],Sin[t],t/10,RGBColor[1,0,0]},{t,0,8 Pi}]则输出了一条红色的螺旋线(图2.4).在这个例子中,请读者注意选项RGBColor[1,0,0]的位置.用于作空间曲线时, ParametricPlot3D 的选项PlotPoints 的默认值是30, 选项ViewPoint 的默 认值没有改变.3.作三维动画的命令MoviPlot3D:无论在平面或空间, 先作出一系列的图形, 再连续不断地放映, 便得到动画. 例如, 输入调用作图软件包命令<<Graphics\Animation.m.执行后再输入MoviePlot3D[Cos[t*x]*Sin[t*y],{x,-Pi,Pi},{y,-Pi,Pi},{t,1,2},Frames->12]则作出了12幅曲面图, 选中任一幅图形, 双击它便可形成动画.实验举例一般二元函数作图例2.1 (教材 例2.1) 作出平面y x z 326--=的图形,其中20,30≤≤≤≤y x . 输入Plot3D[6-2x-3y,{x,0,3},{y,0,2}]则输出所作平面的图形(图2.5).如果只要位于第一卦限的部分, 则输入Plot3D[6-2x-3y,{x,0,3},{y,0,2},PlotRange->{0,6}]观察图形.2.6).图2.6例2.2 (教材 例2.2) 作出函数2214y x z ++=的图形.输入k[x_,y_]:=4/(1+x^2+y^2)Plot3D[k[x,y],{x,-2,2},{y,-2,2},PlotPoints->30,PlotRange->{0,4},BoxRatios->{1,1,1}]则输出函数的图形2.7. 观察图形, 理解选项PlotRange->{0,4}和BoxRatios->{1,1,1}的含义. 选项 BoxRatios 的默认值是{1,1,0.4}.例2.3 (教材 例2.3) 作出函数22y x xye z ---=的图形. 输入命令Plot3D[-x*y*Exp[-x^2-y^2],{x,-3,3},{y,-3,3},PlotPoints->30,AspectRatio->Automatic];则输出所求图形(图 图2.8例2.4 (教材 例2.4) 作出函数)94cos(22y x z +=的图形. 输入Plot3D[Cos[4x^2+9y^2],{x,-1,1},{y,-1,1},Boxed->False,Axes->Automatic,PlotPoints->30,Shading->False]则输出网格形式的曲面图2.9, 这是选项Shading->False 起的作用, 同时注意选项Boxed->False 的作用.二次曲面例2.5 (教材 例2.5) 作出椭球面1194222=++z y x 的图形. 这是多值函数, 用参数方程作图的命令ParametricPlot3D. 该曲面的参数方程为,cos ,sin sin 3,cos sin 2u z v u y v u x === (ππ20,0≤≤≤≤v u ).输入ParametricPlot3D[{2*Sin[u]*Cos[v],3*Sin[u]*Sin[v], Cos[u]},{u,0,Pi},{v,0,2 Pi},PlotPoints->30]则输出椭球面的图形, 可使图形更加光滑.图2.10例2.6 (教材 例2.6) 作出单叶双曲面1941222=-+z y x 的图形. 曲面的参数方程为,tan 3,cos sec 2,sin sec u z v u y v u x === (.20,2/2/πππ≤≤<<-v u )输入ParametricPlot3D[{Sec[u]*Sin[v],2*Sec[u]*Cos[v], 3*Tan[u]},{u,-Pi/4,Pi/4},{v,0,2 Pi},PlotPoints->30]图2.11例2.7 作双叶双曲面13.14.15.1222222-=-+z y x 的图形.曲面的参数方程是,csc 3.1,sin cot 4.1,cos cot 5.1u z v u y v u x ===其中参数πππ<<-≤<v u ,20时对应双叶双曲面的一叶, 参数πππ<<-<≤-v u ,02时对应双叶双曲面的另一叶. 输入sh1=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4*Cot[u]*Sin[v],1.3/Sin[u]},{u,Pi/1000,Pi/2},{v,-Pi,Pi}, DisplayFunction->Identity];(*DisplayFunction->Identity 是使图形暂时不输出的选项*) sh2=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4* Cot[u]*Sin[v],1.3/Sin[u]},{u,-Pi/2,-Pi/1000}, {v,-Pi,Pi},DisplayFunction->Identity];Show[sh1,sh2,DisplayFunction->$DisplayFunction](*命令Show[sh1,sh2]是把图形sh1,sh2放置在一起, DisplayFunction->$DisplayFunction 是恢复显示图形的选项*) 输出为图2.12.例2.8 可以证明: 函数xy z =的图形是双曲抛物面. 在区域22,22≤≤-≤≤-y x 上作出它的图形.输入Plot3D[x*y,{x,-2,2},{y,-2,2},BoxRatios->{1,1,2}, PlotPoints->30]输出图形略. 也可以用ParametricPlot3命令作出这个图形, 输入ParametricPlot3[{r*Cos[t],r*Sin[t],r^2*Cos[t] *Sin[t]},{r,0,2},{t,0,2 Pi},PlotPoints->30]输出为图2.13例2.9 (教材 例2.7) 作出圆环v z u v y u v x sin 7,sin )cos 38(,cos )cos 38(=+=+=,(πππ22/,2/30≤≤≤≤v u )的图形.输入ParametricPlot3D[{(8+3*Cos[v])*Cos[u],(8+3*Cos[v])*Sin[u],7*Sin[v]},{u,0,3*Pi/2},{v,Pi/2,2*Pi}];图2.14例2.10 画出参数曲面]2,001.0[],4,0[)5/2/ln(tan cos sin sin sin cos ∈∈⎪⎩⎪⎨⎧++===v u u v v z vu y v u x π的图形.输入命令ParametricPlot3D[{Cos[u]*Sin[v],Sin[u]Sin[v],Cos[v]+Log[Tan[v/2]+u/5]}, {u,0,4*Pi},{v,0.001,2}];则输出所求图形(图2.15).曲面相交例2.11 (教材 例2.8) 作出球面22222=++z y x 和柱面1)1(22=+-y x 相交的图形. 输入g1=ParametricPlot3D[{2 Sin[u]*Cos[v],2 Sin[u]*Sin[v],2 Cos[u]},{u,0,Pi},{v,0,2 Pi},DisplayFunction->Identity];g2=ParametricPlot3D[{2Cos[u]^2,Sin[2u],v},{u,-Pi/2,Pi/2},{v,-3,3},DisplayFunction->Identity];Show[g1,g2,DisplayFunction->$DisplayFunction]则输出所求图形(图2.16)例2.12 作出锥面222z y x =+和柱面1)1(22=+-y x 相交的图形. 输入g3=ParametricPlot3D[{r*Cos[t],r*Sin[t],r}, {r,-3,3},{t,0,2 Pi},DisplayFunction->Identity];Show[g2,g3,DisplayFunction->$DisplayFunction]输出为图2.17.图2.17例2.13 画出以平面曲线x y cos =为准线, 母线平等Z 轴的柱面的图形. 写出这一曲面的参数方程为⎪⎩⎪⎨⎧=∈-∈==s z R s t t y t x ],,[,cos ππ 取参数s 的范围为[0, 8]. 输入命令ParametricPlot3D[{t,Cos[t],s},{t,-Pi,Pi},{s,0,8}]则输出所求图形(图2.18).例2.14 (教材 例2.9) 作出曲面x y x y x z =+--=2222,1及xOy 面所围成的立体图形. 输入g1=ParametricPlot3D[{r*Cos[t], r*Sin[t],r^2},{t,0,2*Pi},{r,0,1},PlotPoints->30]; g2=ParametricPlot3D[{Cos[t]*Sin[r],Sin[t]Sin[r],Cos[r]+1},{t,0,2*Pi},{r,0,Pi/2},PlotPoints->30];Show[g1,g2]则输出所求图形(图图2.19例2.15 (教材 例2.10) 作出螺旋线t z t y t x 2,sin 10,cos 10===(R t ∈)在xOz 面上的正投影曲线的图形.所给螺旋线在xOz面上的投影曲线的参数方程为10==.,cosx2ztt输入ParametricPlot[{2t,10Cos[t]},{t,-2Pi,2Pi}];则输出所求图形(图图2.20注:将表示曲线的方程组, 消去其中一个变量, 即得到曲线在相应于这一变量方向上的正投影曲线的方程, 不考虑曲线所在平面, 它就是投影柱面方程; 对于参数方程, 只要注意将方程中并不存在的那个变元看成第二参数而添加第三个方程即可.例2.16 (教材例2.11) 作出默比乌斯带(单侧曲面)的图形.输入Clear[r,x,y,z];r[t_,v_]:=2+0.5*v*Cos[t/2];x[t_,v_]:=r[t,v]*Cos[t]y[t_,v_]:=r[t,v]*Sin[t]z[t_,v_]:=0.5*v*Sin[t/2];ParametricPlot3D[{x[t,v],y[t,v],z[t,v]},{t,0,2 Pi},{v,-1,1},PlotPoints->{40,4},Ticks->False]则输出所求图形(图空间曲线例2.17 (教材 例2.12) 作出空间曲线)60(2,sin ,cos π≤≤===t t z t t y t t x 的图形. 输入ParametricPlot3D[{t*Cos[t],t*Sin[t],2*t,RGBColor[1.0,0,0.5]},{t,0,6 Pi}]则输出所求图形(图图2.22例2.18 绘制参数曲线 ⎪⎩⎪⎨⎧===2/cos 2sin t z t y t x 的图形.输入命令ParametricPlot3D[{Sin[t],2Cos[t],t.2},{t,0,12}];则输出所求图形(图2.23).例2.19 绘制参数曲线 ⎪⎪⎩⎪⎪⎨⎧=+==t z t y t x arctan 211cos 2的图形.输入命令ParametricPlot3D[{Cos[t]^2,1/(1+2*t),ArcTan[t]},{t,0,8}]; 则输出所求图形(图2.24).动画制作例2.20 平面正弦曲线的运动. 输入Table[Plot[Sin[x+t*Pi],{x,0,6 Pi}],{t,0,2,1/8}]则作出了16幅具有不同相位的正弦曲线(输出图形略). 双击屏幕上某一幅画, 则可形成动画. 下面是动画的最后一幅图(图2.25).例2.21 (教材 例2.13) 作模拟水波纹运动的动画. 输入调用软件包命令<<Graphics\Animation.m执行后再输入MoviePlot3D[Sin[Sqrt[x^2+y^2]+t*2*Pi],{x,-8 Pi,8 Pi},{y,-8 Pi,8 Pi},{t,1,0},PlotPoints->50,AspectRatio->0.5,ViewPoint->{0.911,-1.682,2.791},Frames->12]则输出12幅具有不同相位的水面图形, 双击屏幕上任意一幅图, 均可观察动画效果. 下图是第一幅图(图2.26).图2.26例2.22 (教材 例2.14) 用动画演示由曲线],0[,sin π∈=z z y 绕z 轴旋转产生旋转曲面的过程.该曲线绕z 轴旋转所得旋转曲面的方程为,sin 222z y x =+ 其参数方程为])2,0[],,0[(,,sin sin ,cos sin ππ∈∈===u z z z u z y u z x输入For[i=1,i<=30,i++,ParametricPlot3D[{Sin[z]*Cos[u],Sin[z]*Sin[u],z},{z,0,Pi},{u,0,2*Pi*i/30},AspectRatio->1,AxesLabel->{"X","Y","Z"}]];则输出连续变化的30幅图形. 双击屏幕上任意一幅图, 均可观察动画效果. 下面是生成旋转曲面的过程中的第23幅图(图2.27).图2.27例2.23 将一张薄膜贴在1,0,1,0====y y x x 的方框上, 薄膜振动的函数取为)cos()sin()sin()cos 1)(cos 1(16),,(224141222t n m y m x n m n n m t y x u m n ππππππ+⋅-+=∑∑==其中t 为参数, 作出图形随t 的变动而引起薄膜振动的动画.初始位置是).0,,(y x u 通过t 的不同值得到多幅画面, 然后将这些图形连续地一张张显示出来, 即可达到运动的动画效果. 输入命令<<Graphics 'Animation '; Clear[x,y,t,m,n];u[x_,y_,t_]:=Sum[16*(1+Cos[n*Pi])*(1-Cos[m*Pi])*Sin[n*Pi*x]*Sin[m*Pi*y]*Cos[Sqrt[m^2+n^2]*Pi*t] /(m^2*n^2*Pi*2),{m,1,4},{n,1,4}]Animate[Plot3D[u[x,y,t],{x,0,1},{y,0,1}, PlotRange->{-8,8}],{t,0,1.75,0.25}];图2.28附录Ⅰ 大学数学实验指导书项目三 多元函数微积分实验1 多元函数微分学(基础实验)实验目的 掌握利用Mathematica 计算多元函数偏导数和全微分的方法, 掌握计算二元 函数极值和条件极值的方法. 理解和掌握曲面的切平面的作法. 通过作图和观察, 理解二元 函数的性质、方向导数、梯度和等高线的概念.基本命令1.求偏导数的命令D命令D 既可以用于求一元函数的导数, 也可以用于求多元函数的偏导数. 例如: 求),,(z y x f 对x 的偏导数, 则输入D[f[x,y,z],x] 求),,(z y x f 对y 的偏导数, 则输入D[f[x,y,z],y]求),,(z y x f 对x 的二阶偏导数, 则输入D[f[x,y,z],{x,2}] 求),,(z y x f 对y x ,的混合偏导数, 则输入D[f[x,y,z],x,y] …………2.求全微分的命令Dt该命令只用于求二元函数),(y x f 的全微分时, 其基本格式为Dt[f[x,y]]其输出的表达式中含有Dt[x],Dt[y], 它们分别表示自变量的微分d x ,d y . 若函数),(y x f 的表 达式中还含有其它用字符表示的常数, 例如a, 则Dt[f[x,y]]的输出中还会有Dt[a], 若采用选 项Constants->{a}, 就可以得到正确结果, 即只要输入Dt[f[x,y],Constants->{a}]3.在Oxy 平面上作二元函数),(y x f 的等高线的命令ContourPlot 命令的基本格式为ContourPlot[f[x,y],{x,x1,x2},{y,y1,y2}]例如,输入ContourPlot[x^2-y^2,{x,-2,2},{y,-2,2}]则输出函数22y x z -=的等高线图(图1.1). 该命令的选项比较多(详细的内容参见光盘中的实验案例库). 如选项Contours->15表示作15条等高线, 选项Contours->{0}表示只作函数值为0的等高线.实验举例求多元函数的偏导数与全微分例1.1 (教材 例1.1) 设),(cos )sin(2xy xy z +=求.,,,222yx zx z y z x z ∂∂∂∂∂∂∂∂∂输入Clear[z];z=Sin[x*y]+Cos[x*y]^2; D[z,x] D[z,y] D[z,{x,2}] D[z,x,y]则输出所求结果.y Cos x y2y Cos x y Sin x yx Cos x y 2x Cos x y Sin x y2y 2Cos x y 2y 2Sin x y 2y 2Sin x y2Cos x y 2x y Cos x y 2x y Sin x y 2Cos x y Sin x y2x y Sin x y2例1.2 设,)1(y xy z +=求yzx z ∂∂∂∂,和全微分dz.输入Clear[z];z=(1+x*y)^y;D[z,x] D[z,y]则有输出⎪⎪⎭⎫ ⎝⎛++++++-]1[1)1()1(12xy Log xy xy xy xy y y y再输入Dt[z]则得到输出⎪⎪⎭⎫⎝⎛+++++]1[][1])[][()1(xy Log y Dt xy y xDt x yDt y xy y 例1.3 (教材 例1.2) 设,)(y xy a z +=其中a 是常数, 求dz.输入Clear[z,a];z=(a+x*y)^y;wf=Dt[z,Constants->{a}]//Simplify则输出结果:(a+xy)-1+y (y 2Dt[x,Constants->{a}]+Dt[y,Constants->{a}](xy+(a+xy)Log[a+xy]))其中Dt[x,Constants->{a}]就是d x , Dt[y,Constants->{a}]就是d y . 可以用代换命令“/.”把它们 换掉. 输入wf/.{Dt[x,Constants->{a}]->dx,Dt[y,Constants->{a}]->dy}输出为(a+xy)-1+y (dxy 2+dy(xy+(a+xy)Log[a+xy]))例1.4 (教材 例1.3) 设v u e y v u e x u u cos ,sin -=+=,求.,,,yv x v y u x u ∂∂∂∂∂∂∂∂ 输入eq1=D[x==E^u+u*Sin[v],x,NonConstants->{u,v}](*第一个方程两边对x 求导数, 把u,v 看成x,y 的函数*) eq2=D[y==E^u-u*Cos[v],x,NonConstants->{u,v}](*第二个方程两边对x 求导数, 把u,v 看成x,y 的函数*) Solve[{eq1,eq2},{D[u,x,NonConstants->{u,v}],D[v,x,NonConstants->{u,v}]}]//Simplify(*解求导以后由eq1,eq2组成的方程组*)则输出}}][][1(][}],{tan ,,[,][][1][}],{tan ,,[{{v Sin E v Cos E u v Cos E v u ts NonCons x v D v Sin E v Cos E v Sin v u ts NonCons x u D u u u u u -+-->->-+->->-其中D[u,x,NonConstants->{u,v}]表示u 对x 的偏导数, 而D[v,x,NonCosnstants->{u,v}]表示v 对x 的偏导数. 类似地可求得u ,v 对y 的偏导数.微分学的几何应用例1.5 求出曲面222y x z +=在点(1,1)处的切平面、法线方程, 并画出图形.解(1) 画出曲面的图形. 曲面的参数方程为⎪⎩⎪⎨⎧=∈∈==2]2,0[],2,0[,cos 2/sin rz r u u r y u f x π 输入命令Clear[f];f[x_,y_]=2x^2+y^2;p1=Plot3D[f[x,y],{x,-2,2},{y,-2,2}];g1=ParametricPlot3D[{r*Sin[u]/Sqrt[2.],r*Cos[u],r^2}, {u,0,2*Pi},{r,0,2}] 则输出相应图形(图1.2).(2) 画出切平面的图形. 输入命令a=D[f[x,y],x]/.{x->1,y->1}; b=D[f[x,y],y]/.{x->1,y->1}; p[x_,y_]=f[1,1]+a(x-1)+b(y-1);g2=Plot3D[p[x,y],{x,-2,2},{y,-2,2}];则输出切平面方程为,012=-+y x 及相应图形(图1.3).(3) 画出法线的图形. 输入命令ly[x_]=1+b(x-1)/a;lz[x_]=f[1,1]-(x-1)/a;g3=ParametricPlot3D[{x,ly[x],lz[x]},{x,-2,2}]; Show[p1,g2,g3,AspectRatio->Automatic,ViewPoint->{-2.530,-1.025,2.000}];则输出相应图形(图1.4).例1.6 (教材 例1.4) 求曲面14),(22++=y x y x k 在点⎪⎭⎫⎝⎛2164,21,41处的切平面方程, 并把曲面和它的切平面作在同一图形里.输入Clear[k,z];k[x_,y_]=4/(x^2+y^2+1); (*定义函数k(x,y)*)kx=D[k[x,y],x]/.{x->1/4,y->1/2};(*求函数k(x,y)对x 的偏导数, 并代入在指定点的值*) ky=D[k[x,y],y]/.{x->1/4,y->1/2};(*求函数k(x,y)对y 的偏导数, 并代入在指定的值*) z=kx*(x-1/4)+ky*(y-1/2)+k[1/4,1/2]; (*定义在指定点的切平面函数*)再输入qm=Plot3D[k[x,y],{x,-2,2},{y,-2,2},PlotRange->{0,4}, BoxRatios->{1,1,1},PlotPoints->30, DisplayFunction->Identity]; qpm=Plot3D[z,{x,-2,2},{y,-2,2}, DisplayFunction->Identity];Show[qm,qpm,DisplayFunction->$DisplayFunction]则输出所求曲面与切平面的图形(图1.5).多元函数的极值例1.7 (教材 例1.5) 求x y x y x y x f 933),(2233-++-=的极值. 输入Clear[f];f[x_,y_]=x^3-y^3+3x^2+3y^2-9x; fx=D[f[x,y],x] fy=D[f[x,y],y]critpts=Solve[{fx==0,fy==0}]则分别输出所求偏导数和驻点:2236369y y x x -++-{{x->-3,y->0},{x->-3,y->2},{x->1,y->0},{x->1,y->2}}再输入求二阶偏导数和定义判别式的命令fxx=D[f[x,y],{x,2}]; fyy=D[f[x,y],{y,2}]; fxy=D[f[x,y],x,y]; disc=fxx*fyy-fxy^2输出为判别式函数2xy yy xx f f f -的形式:(6+6x)(6-6y)再输入data={x,y,fxx,disc,f[x,y]}/.critpts;TableForm[data,TableHeadings->{None,{ "x ", "y ", "fxx ", "disc ", "f "}}]最后我们得到了四个驻点处的判别式与xx f 的值并以表格形式列出.X y fxx disc f -3 0 -12 -72 27 -3 2 -12 72 31 1 0 12 72 -51 2 12 -72 -1易见,当2,3=-=y x 时,12-=xx f 判别式disc=72, 函数有极大值31; 当0,1==y x 时,12=xx f 判别式disc=72, 函数有极小值-5;当0,3=-=y x 和2,1==y x 时, 判别式disc=-72, 函数在这些点没有极值. 最后,把函数的等高线和四个极值点用图形表示出来,输入d2={x,y}/.critpts;g4=ListPlot[d2,PlotStyle->PointSize[0.02],DisplayFunction->Identity]; g5=ContourPlot[f[x,y],{x,-5,3},{y,-3,5},Contours->40,PlotPoints->60,ContourShading->False,Frame->False,Axes->Automatic,AxesOrigin->{0,0},DisplayFunction->Identity];Show[g4,g5,DisplayFunction->$DisplayFunction]则输出图1.6.从上图可见, 在两个极值点附近, 函数的等高线为封闭的. 在非极值点附近, 等高线不 封闭. 这也是从图形上判断极值点的方法.注:在项目一的实验4中,我们曾用命令FindMinimum 来求一元函数的极值, 实际上,也可 以用它求多元函数的极值, 不过输入的初值要在极值点的附近. 对本例,可以输入以下命令FindMinimum[f[x,y],{x,-1},{y,1}]则输出{-5.,{x->1.,y->-2.36603×10-8}}从中看到在0,1==y x 的附近函数),(y x f 有极小值-5, 但y 的精度不够好.例1.8 求函数22y x z +=在条件0122=-+++y x y x 下的极值. 输入Clear[f,g,la]; f[x_,y_]=x^2+y^2;g[x_,y_]=x^2+y^2+x+y-1; la[x_,y_,r_]=f[x,y]+r*g[x,y]; extpts=Solve[{D[la[x,y,r],x]==0,D[la[x,y,r],y]==0,D[la[x,y,r],r]==0}]得到输出⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+->-+->-+->-⎩⎨⎧⎭⎬⎫⎩⎨⎧-->--->--->-)31(21),31(21),33(31,)31(21),31(21),33(31y x r y x r再输入f[x,y]/.extpts//Simplify得到两个可能是条件极值的函数值}.32,32{-+但是否真的取到条件极值呢? 可利用等高线作图来判断.输入dian={x,y}/.Table[extpts[[s,j]],{s,1,2},{j,2,3}] g1=ListPlot[dian,PlotStyle->PointSize[0.03],DisplayFunction->Identity]cp1=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},Contours->20,PlotPoints->60,ContourShading->False,Frame->False,Axes-> Automatic,AxesOrigin->{0,0},DisplayFunction->Identity]; cp2=ContourPlot[g[x,y],{x,-2,2},{y,-2,2},PlotPoints->60,Contours->{0},ContourShading-> False,Frame->False,Axes->Automatic,ContourStyle->Dashing[{0.01}],AxesOrigin->{0,0},DisplayFunction->Identity]; Show[g1,cp1,cp2,AspectRatio->1,DisplayFunction->$DisplayFunction]输出为⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧+-+-⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧----)31(21,2321,)31(21,2321 及图1.7. 从图可见,在极值可疑点,2321,2321⎪⎪⎭⎫ ⎝⎛----⎪⎪⎭⎫ ⎝⎛+-+-2321,2321 处, 函数),(y x f z =的等高线与曲线0),(=y x g (虚线)相切. 函数),(y x f z =的等高线是一系列同心圆, 由里向外, 函数值在增大, 在)31(21),31(21--=--=y x 的附近观察, 可以得出),(y x f z =取条件极大的结论. 在),31(21+-=x )31(21+-=y 的附近观察, 可以得出),(y x f z =取条件极小的结论.梯度场例1.9 画出函数222),,(y x z z y x f --=的梯度向量. 解 输入命令<<Graphics`ContourPlot3D` <<Graphics`PlotField3D` <<Calculus`VectorAnalysis`SetCoordinates[Cartesian[x,y,z]];f=z^2-x^2-y^2;cp3d=ContourPlot3D[f,{x,-1.1,1.1},{y,-1.1,1.1},{z,-2,2},Contours->{1.0},Axes->Tr ue,AxesLabel->{"x","y","z"}];vecplot3d=PlotGradientField3D[f,{x,-1.1,1.1},{y,-1.1,1.1},{z,-2,2},PlotPoints->3,Ve ctorHeads->True];Show[vecplot3d, cp3d];则输出相应图形(图1.8)例1.10 在同一坐标面上作出⎪⎪⎭⎫⎝⎛++=2211),(y x x y x u 和 ,11),(22⎪⎪⎭⎫⎝⎛+-=y x y y x v 的等高线图(0>x ), 并给出它们之间的关系.解 输入命令<<Calculus`VectorAnalysis` <<Graphics`PlotField`SetCoordinates[Cartesian[x,y,z]];check[u_,v_]:={Grad[u][[1]]-Grad[v][[2]],Grad[v][[1]]+Grad[u][[2]]} u=x(1+1/(x^2+y^2));v=y(1-1/(x^2+y^2)); check[u,v]//Simplifyugradplot=PlotGradientField[u,{x,-2,2},{y,-2,2},DisplayFunction->Identity];uplot=ContourPlot[u,{x,-2,2},{y,-2,2},ContourStyle->GrayLevel[0],ContourShading->False,DisplayFunction->Identity,Contours->40,PlotPoints->40]; g1=Show[uplot,ugradplot,DisplayFunction->$DisplayFunction];vgradplot=PlotGradientField[v,{x,-2,2},{y,-2,2},DisplayFunction->Identity];vplot=ContourPlot[v,{x,-2,2},{y,-2,2},ContourStyle->GrayLevel[0.7],ContourShading->False,DisplayFunction->Identity,Contours->40,PlotPoints->40]; g2=Show[vplot,vgradplot,DisplayFunction->$DisplayFunction]; g3=Show[uplot,vplot,DisplayFunction->$DisplayFunction];g4=Show[ugradplot,vgradplot,DisplayFunction->$DisplayFunction];则输出相应图形(图1.9),其中(a) ),(y x u 的梯度与等高线图;(b) ),(y x v 的梯度与等高线图; (c) ),(y x u 与),(y x v 的等高线图; (d) ),(y x u 与),(y x v 的梯度图.图1.9从上述图中可以看出它们的等高线为一族正交曲线. 事实上, 有,,2222x v y x x y u y v y x x x u ∂∂-=+=∂∂∂∂=+=∂∂ 且,0=∇⋅∇v u 它们满足拉普拉斯方程022222222=∂∂+∂∂=∂∂+∂∂y vx v y u x u 例1.11 (教材 例1.6) 设,),()(22y x xe y x f +-=作出),(y x f 的图形和等高线, 再作出它的梯度向量gradf 的图形. 把上述等高线和梯度向量的图形叠加在一起, 观察它们之间的关系.输入调用作向量场图形的软件包命令<<Graphics\PlotField.m再输入Clear[f];f[x_,y_]=x*Exp[-x^2-y^2];dgx=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},PlotPoints->60, Contours->25,ContourShading->False,Frame->False,Axes->Automatic,AxesOrigin->{0,0}] td=PlotGradientField[f[x,y],{x,-2,2},{y,-2,2},Frame->False] Show[dgx,td]输出为图1.10. 从图可以看到Oxy 平面上过每一点的等高线和梯度向量是垂直的, 且梯度的 方向是指向函数值增大的方向图1.10例1.12 求出函数244),(y xy x y x f +-=的极值, 并画出函数),(y x f 的等高线、驻点以及),(y x f -的梯度向量的图形.输入命令<<Graphics`PlotField`f=x^4-4*x*y+y^2;FindMinimum[f,{x,1},{y,1}]conplot=ContourPlot[f,{x,-2,2},{y,-3,3},ContourShading->False,PlotPoints->100,Contours->{-4,-2,0,2,4,10,20}];fieldplot=PlotGradientField[-f,{x,-2,2},{y,-3,3},ScaleFunction->(Tanh[#/5]&)];critptplot=ListPlot[{{-Sqrt[2],-2*Sqrt[2]},{0,0},{Sqrt[2],2*Sqrt[2]}},PlotStyle->{PointSize [0.03]}];Show[conplot,fieldplot,critptplot];则得到),(y x f 的最小值.4)82843.2,41421.1(-=f 以及函数的图形(图1.11).实验习题 1.设,xy e z =求.dz2.设),,(y xy f z =求.,,22222y x zy z x z ∂∂∂∂∂∂∂ 3.设),sin (cos ),(228/)(22y x e y x g y x+=+-求.,,2yx z y z x z ∂∂∂∂∂∂∂ 4.试用例1.5的方法求265433051830120),(xy x x x x y x f +++--=的极值. 5.求324y x z +=在01422=-+y x 条件下的极值.6.作出函数42210/)2(),(y x e y x f +-=的等高线和梯度线的图形, 并观察梯度线与等高线的 关系.实验2 多元函数积分学(基础实验)实验目的掌握用Mathematica 计算二重积分与三重积分的方法; 深入理解曲线积分、曲面积分的 概念和计算方法. 提高应用重积分和曲线、曲面积分解决各种问题的能力.基本命令1. 计算重积分的命令lntegrate 和NIntegrate 例如,计算dydx xy x ⎰⎰102, 输入Integrate[x*y^2,{x,0,1},{y,0,x}]则输出 151又如,计算dydx xy )sin(10102⎰⎰的近似值, 输入NIntegrate[Sin[x*y^2],{x,0,1},{y,0,1}] 则输出 0.160839注: Integrate 命令先对后边的变量积分.计算三重积分时,命令Integrate 的使用格式与计算二重积分时类似. 由此可见, 利用 Mathematica 计算重积分, 关键是确定各个积分变量的积分限. 2. 柱坐标系中作三维图形的命令CylindricalPlot3D使用命令Cylindricalplot3D, 首先要调出作图软件包. 输入 <<Graphics`ParametricPlot3D` 执行成功后便可继续下面的工作.使用命令Cylindricalplot3D 时,一定要把z 表示成r ,θ的函数. 例如,在直角坐标系中方 程22y x z +=是一旋转抛物面, 在柱坐标系中它的方程为2r z =. 因此,输入 CylindricalPlot3D[r^2,{r,0,2},{t,0,2Pi}] 则在柱坐标系中作出了该旋转抛物面的图形.3. 球面坐标系中作三维图形命令SphericalPlot3D使用命令SphericalPlot3D, 首先要调出作图软件包. 输入 <<Graphics`ParametricPlot3D` 执行成功后便可继续下面的工作.命令SphericalPlot3D 的基本格式为SphericalPlot3D[r[],θϕ, {}],,{},,,2121θθθϕϕϕ其中r[],θϕ是曲面的球面坐标方程, 使用时一定要把球面坐标中的r 表示成ϕ、θ的函数. 例如,在球面坐标系中作出球面,22222=++z y x 输入Sphericalplot3D[2,{u,0,pi},|v,0,2,pi|,plotpoints->40]则在球面坐标系中作出了该球面的图形. 4. 向量的内积用“.”表示两个向量的内积. 例如,输入 vecl={al,bl,cl} vec2={a2,b2,c2} 则定义了两个三维向量, 再输入 vec1. vec2 则得到它们的内积a1a2+b1b2+c1c2实验举例计算重积分例2.1 (教材 例2.1) 计算,2dxdy xyD⎰⎰ 其中D 为由,,2y x y x ==+ 2=y 所围成的有界区域.先作出区域D 的草图, 易直接确定积分限,且应先对x 积分, 因此, 输入 Integrate[x*y^2,{y,1,2},{x,2-y,Sqrt[y]}] 则输出所求二重积分的计算结果.120193例2.2 (教材 例2.2) 计算,)(22dxdy e Dy x⎰⎰+- 其中D 为.122≤+y x如果用直角坐标计算, 输入Clear[f,r];f[x,y]=Exp [-(x^2+y^2)];Integrate[f[x,y],{x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}]则输出为dx x 1Erf e 211x 2⎥⎦⎤⎢⎣⎡-π⎰--其中Erf 是误差函数. 显然积分遇到了困难.如果改用极坐标来计算, 也可用手工确定积分限. 输入Integrate[(f[x,y]/.{x->r*Cos[t],y->r*Sin[t]})*r,{t,0,2 Pi},{r,0,1}] 则输出所求二重积分的计算结果eπ-π 如果输入NIntegrate[(f[x,y]/.{x->r*Cos[t],y->r*Sin[t]})*r,{t,0,2 Pi},{r,0,1}] 则输出积分的近似值1.98587例 2.3 (教材 例 2.3) 计算dxdydz z y x)(22++⎰⎰⎰Ω, 其中Ω由曲面222y x z --=与22y x z +=围成.先作出区域Ω的图形. 输入g1=ParametricPlot3D[{Sqrt[2]*Sin[fi]*Cos[th],Sqrt[2]*Sin[fi]*Sin[th], Sqrt[2]*Cos[fi]},{fi,0,Pi/4},{th,0,2Pi}] g2=ParametricPlot3D[{z*Cos[t],z*Sin[t],z},{z,0,1},{t,0,2Pi}] Show[g1,g2,ViewPoint->{1.3,-2.4,1.0}]则分别输出三个图形(图2.1(a), (b), (c)).考察上述图形, 可用手工确定积分限. 如果用直角坐标计算, 输入 g[x_,y_,z_]=x^2+y^2+z;Integrate[g[x,y,z],{x,-1,1},{y,-Sqrt[1-x^2], Sqrt[1-x^2]},{z,Sqrt[x^2+y^2],Sqrt[2-x^2-y^2]}] 执行后计算时间很长, 且未得到明确结果.现在改用柱面坐标和球面坐标来计算. 如果用柱坐标计算,输入Integrate[(g[x,y,z]/.{x->r*Cos[s],y->r*Sin[s]})*r, {r,0,1},{s,0,2Pi},{z,r,Sqrt[2-r^2]}]则输出π⎪⎪⎭⎫⎝⎛+-15281252 如果用球面坐标计算,输入Integrate[(g[x,y,z]/.{x->r*Sin[fi]*Cos[t],y->r*Sin[fi]*Sin[t],z->r*Cos[fi]})*r^2*Sin[fi],{s,0,2Pi},{fi,0,Pi/4},{r,0,Sqrt[2]}]则输出π⎪⎪⎭⎫ ⎝⎛+-321662551这与柱面坐标的结果相同.重积分的应用例2.4 求由曲面()y x y x f --=1,与()222,y x y x g --=所围成的空间区域Ω的体积.输入Clear[f,g];f[x_,y_]=1-x -y;g[x_,y_]=2-x^2-y^2;Plot3D[f[x,y],{x,-1,2},{y,-1,2}] Plot3D[g[x,y],{x,-1,2},{y,-1,2}] Show[%,%%]一共输出三个图形,首先观察到Ω的形状. 为了确定积分限, 要把两曲面的交线投影到Oxy 平面上输入 jx=Solve[f[x,y]==g[x,y],y] 得到输出 ⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧⎪⎭⎫ ⎝⎛-++→⎭⎬⎫⎩⎨⎧⎪⎭⎫ ⎝⎛-+-→22445121,445121x x y x x y为了取出这两条曲线方程, 输入 y1=jx[[1,1,2]] y2=jx[[2,1,2]] 输出为⎪⎭⎫ ⎝⎛-+-2445121x x⎪⎭⎫ ⎝⎛-++2445121x x再输入tu1=Plot[y1,{x,-2,3},PlotStyle->{Dashing[{0.02}]},DisplayFunction->Identity];tu2=Plot[y2,{x,-2,3},DisplayFunction->Identity]; Show[tu1,tu2,AspectRatio->1, DisplayFunction-> $DisplayFunction]输出为图2.2, 由此可见,y 是下半圆(虚线),y 是上半圆,因此投影区域是一个圆.设21y y =的解为1x 与2x ,则21,x x 为x 的积分限. 输入 xvals=Solve[y1==y2,x]输出为 ()()⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+→⎭⎬⎫⎩⎨⎧-→6121,6121x x 为了取出21,x x , 输入x1=xvals[[1,1,2]]x2=xvals[[2,1,2]]输出为()6121- ()6121+。

Mathematica 7 进阶教程 (1)

Mathematica 7 进阶教程 (1)

Mathematica 7 进阶教程(1)by illusionWing一、基本语法1、基本语言构成Mathematica 7官方文档Language Overview中对Mathematica的基本语法符号作了如下阐述:表达式»f[a,b,...]—Mathematica中一切对象的基本形式列表操作»{...} (List) ▪ ...[[...]] (Part) ▪ Table ▪ Length ▪ Take ▪ Select ▪ ... 函数程序设计»...& (Function) ▪ /@ (Map) ▪ Nest ▪ NestList ▪ FoldList ▪ Array ▪ ... 规则与模式»_ ▪ __ ▪ | ▪ .. ▪ /; ▪ Cases ▪ Position ▪ ...规则与模式»-> (Rule) ▪ :> ▪ /. (ReplaceAll) ▪ ...赋值»= ▪ := ▪ =. ▪ ^= ▪ ...表达式测试»▪ ▪ && ▪ || ▪ MemberQ ▪ ...范围结构»Module ▪ With ▪ Block ▪ Dynamic ▪ ...程序设计»; ▪ If ▪ Do ▪ While ▪ Sow ▪ Reap ▪ ...字符串操作»"..." (String) ▪ StringExpression ▪ StringReplace ▪ StringCases ▪ ...Mathematica 7中所有函数都由函数名[函数参数] 的结构组成。

对此本文档不再冗述,建议参考官方简体中文版本说明:/mathematica/guide/Mathematica.html“核心语言”部分。

其他函数在该文档中也有详细的说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

\
第七讲 中值定理与导数应用
(一)运用Mathematica 讨论微分中值定理
f[x_]:=Log[Sin[x]];(#Rolle 中值定理#);
Plot[{f[x],f'[x]},{x,Pi/6,5Pi/6},PlotStyle {RGBColor[1,0,1],Thickness[0.01]}]; 
Clear[a,b,f];(*Lagrange 中值定理*);
f[x_]:=Sin[x];
a=0;b=5Pi/6;k=(f[b]-f[a])/(b-a);
th1=FindRoot[f'[]k,{,.4}];
Plot[{f[x],(f[]+k*(x -))/.th1,f[a]+k*(x -a)},{x,a,b},PlotStyle {{RGBColor[1,0,1],Thickness
 [0.01]},{RGBColor[1,0,0],Thickness[0.02]},{RGBColor[0,0,1],Thickness[0.01]}}];
(二)运用Mathematica 讨论泰勒公式
1.幂级数展开:Series[f[x],{x,x0,n}]
Series[Exp[x],{x,0,4}]
Series[Sin[x],{x,1,3}]
Series[f[x],{x,0,3}]
Series[Exp[x]/x^2,{x,0,2}]
a=Series[Exp[Sqrt[x]],{x,0,2}]
(#把幂级数转换为一般表达式#);Normal[a ]
Series[Exp[1/x],{x,0,2}]
Clear[f,g,x];
f[x_]:=Sin[x];
g[x_]:=Series[f[x],{x,0,6}];
g=Normal[g[x]];
Plot[{f[x],g},{x,-2Pi,2Pi},PlotStyle {RGBColor[1,0,1],Thickness[0.01]}]; 
2.幂级数的分项图形
f[x_]:=Sin[x];n=9;x0=1;
 (#求各阶导数
d=Table[D[f[x],{x,i}]/.{x x0},{i,1,n}];
#);ftu={Plot[f[x0],{x,-2Pi,2Pi},DisplayFunction Identity,PlotStyle{RGBColor[1,0,1],Thic kness[0.01]}]};(#画水平直线#);
 -i/n],Thic Do[ftu=Append[ftu,Plot[d[[i]](x-x0)^i/i!,{x,-2Pi,2Pi},PlotStyle{RGBColor[i/n,1,1
 (#作图形表
kness[0.01]},DisplayFunction Identity]],{i,1,n,2}];
 [0,0, #);ztu=Plot[{f[x],f[x0]+Sum[d[[j]](x-x0)^j/j!,{j,1,n}]},{x,-2Pi,2Pi},PlotStyle{RGBColor
 (#综合作图#);
0],{RGBColor[1,0,0],Thickness[0.015]}},DisplayFunction Identity];
Show[{ftu,ztu},PlotRange{
 -3,3},DisplayFunction$DisplayFunction];
Clear[f,g,x,i];
f[x_]:=Sin[x];
For[i=1 ,i<11,i=i+2,g=Normal[Series[f[x],{x,0,i}]];
Plot[{f[x],g},{x,-2Pi,2Pi},PlotStyle{RGBColor[1,0,1],Thickness[0.01]}]];
f[x_]:=Sin[x];n=17;x0=0;
d=Table[D[f[x],{x,i}]/.{x x0},{i,1,n}];
ztu=Table[Plot[{f[x],f[x0]+Sum[d[[j]](x-x0)^j/j!,{j,1,i}]},{x,-2Pi,2Pi},PlotStyle{RGBColor[
0,0,0],{RGBColor[0,0,1],Thickness[0.01]}},DisplayFunction Identity],{i,1,n,2}];
 -3,3},DisplayFunction$DisplayFunction],{i,1,n/2}];
Do[Show[{ztu[[i]]},PlotRange{
3.幂级数的运算
Series[Exp[x],{x,0,4}]
x^2+Series[Exp[x],{x,0,4}]
a=Sin[x]+Series[Exp[x],{x,0,4}]
D[a,x]
Integrate[a,x]
(三)函数单调性和凹凸性
Clear[f,x];
f[x_]:=2x^3-9x^2+12x-3;
 -1,3},{-5,5}},PlotStyle{{RGBColor[1,0,0],Thick
Plot[{f[x],f'[x],f''[x]},{x,-1,3},PlotRange{{
ness[0.01]},{RGBColor[0,1,0],Thickness[0.01]},{RGBColor[0,0,1],Thickness[0.01]}}];
a=Solve[f'[x]0,x];b=Solve[f''[x]0,x];
f[x]/.a[[1]]
f[x]/.a[[2]]
f[x]/.b[[1]]
2 1。

相关文档
最新文档