Mathematica简易教程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 7
举例:
Page 8
2.1.3 数学常数
Mathematica中定义了一些常见的数学常数,这些常数都是精确数。
Page 9
数学常数可用在公式推导和数值计算中,在数值计算中表示精确值。如:
2.1.4 数的输出形式 在数的输出中可以使用转换函数进行不同数据类型和精度的转换。对一 些有特殊要求的格式还可以使用如下的格式函数:
Page 20
3. 延迟定义函数 延迟定义函数从定义方法上与即时定义函数的区别是“=”与“=:”, 延迟定义的格式为:f[x_]:=expr,其他操作基本相同。
延迟定义与即时定义的区别: 即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用, 延时定义只是在真正调用时才真正定义函数。
Page 18
Page 19
对于已经定义的函数,我们可以使用Clear[f]清除掉,而Remove[f]则是从 系统中删除该函数。 2. 多变量函数的定义
多变量函数的定义格式为:f[x_,y_,z_,...]=expr,自变量为x_,y_,z_,...,相应 的expr中的自变量会被替换。例如定义函数f(x,y)=xy+ycosx
Page 15
Page 16
Page 17
2.3.2 函数的定义
1.函数的立即定义 立即定义函数的语法为:f[x_]=expr,函数名为f,自变量为x,expr是表 达式。在执行时会把expr中的x都替换为f的自变量x(不是x_).函数的自变量 具有局部性,指对所在的函数起作用,函数执行结束后也就没有了,不会 改变其他全局定义的同名变量的值。 请看下面的例子,定义函数f(x)=xsinx+x^2,对定义的函数,我们可以 求函数值,也可以绘制它的图形。
Page 31
2.5.6 常用的符号
以下是Mathematica中常用的符号:
Page 32
第三章 Mathematica的基本运算
3.1 多项式的表示形式 可以认为多项式是表达式的一种特殊的形式,所以多项式的运算与表达 式的运算基本一样,表达式中的各种输出形式也可以用于多项式的输出。 Mathematica提供一组按不同形式表示代数式的函数。
Page 26
2.5.2 表达式的形式 在显示表达式时,由于需要的不同,有时我们需要表达式的展开形式, 有时又需要其因子乘积的形式。在我们计算过程中可能得到很复杂的表达 式,这时我们又需要对它们进行化简。常用的处理这种情况的函数就是变 换表达式表示形式的函数。
Page 27
多项式表达式的项数过多,比较复杂,在显示时显得比较杂乱, 而且 在计算过程中没有必要知道全部的内容,或者表达式的项很有规律,没 有必要打印出全部的表达式的结果,Mathematica提供了一些命令,可 将它缩短输出或者不输出。
Page 23
2.4 表
将一些相关联的元素放在一起,使他们成为一个整体。既可以对整体 操作,也可以对整体中的一个元素单独操作。在Mathematica中,这样的数 据结构就叫做表(List),表{a,b,c}表示一个向量,表{{a,b},{c,d},{e,f}} 表示一个矩阵。 2.4.1 建表 在表的元素较少时,可以采用直接列表的方式列出表中的元素,如 {1,2,3}
下面举例说明一个离散数据的集合的图形:
Page 52
Page 53
4.1.3 二维参数作图
前面我们使用Plot命令可以绘制直角坐标系下的函数图形,使用 ParametricPlot可以绘制参数曲线,下面给出ParametricPlot的常用形式:
Page 12
如:
对不同的变量可以同时赋不同的值,例如:
Page 13
对于已经定义的变量,当你不再使用它时,为防止变量值的混淆,可以随 时用=.清除它的值,如果本身也要清除,用函数Clear[var],例如:
2.2.3 变量的替换 在给定一个表达式时,其中的变量可能取不同的值,这时可用变量 替换来计算表达式的值。方法为:expr/.x->xvar,例如:
Mathematica简介与入门
目录
第一章 Mathematica简介 第二章 Mathematica的基本量
第三章 Mathematica的基本运算
第四章 函数作图 第五章 微积分的基本操作
Page 2
第一章 Mathematica简介
Mathematica由美国物理学家Stephen Wolfram领导开发的,他们组建Wolfram 研究公司 Mathematica是一个计算机代数系统,把 符号运算、数值计算与图形显示集一体, 可以完成上述三项功能,更重要的是它把 这些功能融合在一个系统里,使它们成为 一个整体.此外,Mathematica还是一个 易于扩充的系统,即实际上提供了功能强 大的程序设计语言,可以定义用户需要的 各种函数,完成用户需要的各种工作,系 统本身还提供了一大批用这个语言写出的 专门程序或软件包 Mathematica的发布标志着现代科技计算 的开始。Mathematica是世界上通用计算 系统中最强大的系统。自从1988发布以来, 它已经对如何在科技和其它领域运用计算 机产生了深刻的影响
Page 43
4.1.1 例子:
Page 44
Page 45
Page 46
Page 47
Page 48
Page 49
Page 50
Page 51
4.1.2 数据集合的图形
Mathematica用于绘制数字集合的图形的命令与前面介绍的绘制函数图 形的命令是相似的,为:
Page 5
第二章 Mathematica的基本量
2.1 数据类型和常量 2.1.1 数值类型 在Mathematica中,数值的基本类型有四种:整数、有理数、实数、复数。
如果你的计算机内存足够大,Mathematica可以表示任意长度的精确实数。
如:In[1]:= 2^100 Out[1]= 1267650600228229401496703205376
Page 24
如果表中的元素较多时,可以用建表函数进行建表:
Page 25
2.4.2 表的元素的操作
当t表示一个表时,t[[i]]表示t中的第i个字表,如果t={1,2,a,b},那么t[[3]]=a.
2.5 表达式 2.5.1 表达式的含义 Mathematica能处理数学公式,表以及图形等多种数据形式。尽 管他们从形式上看起来不一样,但在Mathematica内部被看成同种类型, 即都把他们当做表达式的形式。Mathematica中的表达式是由常量、变 量、函数、命令、运算符和括号等组成,最典型的形式是f[x,y].
复数是由实部和虚部组成,实部和虚部都可以用整数、实数、有理数表示。 用I表示虚数单位
如:In[2]:= 3 + 0.7 I Out[2]= 3. + 0.7 I
Page 6
2.1.2 不同类型数的转换
在Mathematica的不同应用中,通常对数字的类型要求是不同的。例如在公 式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数 表示。在一般情况下在输出行Out[n]中,系统根据输入行In[n]的数字类型对 计算结果做出相应的处理。如有一些特殊的要求,就要进行数据类型的转 换。 在Mathematica中有如下几个函数达到转换的目的:
3.2.4 解条件方程
在作方程计算时,可以把一个方程看做你要处理的主要方程,而把其 他方程作为必须满足的辅助条件,你就会发现这样处理很方便。 在Mathematica中,我们通常是首先命名辅助条件组,然后用名字把辅 助条件包含在你要用函数Solve[]求解的方程组中。
Page 40
3.3 求和与求积
Page 33
Page 34
3.2 方程及其根的表示
因为Mathematica把方程看做是逻辑语句。在数学方程式表示为形如 "x^2-2x-3=0"的形式。在Mathematica中"="用作赋值语句,这样在 Mathematica中用"==" (两个等号中间没有空格)表示逻辑等号,则方程 应表示为“x^2-2x-3==0”。方程的解同原方程一样被看做是逻辑语句。例 如用Roots[lhs==rhs,var]求方程x^2-3x+2=0的根显示为:
Pageபைடு நூலகம் 38
3.2.3 求方程的全解
如果我们要求ax^2+bx+c=0的根,我们用Slove函数解的结果是:
这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况, 而上面只是给出部分解,如果要解决这个问题,可用Reduce命令, 它根据a,b,c的不同值给出全部值。
Page 39
Page 41
Page 42
第四章 函数作图
4.1 基本的二维图形 Mathematica在直角坐标系中作一元函数图形用下列基本命令:
Mathematica绘图时允许用户设置选项值对绘制图形的细节提出各种要 求。例如,要设置图形的高宽比,给图形加标题等。每个选项都有一 个确定的名字,以“选项名->选项值”的形式放在Plot中的最右边位置, 一次可设置多个选项,选项依次排列,有逗号隔开,也可以不设置选 项,采用系统的默认值。
Page 28
Page 29
2.5.3 关系表达式和逻辑表达式 下面给出Mathematica中各种关系算子:
Page 30
用一个关系式只能表示一个判定条件,要表示几个判定条件的组合, 必须用逻辑运算符将关系表达式组织在一起,我们称表示判定条件的表达 式为逻辑表达式,以下是常用的逻辑运算和它们的意义:
Page 35
3.2.1 求解一元代数方程
下面是常用的一些方程求解函数:
Solve函数可处理的主要方程是多项式方程,Mathematica总能对不 高于四次的方程进行精确求解,对于三次或者四次方程,解的形式可 能很复杂。
Page 36
Page 37
这时可以用N函数近似数值解:
3.2.2 求方程组的根 使用Solve、Nsolve和FindRoot也可以求解方程组的解,只是使 用形式略有不同,下面给出一个Slove函数的例子:
4. 使用条件运算符定义和IF命名定义函数 如定义:
Page 21
使用条件运算符,基本格式为:f[x_]:=expr/;condition,当condition条件满足 时才把expr赋给f(x)。
Page 22
当然,使用If命令也可以定义上面的函数,If语句的格式为If[条件,值1,值 2],如果条件成立取“值1”,否则取“值2”,用If语句定义如下:
Page 3
Mathematica能用来干嘛?
符号运算 数值计算 绘图 编程
Page 4
Mathematica 主要的运算功能可以分成以下4大类: 1.初等数学:进行各种数和初等函数式的计算与化简 2.微积分:求极限、导数、不定积分和定积分、将函数展成幂级数以及进行 无穷级数求和及积分变换 3.线性代数:进行行列式的计算、矩阵的各种运算、解线性方程组、求特征 值和特征向量、矩阵分解 4.解方程组:解各类方程组(包括微分方程组)
Page 10
例如:
Page 11
2.2 变量
2.2.1 变量的命名 Mathematica中内部函数和命令都是以大写字母开始的标示符,为了不混 淆它们,我们自定义的变量应该是以小写字母开始,后面可以跟数字和字 母的组合,长度不限。 另外,在Mathematica中是严格区分大小写的,如sdp与sDp是两个不同 的变量。 在Mathematica中,变量不仅可以存放一个数值,还可以存放表达式或复 杂的算式。 2.2.2 给变量赋值 在Mathematica中用“=”为变量赋值。同一个变量可以表示一个数值、一 个数组、一个表达式,甚至一个图形。
Page 14
如果表达式中有多个变量,也可以同时替换,方法为: expr/.{x->xval,y->val,...}
2.3 函数 2.3.1 系统函数 在Mathematica中定义了大量的数学函数可以直接调用,这些函数 名称一般表达了一定的意义,可以帮助我们理解。下面是几个常用个函 数: