mathematicalmethods_lecture_slides_Week3-PartialDerivatives

合集下载

数学软件Mathematica简介PPT课件

数学软件Mathematica简介PPT课件

!p
Not运算
P&&q
And运算
P||q
Or运算
Xor[e]
Exclusive or运算
基本代数运算(太多,不介绍)
方程求解
• Solve是Mathematica的通用求解命令,它 不但能求出精确的数值解或代数解,还可 求出复数解。
• 基本格式: • Solve[eqn,x] 解方程eqn,其中x为变量 • Solve[{eqn1,eqn2,…},{x,y, …}] 解方程组
• 如果你的计算机的内存足够大,Mathemateic 可以表示任意长度的精确实数,而不受所用的计 算机字长的影响。整数与整数的计算结果仍是精 确的整数或是 有理数。例如:2的100次方是一 个31位的整数
数值运算
• 精确运算
• Mathematica进行计算时总是首先判别是否能
进行精确运算,若能,则进行精确运算。一般
• 一个表达式只有准确无误,方能得出正确结果。
• 如果输入了不合语法规则的表达式,系统会显示 出错信息,并且不给出计算结果。
• 学会看系统出错信息能帮助我们较快找出错误, 提高工作效率。
• 完成各种计算后,点击File->Exit退出,如果文件 未存盘,系统提示用户存盘,文件名以“.nb”作 为后缀,称为Notebook文件。以后想使用本次保 存的结果时可以通过File->Open菜单读入,也可 以直接双击它,系统自动调用Mathematica将它 打开.
• 近似计算示例1
• 近似计算示例2
• 例 已知 ysin(πx)3x21,求 x1时的函数值。
4
• 例 解代数方程x3-2x-1=0.
• 解 在Mathematica中解方程的函数为Solve[]和 FindRoot[],输入

数学软件mathematica讲义-简略版

数学软件mathematica讲义-简略版

表示双阶乘 n(n-2)(n-4) …
函数 ln x
Log[a,x]
表示以数 a 为底的对数函数 Binomial[n, m] log a x
表示二项式系数 C
m n
Sin[x]
表示正弦函数 sin x
Re[z]
取复数 z 的实部
Cos[x]
表示余弦函数 cos x
Im[z]
取复数 z 的虚部
Tan[x]
(2) 课堂练习 1、 计算下列各式的数值,保留 10 位有效数字。
(1)、 (2)、
(3)、 (4)、
(5)、
(6)、
(7)、
(8)、
(9)、
(10)、
2、 计算 861、1638、2415 的最大公约数。计算 48、105、120 的最小公倍数。
3、 计算组合数 、 、 。计算



4、 对

分别计算
联的元素)放在一起组成的一个整体。在 Mathematica 中,任何用一对花括号括起来的一组 元素都代一个表,其中的元素用逗号分隔且各元素可以具有不同的类型,特别其中的元素还 可以是一个表。表的形式是: { 元素 1,元素 2,元素 3,……,元素 n }。建表命令有: 命令形式 1: Table[ 通项公式 f(i),{i ,imin,imax,h}] 功能:产生一个表{ f(imin) ,f(imin +h),f(imin +2h),……,f(imin +nh)} , imax – h ≤ imin + nh ≤ imax, h>0.注:省略 h,则默认 h=1. 命令形式 2: Table[ 通项公式 f,{循环次数 n}], f 为常数 功能:产生 n 个 f 的一个表{ f ,f,f,……,f } 命令形式 3: Table[ 通项公式 f(i , j),{{i ,imin,imax}, {j ,jmin,jmax}] 功能:产生一个二维表。 例如 :In[11]: = Table[i-j, {i, 1 , 6}, {j, 1 , 2}]

Mathematica讲义

Mathematica讲义

数学与统计软件讲义§0 引论计算机与数学计算机是应数学计算要求而产生的,计算机技术水平又因计算能力的提高而提高。

数学计算的发展与计算机的发展是互相促进,交织在一起的。

§0.1数学对计算机发展的促进:§0.1.1巨大的计算需求刺激了计算机发展航海测量、大地测量对计算的需求(Pascal机械计算机);美国人口调查;二战对计算的巨大需求:弹道计算;密码破译、英国防空、战争物资生产等;§0.1.2数学方法为计算机设计提供了理论基础门电路——布尔代数算法——程序数学模型——各种应用程序等§0.2计算机对数学发展的促进§0.2.1在经济、管理领域的大规模应用资源分配——数学规划、运筹学等经济预测——多元统计分析、时间序列分析等§0.2.2其它应用石油勘探;气象预报;汽车、飞机等工业产品设计;地震预报;核武器研制等。

§0.2.3对数学理论的促进机器证明——吴文俊的工作;(偏)微分方程求解——混沌问题的发现§0.3数学计算的类型§0.3.1形式演算对各种抽象的表达式进行变换,其结果仍然是一个抽象的表达式。

§0.3.2数值计算对指定变量的值,计算表达式的值,其结果是一个数值。

§0.4常用数学与统计软件在计算机发展初期,通常是针对某一具体的目的,特定的计算编制特定的程序进行计算。

随着计算的需求增加,人们为了提高效率,将大的计算过程分解一系列小的计算过程,针对这些小计算过程编制所谓的子程序。

这些子程序具有相当的通用性,即对选定的子程序进行适当的组合,就可以完成许多大的、特定的计算目的,从而形成许多庞大的科学计算程序库。

但是,调用这些子程序的接口较为复杂,而且还需要具有相当的程序语言知识才能把它们组合成完成特定目的的计算程序,使用比较麻烦。

随着计算机技术的发展,人们进一步把这些子程序集成为统一的软件包。

《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.版权:法律上对原创作品的保护权益。

Mathematica使用简介

Mathematica使用简介
a1
a1 x2
6.
2 x+y → →
x2
a1 2x y
作用:例如对x求微分,得如下结果:
如果希望知道D的用法,怎么办? HELP 查看帮助命令
二、绘图命令
Plot[f,{x,xmin,xmax}] 从xmin到xmax绘制绘制f(x)的函数图 Plot[{f1,f2,f3,…},{x, xmin,xmax}] 同时绘制多个函数图
x cos t 例,单位圆的参数形式为 y sin t
则画圆操作如下: ParametricPlot[{Cos[t],Sin[t]},{t,-Pi,Pi}]
(ii)三维参数作图
ParametricPlot3D[参数形式函数,{自变量1,下限,上限}, {自变量2,下限,上 限},,选项]
数学表达式的二维格式输入
Expression input Edit菜单 a1 2 例:输入数学表 x 2x y 达式:
步骤 1. 2. 3. 4. 5. 按键顺序 x (ctrl+6) 2 → + a (ctrl+-) 1 (ctrl +/) (ctrl+2) 显示结果
x
x
x2
2
x2 a 1
2) 如果希望多个图形左右或上下排成一长图而 重叠,则可以用GraphicsArray 命令 Show[GraphicsArray[{g1, g2, …}]] 将图形横向并排 Show[GraphicsArray[{ {g1}, {g2}, …}]] 将图形纵向排列 Show[GraphicsArray[{ {g1, g2, …}, …}]] 将图形以二维矩阵的形式排列
5.
图形的合并与排列

mathematical教程 第一讲

mathematical教程 第一讲

Table[Sin[x],{x,0,2Pi,Pi/10}]

格式2:


格式3:

Table [表达式,{循环范围},{循环范围}] 功能:生成一多层表 Range[初值,终值,步长] 功能:生成值为{初值,初值+步长,…,终值}的数值 表 Array[函数,{n1,n2,…}] 功能:以函数为迭代公式生成n1×n2×…的表 NestList[f, x0,n] 功能:按函数f迭代求解给出n步迭代的结果形成表

格式4:


格式5:

(2) 表的操作
Length[t]、Count[t,fmt] MemberQ[t,fmt]、Position[t,fmt]
表结构 其它 增加 表元素
设t为表, fmt为表达式, n为自然数。
Apply[Plus, t] Apply[Times, t] Permutations[t] OrderedQ[t]

变量替换(代入) 格式:


功能:

表达式/.x->a 表达式/.{x1->a1, x2->a2, … } 表示把表达式中的x全部换为a的结果 表示分别用a1替换x1, a2替换x2,….
x、x1,…为变量 a1,a2,…为表达式
(3)函数

常用的数值函数


初等函数


三、 Mathematica基础

开发公司:

美国Wolfram研究公司开发的符号计算系统
创始人:

Stephen Wolfram
从事理论研究的数学工作者 其它科学工作者 从事实际工作的工程技术人员 解决各种领域的涉及复杂的符号计算和数值计算的问题 Mathematica系统是用C语言开发的。

Mathematica教程PDF

Mathematica教程PDF

绪论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)、常微分方程和偏微分方程的解函数。

各种特殊函数的推导、函数的级数展开、矩阵和行列式的各种运算和线性方程组的符号解等。

和数值计算一样,算法也是符号计算的核心。

就算法而言,符号计算比数值计算能继承更多的更丰富的数学遗产,古典数学家许多算法仍然是核心算法的成员,近代数学的算法成果也在不断地充实到符号计算中。

Mathematical用法 大全 实用版

Mathematical用法 大全 实用版
11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数 的和)
12.求极小值:In[1]:=FindMinimum[Sin[x]*Cos[x],{x,0.5}](求函数在0.5附近的极小值);
In[2]:=FindMinimum[Sin[x*y]*Exp[x^2],{x,0.2}, {y,0.3}](求多元函数极小值)
(* 这是一个例题 每行后按回车键 用半角标点符号*)
Print["请回答3个题目"]
For[i=1,i<=3,i=i+1,
a=Random[Integer,{1,100}];
b=Random[Integer,{1,100}];
In[4]:=%2+4,Out[4]= 12;
In[5]:=1/3-1/4,Out[5]= ;In[6]:=N[%],Out[6]= 0.0833333;
In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写)
3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x的赋值。
Mathematica for Windows用法
一、Mathematica的主要功能
Mathematica是美国Wolfram公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。
8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x的四次幂)

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简明教程

附录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”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。

mathematic使用说明第二讲

mathematic使用说明第二讲

第2讲在Mathematica中作图一个较强的符号计算系统均有很好的绘图功能,Mathematica也不例外,Mathematica拥有非常强大的绘图功能。

并且提供了一大批基本数学函数的图形,利用这些提供的函数,用户可以方便地组合成所需要的、复杂的函数图形,所有这些都使得Mathematica系统在处理和解决数学问题和一般的计算问题中表现得非常突出。

2.1 基本图形与图形处理的原理首先画出一个周期正弦函数sin(x)的图象:In[1]:=Plot[Sin[x], {x, 0, 2Pi}]Out[1]=-Graphics-其次画一个含有奇异点的函数曲线,Mathematica会选取适当的比例:In[2]:=Plot[Tan[x], {x, -3, 3}]Out[2]=-Graphics-Mathematica可以将一组函数的曲线画在一张图上:In[3]:=Plot[{Sin[x], Sin[2x], Sin[3x]}, {x, 0, 2Pi}]Out[3]=-Graphics-当Mathematica去画函数f的图象时,为了得到光滑的曲线,系统需要计算许多点的函数值。

Mathematica中存在两种可能的方法解决这个问题。

第一种方法是先设法求出函数f关于x的大致的表达式,然后按顺序计算出相应的x处的函数表达式的值。

另一方法就是,先写出各点的x值,然后顺序算出相应点x的函数值f。

如果输入Plot[Sin[x], {x, 0, 2Pi}],Mathematica使用了上面所述的第二种方法。

使用这种方法的好处在于,Mathematica只需要去计算对应的x的函数值,这样它就不需要去关注当x为符号的时候所对应的函数表达式。

在有些情况下,在画出该函数的曲线之前,计算出函数f的表达式还是非常有用的,一个典型的实例是,当f是生成一个函数表的命令,此时系统先要生成一个表,然后计算函数值。

可用绘图格式Plot[Evaluate[f],{x,xmin,xmax}]来实现。

Mathematica教程5用Mathematica求解线性代数基本问题.ppt

Mathematica教程5用Mathematica求解线性代数基本问题.ppt


• 矩阵的输出默认是数表形式,也可利用 MatrixForm命令将其输出为矩阵想形式。
• 如果要访问一个矩阵的某一个元素,比如
t0的第一行第二列元素,用t0[[1,2]]就代表
该元素。
↓中括号表示指定位置,不能少

• 3、利用系统函数生成矩阵
• Mathematica提供了很多生成向量和矩阵的命令, 简述如下表所示。
Tr[A]
计算A的迹(4.0版)
MatrixPower[A, n] 表示An
RowReduce[A]
给出用行初等变换将矩阵A化为规范的 阶梯形矩阵。显然,此运算可求出矩阵 A的秩。此函数也可归属解方程组函数



•例求下列矩阵的秩及行向量组的一个极大无关
组,并将其余行向量表成它的线性组合:
1 1 2 2 1
Switch[expr,forml,value1,form expr与每一个formi相等
2,...]
时,计算valuei
Switch[expr,form1, value1,form2,…,_,def]
用def为系统默认值
ln[1]:=If [1>0,1+2,2+3] Out[1]=3
ln[3]:g=1/:x>0 ln[4]:g=-1/:x<0
用“?”显示用/:condition定义的函数g的完整信息:
ln[5]:=?g Global`g g[x_]:=1/:x>O g[x_]:=-1/:x<O
符号条件
在Mathemahca中,有一种可能的情况就是你给出的 条件结果既不是真也不为假。下面测试的结果既不 是真也不是假,因此If的两个分支保持不变:

数学建模首选软件Mathematica画图专讲(很全)省名师优质课赛课获奖课件市赛课一等奖课件

数学建模首选软件Mathematica画图专讲(很全)省名师优质课赛课获奖课件市赛课一等奖课件
Thickness[t] 曲线粗细描述函数,自变量t旳取值范围为闭区间[0, 1],t旳取值描述曲线粗细所占整个图形百分比,一般取值不大于0.1。 二维图形旳粗细默认值为Thickness[0.004],三维图形旳粗细默认值为 Thickness[0.001]。
GrayLevel[t] 曲线灰度描述函数,自变量t旳取值范围为闭区间[0, 1],t取0值为白色,t取1值为黑色。
• 举例:
n=4; r=5Cos[nt]+2Sin[5nt]; tu2=ParametricPlot[{rCos[t],rSin[t]},{t,0,2Pi},PlotStyle->{RGBColor[0,0,1],
Thickness[0.01]},AspectRatio->1];
6 4 2
-6 -4 -2 -2 -4 -6
例:AxesLabel-> None, 表达显示旳图形坐标轴没有标识;
AxesLabel->{"time" , "speed"}, 表达平面图形旳横坐标轴标识 显示为time 纵坐标轴标识显示为speed;
AxesLabel->{“时间”,“速度”,“高度”}, 表达空间图形旳 横坐标轴标识设置为时间, 纵坐标轴标识设置为速度, 竖坐标轴 标识设置为高度。
1.5 1
0.5
-2 -1 0 1
2 1 0 -1
2 -2
返回
• 例3:
n=5; r=5Cos[nt]+Sin[5nt]; tu1=Parametricplot[{rCos[t],rSin[t]},{t,0,2pi},AspectRatio->1,
Axes->False,PlotStyle->{RGBColor[1,0,0],Thickness[0.01]}];

Mathematica入门教程

Mathematica入门教程

Mathematica入门教程Mathematica入门教程Mathematica入门教程Mathematica的基本语法特征如果你是第一次使用Mathematica,那么以下几点请你一定牢牢记住:Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。

系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Conjugate[z]等。

乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。

自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。

当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。

一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[]=1。

Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。

当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。

一、数的表示及计算1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。

例如:你输入In:=378/123,系统会输出Out:=126/41,如果想得到近似解,则应输入In:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out:=3.073 2,另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。

Mathematica函数及使用方法

Mathematica函数及使用方法

Mathematica函数及使用方法(来源:北峰数模)--------------------------------------------------------------------- 注:为了对Mathematica有一定了解的同学系统掌握Mathematica的强大功能,我们把它的一些资料性的东西整理了一下,希望能对大家有所帮助。

---------------------------------------------------------------------一、运算符及特殊符号Line1; 执行Line,不显示结果Line1,line2 顺次执行Line1,2,并显示结果name 关于系统变量name的信息name 关于系统变量name的全部信息!command 执行Dos命令n! N的阶乘!!filename 显示文件内容< Expr>> filename 打开文件写Expr>>>filename 打开文件从文件末写() 结合率[] 函数{} 一个表<*Math Fun*> 在c语言中使用math的函数(*Note*) 程序的注释#n 第n个参数## 所有参数rule& 把rule作用于后面的式子% 前一次的输出%% 倒数第二次的输出%n 第n个输出var::note 变量var的注释"Astring " 字符串Context ` 上下文a+b 加a-b 减a*b或a b 乘a/b 除a^b 乘方base^^num 以base为进位的数lhs&&rhs 且lhs||rhs 或!lha 非++,-- 自加1,自减1+=,-=,*=,/= 同C语言>,<,>=,<=,==,!= 逻辑判断(同c)lhs=rhs 立即赋值lhs:=rhs 建立动态赋值lhs:>rhs 建立替换规则lhs->rhs 建立替换规则exprule 将规则rule应用于exprexpr..的无限精度数值E ...的无限精度数值Catalan ..卡塔兰常数EulerGamma ....高斯常数GoldenRatio ...黄金分割数Degree Pi/180角度弧度换算I 复数单位Infinity 无穷大-Infinity 负无穷大ComplexInfinity 复无穷大Indeterminate 不定式—————————————————————————————————————三、代数计算Expand[expr] 展开表达式Factor[expr] 展开表达式Simplify[expr] 化简表达式FullSimplify[expr] 将特殊函数等也进行化简PowerExpand[expr] 展开所有的幂次形式ComplexExpand[expr,{x1,x2...}] 按复数实部虚部展开FunctionExpand[expr] 化简expr中的特殊函数Collect[expr, x] 合并同次项Collect[expr, {x1,x2,...}] 合并x1,x2,...的同次项Together[expr] 通分Apart[expr] 部分分式展开Apart[expr, var] 对var的部分分式展开Cancel[expr] 约分ExpandAll[expr] 展开表达式ExpandAll[expr, patt] 展开表达式FactorTerms[poly] 提出共有的数字因子FactorTerms[poly, x] 提出与x无关的数字因子FactorTerms[poly, {x1,x2...}] 提出与xi无关的数字因子Coefficient[expr, form] 多项式expr中form的系数Coefficient[expr, form, n] 多项式expr中form^n的系数Exponent[expr, form] 表达式expr中form的最高指数Numerator[expr] 表达式expr的分子Denominator[expr] 表达式expr的分母ExpandNumerator[expr] 展开expr的分子部分ExpandDenominator[expr] 展开expr的分母部分TrigExpand[expr] 展开表达式中的三角函数TrigFactor[expr] 给出表达式中的三角函数因子TrigFactorList[expr] 给出表达式中的三角函数因子的表TrigReduce[expr] 对表达式中的三角函数化简TrigToExp[expr] 三角到指数的转化ExpToTrig[expr] 指数到三角的转化RootReduce[expr]ToRadicals[expr]—————————————————————————————————————四、解方程Solve[eqns, vars] 从方程组eqns中解出varsSolve[eqns, vars, elims] 从方程组eqns中削去变量elims,解出varsDSolve[eqn, y, x] 解微分方程,其中y是x的函数DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分方程组,其中yi是x的函数DSolve[eqn, y, {x1,x2...}] 解偏微分方程Eliminate[eqns, vars] 把方程组eqns中变量vars约去SolveAlways[eqns, vars] 给出等式成立的所有参数满足的条件Reduce[eqns, vars] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和||将逻辑表达式展开InverseFunction[f] 求函数f的逆函数Root[f, k] 求多项式函数的第k个根Roots[lhs==rhs, var] 得到多项式方程的所有根—————————————————————————————————————五、微积分函数D[f, x] 求f[x]的微分D[f, {x, n}] 求f[x]的n阶微分D[f,x1,x2..] 求f[x]对x1,x2...偏微分Dt[f, x] 求f[x]的全微分df/dxDt[f] 求f[x]的全微分dfDt[f, {x, n}] n阶全微分df^n/dx^nDt[f,x1,x2..] 对x1,x2..的偏微分Integrate[f, x] f[x]对x在的不定积分Integrate[f, {x, xmin, xmax}] f[x]对x在区间(xmin,xmax)的定积分Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的二重积分Limit[expr, x->x0] x趋近于x0时expr的极限Residue[expr, {x,x0}] expr在x0处的留数Series[f, {x, x0, n}] 给出f[x]在x0处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}]先对y幂级数展开,再对xNormal[expr] 化简并给出最常见的表达式SeriesCoefficient[series, n] 给出级数中第n次项的系数SeriesCoefficient[series, {n1,n2...}]'或Derivative[n1,n2...][f] 一阶导数InverseSeries[s, x] 给出逆函数的级数ComposeSeries[serie1,serie2...] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表示一个在x0处x的幂级数,其中ai为系数O[x]^n n阶小量x^nO[x, x0]^n n阶小量(x-x0)^n—————————————————————————————————————八、数值函数N[expr] 表达式的机器精度近似值N[expr, n] 表达式的n位近似值,n为任意正整数NSolve[lhs==rhs, var] 求方程数值解NSolve[eqn, var, n] 求方程数值解,结果精度到n位NDSolve[eqns, y, {x, xmin, xmax}]微分方程数值解NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]微分方程组数值解FindRoot[lhs==rhs, {x,x0}] 以x0为初值,寻找方程数值解FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]NSum[f, {i,imin,imax,di}] 数值求和,di为步长NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和NProduct[f, {i, imin, imax, di}]函数求积NIntegrate[f, {x, xmin, xmax}] 函数数值积分优化函数:FindMinimum[f, {x,x0}] 以x0为初值,寻找函数最小值FindMinimum[f, {x, xstart, xmin, xmax}]ConstrainedMin[f,{inequ},{x,y,..}]inequ为线性不等式组,f为x,y..之线性函数,得到最小值及此时的x,y..取值ConstrainedMax[f, {inequ}, {x, y,..}]同上LinearProgramming[c,m,b] 解线性组合在>=b&&x>=0约束下的最小值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极小无关组数据处理:Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{,12,,}, {1, x, x^2,Sin[x]}, x]Interpolation[data]对数据进行差值,data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数InterpolationOrder默认为3次,可修改ListInterpolation[array]对离散数据插值,array可为n维ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]以对应expr[xi,yi]的为数据进行插值Fourier[list] 对复数数据进行付氏变换InverseFourier[list] 对复数数据进行付氏逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最小值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最大值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort[list] 将表中元素按升序排列Sort[list,p] 将表中元素按p[e1,e2]为True的顺序比较list的任两个元素e1,e2,实际上Sort[list]中默认p=Greater集合论:Union[list1,list2..] 表listi的并集并排序Intersection[list1,list2..] 表listi的交集并排序Complement[listall,list1,list2...]从全集listall中对listi的差集—————————————————————————————————————九、虚数函数Re[expr] 复数表达式的实部Im[expr] 复数表达式的虚部Abs[expr] 复数表达式的模Arg[expr] 复数表达式的辐角Conjugate[expr] 复数表达式的共轭—————————————————————————————————————十、数的头及模式及其他操作Integer _Integer 整数Real _Real 实数Complex _Complex 复数Rational_Rational 有理数(*注:模式用在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]规定传入参数的类型,另外也可用来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len] 数字n以b近制的前len个码元RealDigits[x,b,len] 类上FromDigits[list] IntegerDigits的反函数Rationalize[x,dx] 把实数x有理化成有理数,误差小于dxChop[expr, delta] 将expr中小于delta的部分去掉,dx默认为10^-10 Accuracy[x] 给出x小数部分位数,对于Pi,E等为无限大Precision[x] 给出x有效数字位数,对于Pi,E等为无限大SetAccuracy[expr, n] 设置expr显示时的小数部分位数SetPrecision[expr, n] 设置expr显示时的有效数字位数—————————————————————————————————————十一、区间函数Interval[{min, max}] 区间[min, max](* Solve[3 x+2==Interval[{-2,5}],x]*) IntervalMemberQ[interval, x] x在区间内吗IntervalMemberQ[interval1,interval2] 区间2在区间1内吗IntervalUnion[intv1,intv2...] 区间的并IntervalIntersection[intv1,intv2...] 区间的交—————————————————————————————————————十二、矩阵操作或Dot[a, b, c] 矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose[list] 矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k行与第nk列交换Det[m] 矩阵的行列式Eigenvalues[m] 特征值Eigenvectors[m] 特征向量Eigensystem[m] 特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性方程组==bNullSpace[m] 矩阵m的零空间,即[m]==零向量RowReduce[m] m化简为阶梯矩阵Minors[m, k] m的所有k*k阶子矩阵的行列式的值(伴随阵,好像是) MatrixPower[mat, n] 阵mat自乘n次Outer[f,list1,list2..] listi中各个元之间相互组合,并作为f的参数的到的矩阵Outer[Times,list1,list2]给出矩阵的外积SingularValues[m] m的奇异值,结果为{u,w,v},m=Conjugate[Transpose[u]].DiagonalMatrix[w].vPseudoInverse[m] m的广义逆QRDecomposition[m] QR分解SchurDecomposition[m] Schur分解LUDecomposition[m] LU分解—————————————————————————————————————十三、表函数(*“表”,我认为是Mathematica中最灵活的一种数据类型*)(*实际上表就是表达式,表达式也就是表,所以下面list==expr *)(*一个表中元素的位置可以用于一个表来表示*)表的生成{e1,e2,...} 一个表,元素可以为任意表达式,无穷嵌套Table[expr,{imax}] 生成一个表,共imax个元素Table[expr,{i, imax}] 生成一个表,共imax个元素expr[i] Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表{1,2,..,imax}Range[imin, imax, di] 以di为步长的数表Array[f, n] 一维表,元素为f[i] (i从1到n)Array[f,{n1,n2..}] 多维表,元素为f[i,j..] (各自从1到ni) IdentityMatrix[n] n阶单位阵DiagonalMatrix[list] 对角阵元素操作Part[expr, i]或expr[[i]]第i个元expr[[-i]] 倒数第i个元expr[[i,j,..]] 多维表的元expr[[{i1,i2,..}] 返回由第i(n)的元素组成的子表First[expr] 第一个元Last[expr] 最后一个元Head[expr] 函数头,等于expr[[0]]Extract[expr, list] 取出由表list制定位置上expr的元素值Take[list, n] 取出表list前n个元组成的表Take[list,{m,n}] 取出表list从m到n的元素组成的表Drop[list, n] 去掉表list前n个元剩下的表,其他参数同上Rest[expr] 去掉表list第一个元剩下的表Select[list, crit] 把crit作用到每一个list的元上,为True的所有元组成的表表的属性Length[expr] expr第一曾元素的个数Dimensions[expr] 表的维数返回{n1,n2..},expr为一个n1*n2...的阵TensorRank[expr] 秩Depth[expr] expr最大深度Level[expr,n] 给出expr中第n层子表达式的列表Count[list, pattern] 满足模式的list中元的个数MemberQ[list, form] list中是否有匹配form的元FreeQ[expr, form] MemberQ的反函数Position[expr, pattern] 表中匹配模式pattern的元素的位置列表Cases[{e1,e2...},pattern]匹配模式pattern的所有元素ei的表表的操作Append[expr, elem] 返回在表expr的最后追加elem元后的表Prepend[expr, elem] 返回在表expr的最前添加elem元后的表Insert[list, elem, n] 在第n元前插入elemInsert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插入elemDelete[expr, {i, j,..}] 删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattern]删除匹配pattern的所有元后剩下的表ReplacePart[expr,new,n] 将expr的第n元替换为newSort[list] 返回list按顺序排列的表Reverse[expr] 把表expr倒过来RotateLeft[expr, n] 把表expr循环左移n次RotateRight[expr, n] 把表expr循环右移n次Partition[list, n] 把list按每n各元为一个子表分割后再组成的大表Flatten[list] 抹平所有子表后得到的一维大表Flatten[list,n] 抹平到第n层Split[list] 把相同的元组成一个子表,再合成的大表FlattenAt[list, n] 把list[[n]]处的子表抹平Permutations[list] 由list的元素组成的所有全排列的列表Order[expr1,expr2] 如果expr1在expr2之前返回1,如果expr1在expr2之后返回-1,如果expr1与expr2全等返回0Signature[list] 把list通过两两交换得到标准顺序所需的交换次数(排列数)以上函数均为仅返回所需表而不改变原表AppendTo[list,elem] 相当于list=Append[list,elem];PrependTo[list,elem] 相当于list=Prepend[list,elem];--—————————————————————————————————————十四、绘图函数二维作图Plot[f,{x,xmin,xmax}] 一维函数f[x]在区间[xmin,xmax]上的函数曲线Plot[{f1,f2..},{x,xmin,xmax}] 在一张图上画几条曲线ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},..}] 绘出由离散点对(xn,yn)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参数方程在参数变化范围内的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]在一张图上画多条参数曲线选项:PlotRange->{0,1} 作图显示的值域范围AspectRatio->1/GoldenRatio生成图形的纵横比PlotLabel ->label 标题文字Axes ->{False,True} 分别制定是否画x,y轴AxesLabel->{xlabel,ylabel}x,y轴上的说明文字Ticks->None,Automatic,fun用什么方式画轴的刻度AxesOrigin ->{x,y} 坐标轴原点位置AxesStyle->{{xstyle}, {ystyle}}设置轴线的线性颜色等属性Frame ->True,False 是否画边框FrameLabel ->{xmlabel,ymlabel,xplabel,yplabel}边框四边上的文字FrameTicks同Ticks 边框上是否画刻度GridLines 同Ticks 图上是否画栅格线FrameStyle ->{{xmstyle},{ymstyle}设置边框线的线性颜色等属性ListPlot[data,PlotJoined->True] 把离散点按顺序连线PlotSytle->{{style1},{style2},..}曲线的线性颜色等属性PlotPoints->15 曲线取样点,越大越细致三维作图Plot3D[f,{x,xmin,xmax}, {y,ymin,ymax}]二维函数f[x,y]的空间曲面Plot3D[{f,s}, {x,xmin,xmax}, {y,ymin,ymax}]同上,曲面的染色由s[x,y]值决定ListPlot3D[array] 二维数据阵array的立体高度图ListPlot3D[array,shades]同上,曲面的染色由shades[数据]值决定ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]二元数方程在参数变化范围内的曲线ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmin,tmax}]多条空间参数曲线选项:ViewPoint ->{x,y,z} 三维视点,默认为{,,2}Boxed -> True,False 是否画三维长方体边框BoxRatios->{sx,sy,sz} 三轴比例BoxStyle 三维长方体边框线性颜色等属性Lighting ->True 是否染色LightSources->{s1,s2..} si为某一个光源si={{dx,dy,dz},color} color为灯色,向dx,dy,dz方向照射AmbientLight->颜色函数慢散射光的光源Mesh->True,False 是否画曲面上与x,y轴平行的截面的截线MeshStyle 截线线性颜色等属性MeshRange->{{xmin,xmax}, {ymin,ymax}}网格范围ClipFill->Automatic,None,color,{bottom,top}指定图形顶部、底部超界后所画的颜色Shading ->False,True 是否染色HiddenSurface->True,False 略去被遮住不显示部分的信息等高线ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]在指定区间上的等高线图ListContourPlot[array] 根据二维数组array数值画等高线选项:Contours->n 画n条等高线Contours->{z1,z2,..} 在zi处画等高线ContourShading -> False 是否用深浅染色ContourLines -> True 是否画等高线ContourStyle -> {{style1},{style2},..}等高线线性颜色等属性FrameTicks 同上密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]在指定区间上的密度图ListDensityPlot[array] 同上图形显示Show[graphics,options] 显示一组图形对象,options为选项设置Show[g1,g2...] 在一个图上叠加显示一组图形对象GraphicsArray[{g1,g2,...}]在一个图上分块显示一组图形对象SelectionAnimate[notebook,t]把选中的notebook中的图画循环放映选项:(此处选项适用于全部图形函数)Background->颜色函数指定绘图的背景颜色RotateLabel -> True 竖着写文字TextStyle 此后输出文字的字体,颜色大小等ColorFunction->Hue等把其作用于某点的函数值上决定某点的颜色RenderAll->False 是否对遮挡部分也染色MaxBend 曲线、曲面最大弯曲度绘图函数(续)图元函数Graphics[prim, options]prim为下面各种函数组成的表,表示一个二维图形对象Graphics3D[prim, options]prim为下面各种函数组成的表,表示一个三维图形对象SurfaceGraphics[array, shades]表示一个由array和shade决定的曲面对象ContourGraphics[array]表示一个由array决定的等高线图对象DensityGraphics[array]表示一个由array决定的密度图对象以上定义图形对象,可以进行对变量赋值,合并显示等操作,也可以存盘Point[p] p={x,y}或{x,y,z},在指定位置画点Line[{p1,p2,..}]经由pi点连线Rectangle[{xmin, ymin}, {xmax, ymax}] 画矩形Cuboid[{xmin,ymin,zmin},{xmax,ymax,zmax}]由对角线指定的长方体Polygon[{p1,p2,..}] 封闭多边形Circle[{x,y},r] 画圆Circle[{x,y},{rx,ry}] 画椭圆,rx,ry为半长短轴Circle[{x,y},r,{a1,a2}] 从角度a1~a2的圆弧Disk[{x, y}, r] 填充的园、椭圆、圆弧等参数同上Raster[array,ColorFunction->f] 颜色栅格Text[expr,coords] 在坐标coords上输出表达式PostScript["string"] 直接用PostScript图元语言写Scaled[{x,y,..}] 返回点的坐标,且均大于0小于1颜色函数(指定其后绘图的颜色)GrayLevel[level] 灰度level为0~1间的实数RGBColor[red, green, blue] RGB颜色,均为0~1间的实数Hue[h, s, b] 亮度,饱和度等,均为0~1间的实数CMYKColor[cyan, magenta, yellow, black] CMYK颜色其他函数(指定其后绘图的方式)Thickness[r] 设置线宽为rPointSize[d] 设置绘点的大小Dashing[{r1,r2,..}] 虚线一个单元的间隔长度ImageSize->{x, y} 显示图形大小(像素为单位)ImageResolution->r 图形解析度r个dpiImageMargins->{{left,right},{bottom,top}}四边的空白ImageRotated->False 是否旋转90度显示—————————————————————————————————————十五、流程控制分支If[condition, t, f] 如果condition为True,执行t段,否则f段If[condition, t, f, u] 同上,即非True又非False,则执行u段Which[test1,block1,test2,block2..] 执行第一为True的testi对应的blocki Switch[expr,form1,block1,form2,block2..]执行第一个expr所匹配的formi所对应的blocki段循环Do[expr,{imax}] 重复执行expr imax次Do[expr,{i,imin,imax}, {j,jmin,jmax},...]多重循环While[test, body] 循环执行body直到test为FalseFor[start,test,incr,body]类似于C语言中的for,注意","与";"的用法相反examp: For[i=1;t =x,i^2<10,i++,t =t+i;Print[t]]异常控制Throw[value] 停止计算,把value返回给最近一个Catch处理Throw[value, tag] 同上,Catch[expr] 计算expr,遇到Throw返回的值则停止Catch[expr, form] 当Throw[value, tag]中Tag匹配form时停止其他控制Return[expr] 从函数返回,返回值为exprReturn[ ] 返回值NullBreak[ ] 结束最近的一重循环Continue[ ] 停止本次循环,进行下一次循环Goto[tag] 无条件转向Label[Tag]处Label[tag] 设置一个断点Check[expr,failexpr] 计算expr,如果有出错信息产生,则返回failexpr的值Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产生时则返回failexpr CheckAbort[expr,failexpr]当产生abort信息时放回failexprInterrupt[ ] 中断运行Abort[ ] 中断运行TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终止MemoryConstrained[expr,b]计算expr,当耗用内存超过b字节时终止运算交互式控制Print[expr1,expr2,...] 顺次输出expri的值examp: Print[ "X=" , X.},body]多自变量纯函数#,#n 纯函数的第一、第n个自变量## 纯函数的所有自变量的序列examp: ^& [2,3] 返回第一个参数的第二个参数次方映射Map[f,expr]或f/@expr 将f分别作用到expr第一层的每一个元上得到的列表Map[f,expr,level] 将f分别作用到expr第level层的每一个元上Apply[f,expr]或f@@expr 将expr的“头”换为fApply[f,expr,level] 将expr第level层的“头”换为fMapAll[f,expr]或f.}] 把f作用到expr[[{i,j,...}]]元上MapIndexed[f,expr] 类似MapAll,但都附加其映射元素的位置列表Scan[f, expr] 按顺序分别将f作用于expr的每一个元Scan[f,expr,levelspec] 同上,仅作用第level层的元素复合映射Nest[f,expr,n] 返回n重复合函数f[f[...f[expr]...]]NestList[f,expr,n] 返回0重到n重复合函数的列表{expr,f[expr],f[f[expr]]..} FixedPoint[f, expr] 将f复合作用于expr直到结果不再改变,即找到其不定点FixedPoint[f, expr, n] 最多复合n次,如果不收敛则停止FixedPointList[f, expr] 返回各次复合的结果列表FoldList[f,x,{a,b,..}] 返回{x,f[x,a],f[f[x,a],b],..}Fold[f, x, list] 返回FoldList[f,x,{a,b,..}]的最后一个元ComposeList[{f1,f2,..},x]返回{x,f1[x],f2[f1[x]],..}的复合函数列表Distribute[f[x1,x2,..]] f对加法的分配率Distribute[expr, g] 对g的分配率Identity[expr] expr的全等变换Composition[f1,f2,..] 组成复合纯函数f1[f2[..fn[ ]..]Operate[p,f[x,y]] 返回p[f][x, y]Through[p[f1,f2][x]] 返回p[f1[x],f2[x]]Compile[{x1,x2,..},expr]编译一个函数,编译后运行速度可以大大加快Compile[{{x1,t1},{x2,t2}..},expr] 同上,可以制定函数参数类型—————————————————————————————————————十七、替换规则lhs->rhs 建立了一个规则,把lhs换为rhs,并求rhs的值lhs:>rhs 同上,只是不立即求rhs的值,知道使用该规则时才求值Replace[expr,rules] 把一组规则应用到expr上,只作用一次expr /. rules 同上expr .}]综合各个规则,产生一组优化的规则组><Mathematica的常见问题><===================================1).Mathematica 可以定义变量为实数么1. 在Simplify/FullSimplify可以使用\[Element],如Simplify[Re[a+b*I],a\[Element]Reals]2. 可以使用ComplexExpand[]来展开表达式,默认:符号均为实数:Unprotect[Abs];Abs[x_] := Sqrt[Re[x]^2 + Im[x]^2];ComplexExpand[Abs[a + b*I], a]3. 使用/:,对符号关联相应的转换规则x /: Im[x] = 0;x /: Re[x] = x;y /: Im[y] = 0;y /: Re[y] = y;Re[x+y*I]===================================2).Mathematica中如何中断运算Alt+. 直接终止当前执行的运算Alt+, 询问是否终止或者继续如果不能终止,用菜单Kernel\Quit Kernal\Local来退出当前运算===================================3).请高手推荐Mathematica参考书我迄今为止看到的最好的一本就是Mathematica自己带的帮助里面的The Mathematica Book,内容全面,循序渐近,非常容易学习使用。

Mathematica教程-2常用的数学函数省名师优质课赛课获奖课件市赛课一等奖课件

Mathematica教程-2常用的数学函数省名师优质课赛课获奖课件市赛课一等奖课件
expr/.{x->x0,y->y0,…}:表达将代数式里旳 变量 x,y…用x0,y0,…替代。
字符串” /.”由一种除号和一种圆点符号构成
字符串”->”由一种减号和一种不小于符号连成
关系体现式与逻辑体现式
关系体现式是最简朴旳逻辑体现式,我们常 用关系体现式表达一种鉴别条件。例如: x>0,y=0。关系体现式旳一般形式是:体现式 +关系算子+体现式。其中体现式可为数字 体现式、字符体现式或意义更广泛旳体现式, 如一种图形体现式等。在我们实际利用中, 这儿旳体现式经常是数字体现式或字符体现 式。
expr/Short : 显示体现式旳一行形式
Short〔expr,n〕: 显示体现式旳n行形式,命令后加 一分号“;” 不打印成果
将体现式(1+x)^30展开,并仅显示一行有代表 项旳式子:
运算成果旳读取---%运算符
“%”称ditto运算符,有反复此前内容旳意 思。在计算过程中某次旳计算可能要用到上次 旳计算成果,或者前几次旳计算成果,就可用”%” 符,使用方法如下:
指数函数E^x(或Exp[x]),指数函数a^x
对数函数ln x用Log[x],以a为底旳对数函数用Log[a,x]
平方根函数 :Sqrt[x] ,绝对值函数 :Abs[x]
Max[x1,x1,……]: 取x1,x2,……中旳最大值 Min[x1,x2,……]: 取x1,x2,……中旳最小值
Sign[x]: 符号函数(x不小于0时值为1,不不小于0时值为1)
建表
在表中元素较少时,能够采用直接列表旳方式 列出表中旳元素,如{1,2,3} In[1]:={1,2,3}
Out[1]={1,2,3} 下面是符号体现式旳列表

Mathematica使用说明资料

Mathematica使用说明资料

输入 Plot[{Sin[x],Cos[x]},{x,0,2Pi}] 则输出
1
0.5
1
2
3
4
5
6
-0.5
-1
如果输入
??Plot 则 Mathematica 会输出关于这个命令的选项的详细说明
,请读者试之 .
此外 ,Mathematica 的 Help 菜单中提供了大量的帮助信息 ,其中 Help 菜单中的第一项
Mathematica 是一个敏感的软件 . 所有的 Mathematica 函数都以大写字母开头 ; 圆括号 ( ),花括号 { }, 方括号 [ ] 都有特殊用途 , 应特别注意 ; 句号“ .”, 分号“ ; ” ,逗号“ ,”感叹号“! ”等都有特殊用途 , 应特别注意 ; 用主键盘区的组合键 Shfit+Enter 或数字键盘中的 Enter 键执行命令 .
3
它表示对系数按常规约定求出方程 ( 组)的全部解 ,其中 eqns 表示方程 (组 ),vars 表示所求未知变量 .
例 12 解方程 x2 3x 2 0
输入 Solve[x^2+3x+2==0, x]
输出 {{ x
2}, { x
1}}
例 13 解方程组
ax by 0 cx dy 1
输入 Solve[{a x + b y == 0,c x + d y ==1}, {x,y}]
ArcCot[x], AsrcSec[x], ArcCsc[x]
Sinh[x],
Cosh[x],
Tanh[x],
ArcSinh[x],
ArcCosh[x], ArcTanh[x]
Round[x] (* 取最接近 x 的整数 *)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
let u = −xy 3
∂u = −3xy 2 ∂y
= 2x − 3y 2 e −xy + 3xy 2
3
∂ u e ∂x ∂u ∂x
3 13 / 68
= 2x − 3y 2 e −xy − 3xy 2 e u
3
∂u = −y 3 ∂x
= 2x − 3y 2 e −xy + 3xy 5 e −xy
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 1 / 68
Outline
1 2 3 4 5 6 7 8 9 10
Functions of Several Variables Higher Order Partial Derivatives Functions of Two Variables The Chain Rule for Functions of Several Variables Implicit Functions Put-Call Parity and The Greeks Delta Gamma (Γ) Rho (ρ) and Vega Theta (Θ)
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 3
12 / 68
Mixed Partial Derivatives
∂2f ∂x ∂y = = = = ∂ ∂ 3 x 2 y + e −xy ∂x ∂y ∂ ∂ u x2 + e ∂x ∂y ∂u ∂ x 2 + eu ∂x ∂y ∂ 3 x 2 − 3xy 2 e −xy ∂x
Kjell Konis (Copyright © 2013)
3. Partial Derivatives
8 / 68
Vector Valued Functions
A function of one or several variables that takes values in a multidimensional space is called a vector valued function. Notation: f : Rn → Rm
Example: Black-Scholes Formula for a European Call Option Price Inputs: S K T t asset price strike price maturity time σ r q asset volatility risk-free interest rate asset continuous dividend rate
C (S , t ; ·) = S e −q(T −t ) Φ d+ (S , t ; ·) − K e −r (T −t ) Φ d− (S , t ; ·)
d + ( S , t ; ·) = Kjell Konis (Copyright © 2013) log
S K
√ + r −q+ σ (T − t ) 2 √ , d− (S , t ; ·) = d+ (S , t ; ·) − σ T − t 3. t Partial Derivatives 4 / 68 σ T−
∂ 2 xy e = e xy + xy e xy ∂x ∂y
∂ ∂ xy ∂ ∂ e = y e xy = e xy + y e xy = e xy + xy e xy ∂y ∂x ∂y ∂y
For f (x , y ) = e xy have ∂2f ∂ 2 xy ∂ 2 xy ∂2f = e = e xy + xy e xy = e = ∂x ∂y ∂x ∂y ∂y ∂x ∂y ∂x But, f (x , y ) = e xy has a certain “symmetry” wrt differentiation Let’s see what happens when f (x , y ) = x 2 y + e −xy
3
let u = −xy 3
= x2
= x 2 + eu
∂u = −3xy 2 ∂y

= x 2 − 3xy 2 e −xy
Kjell Konis (Copyright © 2013)
3. Partial Derivatives
7 / 68
The Gradient
Let f (x ) = f (x1 , . . . , xn ) : Rn → R. The gradient of f (x ) is denoted by D f (x ) and is defined to be the following 1 × n array of partial derivatives. D f (x ) = ∂f ∂ x1 ∂f ∂ x2 ··· ∂f ∂ xn
Kjell Konis (Copyright © 2013)
3. Partial Derivatives
6 / 68
Example (continued)
f (x , y ) = x 2 y + e −xy ∂ f (x , y ) = ∂y
3
∂ ∂ −xy 3 y x2 + e ∂y ∂y ∂ ∂ u y + e ∂y ∂y ∂u ∂y
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 10 / 68
Higher Order Partial Derivatives
For functions of a single variable: d2 d d d f (x ) = f (x ) = f (x ) f (x ) = 2 dx dx dx dx For functions of several variables: ∂ 2 xy e ∂x 2 ∂ 2 xy e ∂y 2 = = ∂ ∂ xy ∂ ∂ e = y e xy = y e xy = y 2 e xy ∂x ∂x ∂x ∂x ∂ ∂ xy ∂ ∂ e = x e xy = x e xy = x 2 e xy ∂y ∂y ∂y ∂y
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 3 / 68
Scalar Valued Functions
A function of several variables that takes values in R is called a scalar valued function. Notation: f : Rn → R y = f (x1 , x2 , . . . , xn ) y ∈ R, xj ∈ R for j = 1, . . . , n
For functions of several variables also have mixed partial derivatives: ∂ 2 xy e ∂x ∂y = ∂ ∂ xy ∂ ∂ e = x e xy = e xy + x e xy = e xy + xy e xy ∂x ∂y ∂x ∂x
2
Partial Derivatives
Let f : Rn → R The partial derivative of f with respect to xj is denoted by ∂f ∂ xj (x1 , . . . , nn ) and is defined as ∂f f (x1 , . . . , xj −1 , xj + h, xj +1 , . . . , xn ) − f (x1 , . . . , xn ) (·) = lim h→0 ∂ xj h if the limit exists and is finite.
3. Partial Derivatives 11 / 68
Kjell Konis (Copyright © 2013)
Mixed Partial Derivatives
What is the relationship between ∂2 ∂2 and ? ∂x ∂y ∂y ∂x
Already saw that ∂ 2 xy e ∂y ∂x =
AMATH 460: Mathematical Methods for Quantitative Finance
3. Partial Derivatives Kjell Konis
Acting Assistant Professor, Applied Mathematics University of Washington
∂f ∂ xj
In practice, to compute
fix xk for k = j differentiate f as a function of one variable xj
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 5 / 68
Kjell Konis (Copyright © 2013) 3. Partial Derivatives
Mixed Partial Derivatives
∂2f ∂y ∂x = = = = ∂ ∂ 3 x 2 y + e −xy ∂y ∂x ∂ ∂ u 2xy + e ∂y ∂x ∂ ∂u 2xy + e u ∂y ∂x ∂ 2xy − y 3 e u ∂y
Kjell Konis (Copyright © 2013) 3. Partial Derivatives 9 / 68
Outline
1 2 3 4 5 6 7 8 9 10
Functions of Several Variables Higher Order Partial Derivatives Functions of Two Variables The Chain Rule for Functions of Several Variables Implicit Functions Put-Call Parity and The Greeks Delta Gamma (Γ) Rho (ρ) and Vega Theta (Θ)
相关文档
最新文档