mathematica-超级教程
- 格式:pdf
- 大小:1.60 MB
- 文档页数:94
学习必备欢迎下载绪论0.1 符号计算系统简介# 数值计算与符号计算1946 年世界上第一台计算机ENIAC (The Electronic Numerical Integrator and Computer) 是为数值积分服务的。
一提起计算机求解人们立刻想到的是数值求解,这是因为计算机的早期应用范围主要是数值求解。
其实数值求解是计算机求解的一个方面,计算机进行计算的另一方面即对数学表示式的处理已形成一门新的科学分支,称为符号计算或计算机代数,它是一门研究使用计算机进行数学公式推导的理论和方法,演算数学公式的理论和算法是它研究的中心课题。
数值计算:常量、变量、函数、运算符--〉数值、字符、逻辑量表达式€一个值多€一近似计算例:计算y=sin10+ln10。
其结果是1.75856。
在高级语言中,算术表达式由常量、变量、函数和运算符等组成,算术表达式的值为某一精度范围内的数值。
计算各类表达式的值是高级语言的主要工作。
符号计算(计算机代数):常量、变量值、函数值--〉数值、字符、逻辑量表达式€表达式多€多准确计算x 2 sin xdx =-(-2 + x 2 )cos x + 2 x sin x与数值计算相比,符号计算对计算机硬件和软件提出了更高的要求。
# 符号计算系统符号计算系统是一个表示数学知识和数学工具的系统,一个集成化的计算机数学软件系统。
# 数值计算、# 符号计算、# 图形演示# 程序设计公式推导、数值计算和图形可视化操作一致性和连贯性。
符号计算系统的对象从初等数学到高等数学,几乎涉及所有数学学科。
包括各种数学表达式的化简、多项式的四则运算、求最大公因式、因式分解(factor)、常微分方程和偏微分方程的解函数。
各种特殊函数的推导、函数的级数展开、矩阵和行列式的各种运算和线性方程组的符号解等。
和数值计算一样,算法也是符号计算的核心。
就算法而言,符号计算比数值计算能继承更多的更丰富的数学遗产,古典数学家许多算法仍然是核心算法的成员,近代数学的算法成果也在不断地充实到符号计算中。
Mathematica高级数学建模与计算教程第一章:Mathematica概述Mathematica是一种强大的数学建模和计算工具,它能够帮助用户解决各种复杂的数学问题。
本章将介绍Mathematica的基本概念、界面和功能,以及如何开始使用Mathematica。
1.1 Mathematica的基本概念Mathematica是由Wolfram Research公司开发的一款数学软件,它集成了数学计算、数据分析、可视化等多种功能,广泛应用于科学研究、工程和金融等领域。
Mathematica的核心是一种高级程序语言,用户可以用它进行数学建模和计算,并通过交互式界面进行操作。
1.2 Mathematica的界面和功能Mathematica的主界面分为菜单栏、工具栏和工作区等部分。
菜单栏提供了各种功能的快捷操作,工具栏则包含了常用的工具和命令按钮。
在工作区中,用户可以编写和执行Mathematica代码,并查看结果。
1.3 快速开始在Mathematica中,用户可以使用各种内置的函数和命令来进行数学建模和计算。
例如,可以使用内置函数Plot来绘制函数图像,使用函数Solve来求解方程,使用函数Integrate来进行积分等等。
用户可以通过简单的代码来描述数学问题,并得到计算结果。
第二章:数学建模基础数学建模是将实际问题转化为数学问题,并使用数学方法进行求解的过程。
本章将介绍数学建模的基本原理和方法,并结合具体例子演示如何使用Mathematica进行数学建模。
2.1 数学建模的基本原理数学建模的过程可以分为问题定义、数学模型的建立、模型求解和结果分析等几个步骤。
问题定义阶段需要明确问题的背景、目标和约束条件;数学模型的建立阶段需要选择合适的数学模型来描述问题;模型求解阶段需要使用合适的方法和工具进行求解;结果分析阶段需要对求解结果进行验证和解释。
2.2 使用Mathematica进行数学建模Mathematica提供了丰富的函数和命令来支持数学建模的各个步骤。
Mathematica 教程 3第五章 Mathematica 的基本运算Mathematica 最重要的特征之一是它不仅能做数值计算,还能进行符号运算。
这意味着它能象处理数一样处理代数公式,从而允许用户使用它做多种数学运算。
微分、积分等运算就是很好的例子。
使用Mathematica可以对一个表达式进行符号微分、积分,并得到一个公式的结果。
得到公式的计算结果通常是用户所希望的。
然而在很多情况下,在数学上是不可能得到显示公式作为计算的结果。
例如,当用户求解超越方程时,就不可能得到精确形式的方程。
在这种情况下,Mathematica 也提供了数值的方法作近似计算。
5.1常规方程求解5.1.1 方程的表示方法前面的课程中我们讨论过在Mathematica中的赋值问题,例如“x=y”表示给x赋以y 值。
而在Mathematica 中,数学意义上的方程组如“x2+2x+1=y”则被看作逻辑语句。
在Mathematica中“=”用作赋值语句,“==”表示逻辑关系,因而方程表示为“x2+2x+1==y”。
方程的解同原方程一样被看作逻辑语句。
例如用Roots求解方程的根显示为注:区分x=y和x==y 是很重要的,x==y只是检验x和y是否相等,使用过C语言的用户会看出Mathematica的赋值和检验表示法与C语言是相同的。
5.1.2 求解一元方程rhs = right hand side,方程的右边表达式我们先看看Solve相关的函数。
Solve和相关的Mathematica函数处理的方程主要是多项式方程。
对于三次或者四次方程,Mathematica给出的结果常常是复杂的。
但对于次数不高于四次的方程,Mathematica总能给出解的精确形式,即含根式的解的显示公式。
对于五次及五次以上的方程,一般不再可能给出仅含根式的解的显示形式,而是给出隐式符号表示。
这时我们可以使用N 函数给出近似数值解。
我们也可以使用NSolve函数来给出多项式方程的全部数值解:如果方程中只包含线性函数和多项式,那么一般使用NSolve都可以求出全部解的数值近似值。
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 软件是由沃尔夫勒姆研究公司(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 是⼀个符号计算与数值计算的通⽤数学软件包,是由美国的物理学家Stephen Wolfram 所领导的⼀个⼩组开发成功并推向市场的。
Mathematica 由最初的1.0、1.2、2.0、2.2、2.4、3.0版,到现在的4.0版,⽬前国内常⽤的版本是Windows 下的3.0及4.0版。
与Mathcad 和MATLAB 相⽐,Mathematica 才称得上是⼀个真正的数学符号计算软件包,因为只有它的内核是以符号计算为基础的,⽐如你可以定义⼀些数学规则,让它为你进⾏符号推导演算⼯作。
在Mathematica 中,你可以像Mathcad 那样进⾏草稿式的数学计算,你也可以像MATLAB ⼀样进⾏命令式的数学计算。
本章以4.0版为基础,介绍Mathematica 的使⽤⽅法。
2.1 Mathematica 的集成环境及基本操作当Mathematica 运⾏时,会出现如图所⽰的窗⼝。
右边的⼩窗⼝,我们称为数学⼯具⾯板,它包含多种数学符号,更多的符号可从命令菜单File/Palettes 中得到,利⽤它,可以像Mathcad ⼀样输⼊数学算式,⽐如上⾯计算的积分,完全可以通过数学⼯具⾯板,在Mathematica 中写成20[2]x Sin x dx π的形式,但这种输⼊⽅法有两个问题:⾸先,Mathematica 的输⼊操作不如Mathcad ⽅便,其次,由于Mathematica 的函数及符号太多,导致这种输⼊⽅法效率太低。
因此,我们对这种直观的命令输⼊⽅法将不做过多的介绍。
有兴趣的读者可以查阅相关的帮助主题。
笔者认为,使⽤Mathematica 计算数学问题最有效的⽅法是,直接通过键盘输⼊每个函数所代表的英⽂字符串。
左边的⼤窗⼝,Mathematica 称之为Notebook ,Mathematica 可以将在Notebook 中输⼊的命令存⼊⼀个扩展名为“.nb ”的⽂件中,⾸次进⼊时默认的⽂件名为Untitled-1.nb 。
Mathematica数学软件操作技巧及界面详解Mathematica是一款十分强大的数学计算软件,它可以广泛应用于科学、工程和教育等领域。
本文将介绍一些Mathematica的操作技巧,并详细解析其界面设计。
一、Mathematica的基本操作技巧1. 输入和计算Mathematica的主界面提供了一个输入框,我们可以在其中输入各种数学表达式和计算公式。
输入时需要遵循一定的语法规则,比如使用^表示乘方,使用*表示乘法,使用/表示除法等。
在输入完毕后,按下Enter键即可进行计算。
2. 变量定义和赋值在Mathematica中,我们可以使用等号(=)来定义和赋值变量。
比如,我们可以输入"radius = 5"来定义一个名为radius的变量,并将其赋值为5。
之后,我们可以直接使用radius来进行计算。
3. 函数调用Mathematica内置了许多数学函数,比如sin、cos、log等。
我们可以使用这些函数来进行各种数学运算。
调用函数时需要在函数名后加上待计算的参数,比如"sin(0.5)"可以计算出0.5的正弦值。
二、Mathematica的界面详解1. 顶部菜单栏Mathematica的顶部菜单栏包含了许多功能按钮,我们可以通过点击这些按钮来执行相应的操作,比如打开文件、保存文件、进行图像绘制等。
2. 工具栏在Mathematica的工具栏上,我们可以找到常用的绘图工具、格式调整工具和计算选项卡等。
这些工具可以帮助我们更加方便地进行数学计算和图形绘制。
3. 文档窗口Mathematica的文档窗口是我们进行数学计算和编写代码的主要区域。
我们可以在文档窗口中输入数学表达式、编写代码,并且可以将计算结果直接显示在文档窗口中。
4. 侧边栏在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[%] 则输出这⾥%表⽰上⼀次输出的结果,命令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] 输出输⼊ N[Pi, 20] 输出注:第⼀个输⼊语句也常⽤另⼀种形式:输⼊ Pi235] 输出 (3) 输⼊ Round[] 输出 -2 例10 计算表达式)6.0arctan(226sin 2ln 1132+-+-e π的值输⼊ 1/(1+Log[2])*Sin[Pi/6]-Exp[-2]/(2+2^(2/3))*ArcTan[.6] 输出2. ⾃定义函数在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 →x →x 输⼊ 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 基本运算a+mathematica数学实验(第2版) b+c 加a-b 减a b c 或 a*b*c 乘a/b 除-a 负号a^b 次⽅Mathematica 数字的形式256 整数实数11/35 分数2+6I 复数常⽤的数学常数Pi 圆周率,π=…E 尤拉常数,e=2.…Degree ⾓度转换弧度的常数,Pi/180I 虚数,其值为√-1Infinity ⽆限⼤指定之前计算结果的⽅法% 前⼀个运算结果%% 前⼆个运算结果%%…%(n个%) 前n个运算结果%n 或 Out[n] 前n个运算结果复数的运算指令a+bI 复数Conjugate[a+bI] 共轭复数Re[z], Im[z] 复数z的实数/虚数部分Abs[z] 复数z的⼤⼩或模数(Modulus)Arg[z] 复数z的幅⾓(Argument)Mathematica 输出的控制指令expr1; expr2; expr3 做数个运算,但只印出最後⼀个运算的结果expr1; expr2; expr3; 做数个运算,但都不印出结果expr; 做运算,但不印出结果编辑本段常⽤数学函数Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] 三⾓函数,其引数的单位为弪度Sinh[x],Cosh[x],Tanh[x],… 双曲函数ArcSin[x],ArcCos[x],ArcTan[x] 反三⾓函数ArcCot[x],ArcSec[x],ArcCsc[x]ArcSinh[x],ArcCosh[x],ArcTanh[x],… 反双曲函数Sqrt[x] 根号Exp[x] 指数Log[x] ⾃然对数Log[a,x] 以a为底的对数Abs[x] 绝对值Round[x] 最接近x的整数Floor[x] ⼩於或等於x的最⼤整数Ceiling[x] ⼤於或等於x的最⼩整数Mod[a,b] a/b所得的馀数n! 阶乘Random[] 0⾄1之间的随机数(最新版本已经不⽤这个函数,改为使⽤RandomReal[])Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的极⼤/极⼩值编辑本段数之设定x=a 将变数x的值设为ax=y=b 将变数x和y的值均设为bx=. 或 Clear[x] 除去变数x所存的值变数使⽤的⼀些法则xy 中间没有空格,视为变数xyx y x乘上y3x 3乘上xx3 变数x3x^2y 为 x^2 y次⽅运算⼦⽐乘法的运算⼦有较⾼的处理顺序编辑本段四个常⽤处理代数的指令Expand[expr] 将 expr展开Factor[expr] 将 expr因式分解Simplify[expr] 将 expr化简成精简的式⼦FullSimplify[expr] Mathematica 会尝试更多的化简公式,将 expr化成更精简的式⼦编辑本段多项式/分式转换的函数ExpandAll[expr] 把算是全部展开Together[expr] 将 expr各项通分在并成⼀项Apart[expr] 把分式拆开成数项分式的和Apart[expr,var] 视var以外的变数为常数,将 expr拆成数项的和Cancel[expr] 把分⼦和分母共同的因⼦消去编辑本段分母/分⼦的运算Denominator[expr] 取出expr的分母Numerator[expr] 取出expr的分⼦ExpandDenominator[expr] 展开expr的分母ExpandNumerator[expr] 展开expr的分⼦编辑本段多项式的另⼆种转换函数Collect[expr,x] 将 expr表⽰成x的多项式,如Collect[expr,{x,y,…}] 将 expr分别表⽰成 x,y,…的多项式FactorTerms[expr] 将 expr的数值因⼦提出,如 4x+2=2(2x+1)FactorTerms[expr,x] 将 expr中把所有不包含x项的因⼦提出FactorTerms[expr,{x,y,…}] 将 expr中把所有不包含{x,y,...}项的因⼦提出编辑本段三⾓函数、双曲函数和指数的运算TrigExpand[expr] 将三⾓函数展开TrigFactor[expr] 将三⾓函数所组成的数学式因式分解TrigReduce[expr] 将相乘或次⽅的三⾓函数化成⼀次⽅的基本三⾓函数之组合ExpToTrig[expr] 将指数函数化成三⾓函数或双曲函数TrigToExp[expr] 将三⾓函数或双曲函数化成指数函数复数、次⽅乘积之展开ComplexExpand[expr] 假设所有的变数都是实数来对 expr展开ComplexExpand[expr,{x,y,…}] 假设x,y,..等变数均为复数来对 expr展开PowerExpand[expr] 将多项式项次、系数与最⾼次⽅之取得Coefficient[expr,form] 於 expr中form的系数Exponent[expr,form] 於 expr中form的最⾼次⽅Part[expr,n] 或 expr[[n]] 在 expr项中第n个项代换运算⼦expr/.x->value 将 expr⾥所有的x均代换成valueexpr/.{x->value1,y->value2,…} 执⾏数个不同变数的代换expr/.{{x->value1},{x->value2},…} 将 expr代⼊不同的x值expr清除f的定义Remove[f] 将f⾃系统中清除掉含有预设值的Patterna_+b_. b的预设值为0,即若b从缺,则b以0代替x_ y_ y的预设值为1x_^y_ y的预设值为1条件式的⾃订函数lhs:=rhs/;condition 当condition成⽴时,lhs才会定义成rhsIf指令If[test,then,else] 若test为真,则回应then,否则回应elseIf[test,then,else,unknow] 同上,若test⽆法判定真或假时,则回应unknow 极限Limit[expr,x->c] 当x趋近c时,求expr的极限Limit[expr,x->c,Direction->1]Limit[expr,x->c,Direction->-1]微分D[f,x] 函数f对x作微分D[f,x1,x2,…] 函数f对x1,x2,…作微分D[f,{x,n}] 函数f对x微分n次D[f,x,NonConstants->{y,z,…}] 函数f对x作微分,将y,z,…视为x的函数全微分Dt[f] 全微分dfDt[f,x] 全微分Dt[f,x1,x2,…] 全微分Dt[f,x,Constants->{c1,c2,…}] 全微分,视c1,c2,…为常数不定积分Integrate[f,x] 不定积分∫f dx定积分Integrate[f,{x,xmin,xmax}] 定积分Integrate[f,{x,xmin,xmax},{y,ymin,ymax}] 定积分数列之和与积Sum[f,{i,imin,imax}] 求和Sum[f,{i,imin,imax,di}] 求数列和,引数i以di递增Sum[f,{i,imin,imax},{j,jmin,jmax}]Product[f,{i,imin,imax}] 求积Product[f,{i,imin,imax,di}] 求数列之积,引数i以di递增Product[f,{i,imin,imax},{j,jmin,jmax}]函数之泰勒展开式Series[expr,{x,x0,n}] 对 expr於x0点作泰勒级数展开⾄(x-x0)n项Series[expr,{x,x0,m},{y,y0,n}] 对x0和y0展开关系运算⼦a==b 等於a>b ⼤於a>=b ⼤於等於aa<=b ⼩於等於a!=b 不等於逻辑运算⼦!p notp||q||… orp&&q&&… andXor[p,q,…] exclusive orLogicalExpand[expr] 将逻辑表⽰式展开基本⼆维绘图指令Plot[f,{x,xmin,xmax}]画出f在xmin到xmax之间的图形Plot[{f1,f2,…},{x,xmin,xmax}]同时画出数个函数图形Plot[f,{x,xmin,xmax},option->value]指定特殊的绘图选项,画出函数f的图形Plot[]⼏种常⽤选项的指令选项预设值说明AspectRatio 1/GoldenRatio 图形⾼和宽之⽐例,⾼/宽Axes True 是否把坐标轴画出AxesLabel Automatic 为坐标轴贴上标记,若设定为AxesLabel->{ylabel},则为y轴之标记。
Mathematica-8-教程D第1章Mathematica 概述1.1 Mathematica 的启动和运行Mathematica 是美国Wolfram 研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。
假设在Windows 环境下已安装好Mathematica5.0,启动Windows 后,在“开始”菜单的“程序”中单击图1输入1+1,然后按下Shif+Enter 键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后,就启动了Mathematica5.0,在屏幕上显示如图1的Notebook 窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止。
才出现的;再输入第二个表达式,要求系统将一个二项式x5 + y5展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2],如图2。
图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]等。
必须注意的是:Mathematica 严格区分大小写,一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,则每个单词的首写字母也必须大写,如:求局部极小值函数FindMinimum[f[x],{x,x0}等。
绪论0.1 符号计算系统简介# 数值计算与符号计算1946 年世界上第一台计算机ENIAC (The Electronic Numerical Integrator and Computer) 是为数值积分服务的。
一提起计算机求解人们立刻想到的是数值求解,这是因为计算机的早期应用范围主要是数值求解。
其实数值求解是计算机求解的一个方面,计算机进行计算的另一方面即对数学表示式的处理已形成一门新的科学分支,称为符号计算或计算机代数,它是一门研究使用计算机进行数学公式推导的理论和方法,演算数学公式的理论和算法是它研究的中心课题。
数值计算:常量、变量、函数、运算符--〉数值、字符、逻辑量表达式€一个值多€一近似计算例:计算y=sin10+ln10。
其结果是1.75856。
在高级语言中,算术表达式由常量、变量、函数和运算符等组成,算术表达式的值为某一精度范围内的数值。
计算各类表达式的值是高级语言的主要工作。
符号计算(计算机代数):常量、变量值、函数值--〉数值、字符、逻辑量表达式€表达式多€多准确计算x 2 sin xdx =-(-2 + x 2 )cos x + 2 x sin x与数值计算相比,符号计算对计算机硬件和软件提出了更高的要求。
# 符号计算系统符号计算系统是一个表示数学知识和数学工具的系统,一个集成化的计算机数学软件系统。
# 数值计算、# 符号计算、# 图形演示# 程序设计公式推导、数值计算和图形可视化操作一致性和连贯性。
符号计算系统的对象从初等数学到高等数学,几乎涉及所有数学学科。
包括各种数学表达式的化简、多项式的四则运算、求最大公因式、因式分解(factor)、常微分方程和偏微分方程的解函数。
各种特殊函数的推导、函数的级数展开、矩阵和行列式的各种运算和线性方程组的符号解等。
和数值计算一样,算法也是符号计算的核心。
就算法而言,符号计算比数值计算能继承更多的更丰富的数学遗产,古典数学家许多算法仍然是核心算法的成员,近代数学的算法成果也在不断地充实到符号计算中。
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]等。
必须注意的是:Mathematica 严格区分大小写,一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,则每个单词的首写字母也必须大写,如:求局部极小值函数FindMinimum[f[x],{x,x0]等。
第二点要注意的是,在Mathematica中,函数名和自变量之间的分隔符是用方括号“[ ]”,而不是一般数学书上用的圆括号“()”,初学者很容易犯这类错误。
如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果,例如:要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],则系统提示“可能有拼写错误,新符号‘plot’ 很像已经存在的符号‘Plot’”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。
再输入Plot[Sin[x],{x,-10,10} ,系统又提示缺少右方括号,并且将不配对的括号用蓝色显示,如图一个表达式只有准确无误,方能得出正确结果。
学会看系统出错信息能帮助我们较快找出错误,提高工作效率。
完成各种计算后,点击File->Exit退出,如果文件未存盘,系统提示用户存盘,文件名以“.nb”作为后缀,称为Notebook文件。
以后想使用本次保存的结果时可以通过File->Open菜单读入,也可以直接双击它,系统自动调用Mathematica将它打开.1.1.2表达式的输入Mathematica 提供了多种输入数学表达式的方法。
除了用键盘输入外,还可以使用工具样或者快捷方式健入运算符、矩阵或数学表达式。
1.数学表达式二维格式的输入Mathematic担提供了两种格式的数学表达式。
形如x/(2+3x)+y*(x-w)的称为一维格式,形如的称为二维格式。
你可以使用快捷方式输入二维格式,也可用基本输入工具栏输入二维格式。
下面列出了用快捷方式输入二维格式的方法数学运算数学表达式按键分式x Ctrl+/ 2n 次方x Ctrl+^ 2开n次方Ctrl +2 x下标x Ctrl+_ 2 如果要取消二维格式输入按下Ctrl+SPACE(空格)例如输入数学表达式可以按如下顺序输入按键:(,x,+,1,),Ctrl+^, ->, +,a,Ctrl+_,1,->,Ctrl+/,Ctrl+2,2,x,+,y,->,->另外也可从FILE菜单中激活Plaettes->Basic Input 工具栏,也可输入,并且使用工具栏可输入更复杂的数学表达式。
如下图:2.特殊字符的输入MathemMatica 还提供了用以输入各种特殊符号的工具样。
基本输入工具样包含了常用的特殊字符(上图),只要单击这些字符按钮即可输入。
若要输入其它的特殊字符或运算符号,必须使用从FILE菜单中选取Complete Characters工具栏,如下图:单击符号后即可输入。
1.2.Mathematica的联机帮助系统用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。
1.获取函数和命令的帮助在Notebook界面下,用?或 ?? 可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。
例如,向系统查询作图函数Plot命令的用法?Plot 系统将给出调用Plot的格式以及Plot命令的功能(如果用两个问号“??”,则信息会更详细一些)。
? Plot* 给出所有以Plot这四个字母开头的命令2.Help菜单任何时候都可以通过按F1键或点击帮助菜单项Help Browser,调出帮助菜单,如图所示,其中的各按钮用途如表所示Built-in Function 内建函数,按数值计算、代数计算、图形和编程分类存放Add-ons 有程序包(Standard Packages)MathLink Library等内容The Mathematica Book 一本完整的Mathematica使用手册Getting Started/Demos 初学者入门指南和多种演示Other Information 菜单命令的快捷键,二维输入格式等Master Index 按字母命令给出命令、函数和选项的索引表如果要查找Mathematica中具有某个功能的函数,可以通过帮助菜单中的Mahematica使用手册,通过其目录索引可以快速定位到自己要找的帮助信息。
例如:需要查找Mathematica中有关解方程的命令,单击“The Mathematica Book”按钮,再单击“Contents”,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。
如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。
例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图的窗口,再按回车键,则显示Plot函数的详细用法和例题。
如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-in Functions ->Graphics and Sound->2D Plots->Plot,找到Plot的帮助信息。
如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。
例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图1-5的窗口,再按回车键,则显示Plot函数的详细用法和例题。
如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-in Functions ->Graphics and Sound->2D Plots->Plot,找到Plot的帮助信息。
2.1数据类型和常数1数值类型在Mathematic中,基本的数值类型有四种:整数,有理数、实数和复数如果你的计算机的内存足够大,Mathemateic可以表示任意长度的精确实数,而不受所用的计算机字长的影响。
整数与整数的计算结果仍是精确的整数或是有理数。
例如:2的100次方是一个31位的整数:ln[1]:=2^100Out[1]=1267650600228228229401496703205376在Mathematica中允许使用分数,也就是用有理数表示化简过的分数。
当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如:Ln[2]:=12345/5555Out[2]=2469/1111实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。
实数有两种表示方法:一种是小数点另外一种是用指数方法表示的。
如:ln[3]:=0.239998Out[3]=0.23998ln[4]:=0.12*10^11Out[4]=0.12*10^11实数也可以与整数,有理数进行混合运算,结果还是一个实数。
Ln[5]:=2+1/4+0.5Out[5]=2.75复数是由实部和虚部组成。
实部和虚部可以用整数,实数,有理数表示。
在Mathematica中,用i 表示虚数单位如:Ln[6]:=3+0.7iOut[6]:=3+0.7i2.不同类型数的转换在Mathematica的不同应用中,通常对数字的类型要求是不同的。
例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。
在一般情况下在输出行Out[n]中,系统根据输入行ln[n]的数字类型对计算结果做出相应的处理。
如果有一些特殊的要求,就要进行数据类型转换。
在Mathematica中的提供以下几个函数达到转换的目的:N[x] 将x转换成实数N[x,n] 将x转换成近似实数,精度为nRationalize[x] 给出x的有理数近似值Rationalize[x,dx] 给出x的有理数近似值,误差小于dx[举例]ln[1]=N[5.3,20]Out[1]=1.66666666666666666667ln[2]:=N[%,10]Out[2]=1.66666667二行输出是把上面计算的结果变为10位精度的数字。
%表示上一输出结果。
Ln[3]=Rationalize[%]Out[3]=5/33.数学常数Mathematica 中定义了一些常见的数学常数,这些数学常数都是精确数,例如表示圆周率。
Pi 表示=3.14159……E 自然对数的底,e=2.71828…….Degree /180i 虚数单位Infinity 无穷大-infinity 负的无穷大-GondenRatio 黄金分割数0.61803数学常数可用在公式推导和数值计算中。