mathematica最常用的方法一览

合集下载

mathematica用法

mathematica用法

Mathematica是一款非常强大的数学软件,它支持符号计算、数值计算和图形可视化等功能。

以下是一些Mathematica的基本用法:
表达式输入:在Mathematica中,可以通过输入表达式来得到结果。

例如,输入 2 + 3,然后按下回车键,就会得到结果5。

定义变量:使用Let 命令可以定义变量,例如Let[x = 5]。

使用函数:Mathematica提供了大量的内置函数,可以直接使用。

例如,Sin[x] 可以计算sin(x)的值。

使用Pattern替换:Mathematica支持模式替换,可以通过/. 操作进行。

例如,设 a 是一个变量,有a/.a->1 就可以将所有出现的a 替换为1。

使用纯函数:纯函数是一个没有副作用的函数,它对参数进行操作并返回结果,不会改变参数的值。

在Mathematica中,可以使用Function 命令定义纯函数。

例如,f = Function[{x}, x^2] 可以定义一个对输入的x进行平方操作的纯函数。

使用Plot和ParametricPlot:Plot 和ParametricPlot 是Mathematica中用于绘图的命令,可以用来绘制函数的图像或者参数方程的图像。

例如,Plot[Sin[x], {x, 0, 2*Pi}] 就会绘制sin(x)的图像。

整理mathematica数学常用命令大全

整理mathematica数学常用命令大全

整理mathematica数学常⽤命令⼤全Mathematica的内部常数Mathematica的常⽤内部数学函数Mathematica中的数学运算符Mathematica的关系运算符注:上⾯的关系运算符也可从基本输⼊⼯具栏输⼊。

如何⽤mathematica求多项式的最⼤公因式和最⼩公倍式如何⽤mathematica求整数的最⼤公约数和最⼩公倍数如何⽤mathematica进⾏整数的质因数分解如何⽤mathematica求整数的正约数如何⽤mathematica判断⼀个整数是否为质数如何⽤mathematica求第n个质数如何⽤mathematica求阶乘如何⽤mathematica配⽅Mathematica没有提供专门的配⽅命令,但是我们可以⾮常轻松地⾃定义⼀个函数进⾏配⽅。

如何⽤mathematica进⾏多项式运算如何⽤mathematica进⾏分式运算如何⽤Mathematica进⾏因式分解如何⽤Mathematica展开如何⽤Mathematica进⾏化简如何⽤Mathematica合并同类项如何⽤Mathematica进⾏数学式的转换如何⽤Mathematica进⾏变量替换如何⽤mathematica进⾏复数运算如何在mathematica中表⽰集合与数学中表⽰集合的⽅法相同,格式如下:下列命令可以⽣成特殊的集合:如何⽤Mathematica求集合的交集、并集、差集和补集如何mathematica⽤排序如何在Mathematica中解⽅程注:⽅程的等号必须⽤:= =如何在Mathematica中解⽅程组Solve[{⽅程组},{变元组}]注:⽅程的等号必须⽤:= =如何在Mathematica中解不等式先加载:Algebra`InequalitySolve` ,加载⽅法为:<然后执⾏解不等式的命令InequalitySolve,此命令的使⽤格式如下:<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载⽅法为:<然后执⾏解不等式组的命令InequalitySolve,此命令的使⽤格式如下:<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载⽅法为:<<--mstheme-->如何⽤mathematica表⽰分段函数如何⽤mathematica求反函数对系统内部的函数⽣效,但对⾃定义的函数不起任何作⽤,也许是⽅法不对。

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中,用户可以使用不同的函数和命令,来对数学公式进行求解、简化和优化。

以下是Mathematica中常用的公式推导方法:
1. 求导和积分:Mathematica可以对各种函数进行求导和积分,包括高阶导数和定积分。

用户只需输入函数表达式和对应的变量,即可得到其一阶或多阶导数,以及定积分的结果。

2. 简化和展开式:Mathematica可以对各种复杂的数学表达式进行简化和展开式,使其更加易于理解和计算。

用户可以使用Simplify和Expand等函数,来对表达式进行简化和展开,以达到优化计算的目的。

3. 方程求解:Mathematica可以帮助用户解决各种复杂的方程问题,包括代数方程和微分方程。

用户只需输入方程表达式和对应的未知数,即可得到方程的解析解或数值解。

4. 矩阵计算:Mathematica可以进行各种矩阵计算,包括矩阵求逆、矩阵乘法和特征值计算等。

用户只需输入矩阵表达式,即可得到矩阵的各种属性和计算结果。

5. 统计分析:Mathematica可以进行各种统计分析,包括假设检验、方差分析和回归分析等。

用户只需输入数据表格和对应的统计方法,即可得到各种统计分析的结果和图表输出。

综上所述,Mathematica是一款强大的数学工具,其在公式推导
和解决数学问题方面拥有广泛的应用。

通过使用Mathematica,用户可以更快速、准确地进行公式推导和数学计算,从而在学术和工程领域中取得更好的成果。

mathmatic 基本用法

mathmatic 基本用法

mathmatic 基本用法Mathematica是一种强大的数学软件,它具有广泛的数学计算和可视化功能。

基本用法包括使用Mathematica进行数学运算、求解方程、绘制图表等。

1.数学运算:Mathematica可以进行基本的数学运算,如加减乘除、幂运算、三角函数、对数函数等。

例如,可以输入"2+3"得到结果"5",输入"Sin[π/2]"得到结果"1"。

2.方程求解:Mathematica可以求解各种类型的方程。

例如,可以输入"Solve[x^2 - 3x + 2 == 0, x]"来求解这个二次方程,得到结果"x == 1 || x == 2"。

3.符号计算:Mathematica可以进行符号计算,包括展开、化简、因式分解等。

例如,可以输入"Simplify[(x^2 + x - 6)/(x + 3)]"来化简这个表达式,得到结果"x - 2"。

4.绘图功能:Mathematica可以生成各种类型的图表,包括二维曲线图、三维曲面图、柱状图、散点图等。

例如,可以输入"Plot[Sin[x], {x, 0, 2π}]"来绘制正弦函数的曲线图。

除了基本用法外,Mathematica还有许多其他功能,如矩阵计算、微积分、概率统计、符号推导、动态演示等。

它还提供了大量的内置函数和算法,可以用于求解复杂的数学问题。

使用Mathematica还可以进行科学计算、工程计算、数据分析等各种应用领域。

总之,Mathematica是一款功能强大的数学软件,可以帮助用户进行各种数学计算和可视化操作。

mathematica简单算例

mathematica简单算例

mathematica简单算例Mathematica是一款强大的数学软件,可以用于解决各种数学问题和进行数值计算。

在本文中,我们将介绍一些简单的算例,展示Mathematica的基本用法和功能。

一、求解方程假设我们需要求解一个简单的一元二次方程,比如x^2-5x+6=0。

我们可以使用Mathematica的Solve函数来解这个方程。

代码如下:```mathematicaSolve[x^2 - 5x + 6 == 0, x]```运行以上代码后,Mathematica会给出方程的解,即x=2和x=3。

通过这个例子,我们可以看到Mathematica可以方便地解决各种复杂的方程。

二、绘制函数图像Mathematica还可以用来绘制函数的图像。

假设我们想要绘制函数y=x^2的图像,我们可以使用Mathematica的Plot函数。

代码如下:```mathematicaPlot[x^2, {x, -10, 10}]```运行以上代码后,Mathematica会生成一个关于y=x^2的图像,x 的取值范围为-10到10。

通过这个例子,我们可以看到Mathematica可以帮助我们直观地理解数学函数。

三、计算数列Mathematica还可以用来计算数列的和。

假设我们需要计算斐波那契数列的前20项的和。

我们可以使用Mathematica的Sum函数来计算。

代码如下:```mathematicaSum[Fibonacci[n], {n, 1, 20}]```运行以上代码后,Mathematica会计算出斐波那契数列的前20项的和。

通过这个例子,我们可以看到Mathematica可以帮助我们快速计算各种数学问题。

四、符号计算Mathematica还可以进行符号计算。

假设我们需要对一个多项式进行展开,比如(x+1)^3。

我们可以使用Mathematica的Expand函数来展开多项式。

代码如下:```mathematicaExpand[(x + 1)^3]```运行以上代码后,Mathematica会展开多项式(x+1)^3,结果为x^3+3x^2+3x+1。

Mathematical用法-大全-实用版

Mathematical用法-大全-实用版

Mathematica for Windows 用法一、Mathematica的主要功能Mathematica是美国Wolfram公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。

例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。

二、Mathematica的基本知识1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter”换行)后,按“Shift+Enter”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。

若命令后有分号,则不输出执行结果(图形输出与Print命令除外)。

“%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个命令的输出。

2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。

如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。

In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6;In[4]:=%2+4,Out[4]= 12;In[5]:=1/3-1/4,Out[5]=121;In[6]:=N[%],Out[6]= 0.0833333;In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写)3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x的赋值。

表达式/.t ->c ,将表达式中的t全替换成c。

?x,查x信息。

4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-)5.常用的数学函数:Abs, Sin, Cos, T an, Cot, ArcSin, Log (自然对数), Sqrt,Exp如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+%(自变量用[]括,区分大小写,首字母大写)三、常用运算1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3或In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t);In[2]:=a=t/.x->4 (计算表达式t当x=4时的值,并赋值给变量a )In[3]:=a=.(清除变量a )In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解)2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%];In[3]:=Solve[a*x-b= = 0, x];In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解)3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ;In[2]:=f[5]+7;In[3]:=f[a+b]4.求极限:In[1]:=Limit[Sin[x]/x, x ->0];In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y的偏导数);In[3]:=D[Log[x], {x,2}] (求对x的二阶导数);In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x、y的二阶混合偏导数);In[5]:=Simplify[%] (对前一结果化简);In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}]6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x]7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}];In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分)In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi(圆面积)8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x的四次幂)9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按行写);In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a的转置);In[4]:=a[[2]](a的第2行);In[5]:=Tanspose[a][[2]](a的第2列);In[6]:=Inverse[a](求a的逆矩阵);In[7]:=Det[a](矩阵的行列式);In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量);In[10]:=RowReduce[a](把a化为阶梯形,可用于求矩阵的秩、判断线性相关性);In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a.b(矩阵a与b的乘积)10.解线性方程组:In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a的秩为2)In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2)In[3]:=LinearSolve[a,b](求线性方程组ax=b的一个特解);In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系);In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b的全部解,k1、k2为任意常数)11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑∞=13 sinn nn的和)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}](求多元函数极小值)13.求解线性规划问题:Min cx,mx≥b,x≥0,求向量x 。

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 建⽴替换规则expr//funname 相当于filename[expr]expr/.rule 将规则rule应⽤于exprexpr//.rule 将规则rule不断应⽤于expr知道不变为⽌param_ 名为param的⼀个任意表达式(形式变量)param__ 名为param的任意多个任意表达式(形式变量)⼆、系统常数Pi 3.1415....的⽆限精度数值E 2.17828...的⽆限精度数值Catalan 0.915966..卡塔兰常数EulerGamma 0.5772....⾼斯常数GoldenRatio 1.61803...黄⾦分割数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,解出vars DSolve[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六、多项式函数Variables[poly] 给出多项式poly中独⽴变量的列表CoefficientList[poly, var] 给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列表PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p, q, x] 以x为⾃变量的两个多项式之商式p/q PolynomialRemainder[p, q, x] 以x为⾃变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最⼤公因式PolynomialLCM[poly1,poly2,...] poly(i)的最⼩公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到⼀个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly中的数字公因⼦FactorTerms[poly, {x1,x2...}] 提出poly中与xi⽆关项的数字公因⼦FactorList[poly]给出poly各个因⼦及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly]FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第⼀项是数字公因⼦,第⼆项是与xi⽆关的因式,其后是与xi有关的因式按升幂的排列Cyclotomic[n, x] n阶柱函数Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=poly InterpolatingPolynomial[data, var] 在数据data上的插值多项式data可以写为{f1,f2..}相当于{{x1=1,y1=f1}..}data可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..}可以指定数据点上的n阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产⽣type类型且在range范围内的均匀分布随机数type可以为Integer,Real,Complex,不写默认为Realrange为{min,max},不写默认为{0,1}Random[] 0~1上的随机实数SeedRandom[n] 以n为seed产⽣伪随机数如果采⽤了 <在2.0版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m" Random[distribution]可以产⽣各种分布如Random[BetaDistribution[alpha, beta]]Random[NormalDistribution[miu,sigma]]等常⽤的分布如BetaDistribution,CauchyDistribution,ChiDistribution, NoncentralChiSquareDistribution,ExponentialDistribution, ExtremeValueDistribution,NoncentralFRatioDistribution, GammaDistribution,HalfNormalDistribution, LaplaceDistribution, LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution, UniformDistribution, WeibullDistribution⼋、数值函数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] 解线性组合c.x在m.x>=b&&x>=0约束下的最⼩值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极⼩⽆关组数据处理:Fit[data,funs,vars]⽤指定函数组对数据进⾏最⼩⼆乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {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...] 区间的交⼗⼆、矩阵操作a.b.c 或 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] 解线性⽅程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[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} 三维视点,默认为{1.3,-2.4,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对应的blockiSwitch[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,...]当特定信息产⽣时则返回failexprCheckAbort[expr,failexpr]当产⽣abort信息时放回failexprInterrupt[ ] 中断运⾏Abort[ ] 中断运⾏TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终⽌MemoryConstrained[expr,b]计算expr,当耗⽤内存超过b字节时终⽌运算交互式控制Print[expr1,expr2,...] 顺次输出expri的值examp: Print[ "X=" , X//N , " " ,f[x+1]];Input[ ] 产⽣⼀个输⼊对话框,返回所输⼊任意表达式Input["prompt"] 同上,prompt为对话框的提⽰Pause[n] 运⾏暂停n秒函数编程—————————————————————————————————————⼗六、函数编程(*函数编程是Mathematica中很有特⾊也是最灵活的⼀部分,它充分体现了 *)(*Mathematica的“⼀切都是表达式”的特点,如果你想使你的Mathematica程 *)(*序快于⾼级语⾔,建议你把本部分搞通*)纯函数Function[body]或body& ⼀个纯函数,建⽴了⼀组对应法则,作⽤到后⾯的表达式上Function[x, body] 单⾃变量纯函数Function[{x1,x2,...},body]多⾃变量纯函数#,#n 纯函数的第⼀、第n个⾃变量## 纯函数的所有⾃变量的序列examp: #1^#2& [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//@expr把f作⽤到expr的每⼀层的每⼀个元上MapAt[f,expr,n] 把f作⽤到expr的第n个元上MapAt[f,expr,{i,j,...}] 把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 //.rules 将规则rules不断作⽤到expr上,直到⽆法作⽤为⽌Dispatch[{lhs1->rhs1,lhs2->rhs2,...}]综合各个规则,产⽣⼀组优化的规则组查询函数、串函数—————————————————————————————————————⼗⼋、查询函数(*查询函数⼀般是检验表达式是否满⾜某些特殊形式,并返回True或False*)(*可以在Mathematica中⽤“?*Q”查询到 *)ArgumentCountQ MatrixQAtomQ MemberQDigitQ NameQEllipticNomeQ NumberQEvenQ NumericQExactNumberQ OddQFreeQ OptionQHypergeometricPFQ OrderedQInexactNumberQ PartitionsQIntegerQ PolynomialQIntervalMemberQ PrimeQInverseEllipticNomeQ SameQLegendreQ StringMatchQLetterQ StringQLinkConnectedQ SyntaxQLinkReadyQ TrueQListQ UnsameQLowerCaseQ UpperCaseQMachineNumberQ ValueQMatchLocalNameQ VectorQMatchQ⼗九、字符串函数"text" ⼀个串,头为_String"s1"<>"s2"<>..或StringJoin["s1","s2",..] 串的连接StringLength["string"] 串长度StringReverse["string"] 串反转StringTake["string", n] 取串的前n个字符的⼦串,参数同Take[]StringDrop["string", n] 参见Drop,串也就是⼀个表StringInsert["string","snew",n] 插⼊,参见Insert[]StringPosition["string", "sub"] 返回⼦串sub在string中起⽌字母位置StringReplace["string",{"s1"->"p1",..}] ⼦串替换StringReplacePart["string", "snew", {m, n}]把string第m~n个字母之间的替换为snewStringToStream["string"] 把串当作⼀个输⼊流赋予⼀个变量Characters["string"] 把串"string"分解为每⼀个字符的表ToCharacterCode["string"] 把串"string"分解为每⼀个字符ASCII值的表FromCharacterCode[n] ToCharacterCode的逆函数FromCharacterCode[{n1,n2,..}]ToCharacterCode的逆函数ToUpperCase[string] 把串的⼤写形式ToLowerCase[string] 把串的⼩写形式CharacterRange["c1","c2"] 给出ASCII吗在c1到c2之间的字符列表ToString[expr] 把表达式变为串的形式ToExpression[input] 把⼀个串变为表达式Names["string"] 与?string同,返回与string同名的变量列表。

Mathematical常用功能大全-精简版

Mathematical常用功能大全-精简版

Mathematica for Windows 常用用法一、Mathematica 的主要功能Mathematica 是美国Wolfram 公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。

例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。

二、Mathematica 的基本知识 1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter ”换行)后,按“Shift+Enter ”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。

若命令后有分号,则不输出执行结果(图形输出与Print 命令除外)。

“%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个命令的输出。

2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。

如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。

In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6;In[4]:=%2+4,Out[4]= 12;In[5]:=1/3-1/4,Out[5]=121;In[6]:=N[%],Out[6]= 0.0833333; In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写) 3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x 的赋值。

表达式/.t ->c ,将表达式中的t 全替换成c 。

?x ,查x 信息。

4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-)5.常用的数学函数:Abs, Sin, Cos, Tan, Cot, ArcSin, Log (自然对数), Sqrt, Exp 如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+% (自变量用[ ]括,区分大小写,首字母大写) 三、常用运算 1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3 或 In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t ); In[2]:=a=t/.x->4 (计算表达式t 当x=4时的值,并赋值给变量a ) In[3]:=a=. (清除变量a ) In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解) 2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%]; In[3]:=Solve[a*x-b= = 0, x]; In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解) 3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ; In[2]:=f[5]+7; In[3]:=f[a+b] 4.求极限:In[1]:=Limit[Sin[x]/x, x ->0]; In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E 5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y 的偏导数); In[3]:=D[Log[x], {x,2}] (求对x 的二阶导数); In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x 、y 的二阶混合偏导数); In[5]:=Simplify[%] (对前一结果化简); In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}] 6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x] 7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}]; In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分) In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi (圆面积) 8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x 的四次幂) 9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按行写);In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a 的转置); In[4]:=a[[2]](a 的第2行);In[5]:=Tanspose[a][[2]](a 的第2列); In[6]:=Inverse[a](求a 的逆矩阵);In[7]:=Det[a](矩阵的行列式); In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量); In[10]:=RowReduce[a](把a 化为阶梯形,可用于求矩阵的秩、判断线性相关性); In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a .b (矩阵a 与b 的乘积) 10.解线性方程组:In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a 的秩为2) In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2) In[3]:=LinearSolve[a,b](求线性方程组ax=b 的一个特解); In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系);In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b 的全部解,k1、k2为任意常数)11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑∞=13sin n nn 的和)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}](求多元函数极小值) 13.求解线性规划问题:Min cx ,mx ≥b ,x ≥0,求向量x 。

mathematica编程

mathematica编程

mathematica编程Mathematica是一种功能强大的数学建模和计算机代数系统,它提供了丰富的数学函数、图形绘制和数据分析工具,可以用于各种科学和工程计算领域。

通过编程,我们可以利用Mathematica来解决各种数学问题,从简单的代数运算到复杂的数据分析和机器学习。

Mathematica的编程语言是一种功能强大且易于学习的语言,它类似于传统的编程语言,如C和Python,但具有更高级的数学和符号计算功能。

下面我将介绍一些Mathematica编程的基础知识和常用技巧。

首先,我们需要了解Mathematica的基本语法。

Mathematica的基本单位是表达式,可以是数值、符号、函数或其他表达式。

表达式可以使用中缀、前缀或后缀形式来表示。

Mathematica有丰富的内置函数,可以用于数学计算、图形绘制、数据处理等方面。

在Mathematica中,我们可以使用变量来存储数值、符号或表达式。

变量的命名规则与其他编程语言相似,可以包含字母、数字和下划线,但必须以字母或下划线开头。

我们可以使用赋值运算符“=”将一个表达式赋给一个变量,例如:x = 3;y = x^2 + 2x + 1;在这个例子中,变量x被赋值为3,变量y被赋值为x的平方加2x加1的结果。

我们可以通过输入变量的名称来获取它们的值。

Mathematica提供了各种数学函数,可以用于数值计算和符号计算。

例如,我们可以使用内置的求和函数Sum来计算一个数列的和:Sum[i^2, {i, 1, 10}]这个例子中,我们计算了从1到10的平方和。

Mathematica还提供了诸如求导、积分、解方程等功能,可以帮助我们解决各种数学问题。

除了数学计算,Mathematica还可以用于绘制图形和处理数据。

例如,我们可以使用Plot函数绘制一个函数的图像:Plot[Sin[x], {x, 0, 2Pi}]这个例子中,我们绘制了正弦函数的图像。

Mathematica用法简介

Mathematica用法简介

Mathematica 软件使用简介Mathematica 是一个功能强大的常用数学软件, 它是由美国物理学家Stephen Wolfram领导的Wolfram Research公司用C语言开发的数学系统软件。

不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。

这里介绍的命令可以适用于Windows操作系统的Mathematica2.2以上版本运行。

一、Mathematica 的进入/退出如果你的计算机已经安装了Mathematica 软件, 系统会在Windows【开始】菜单的【程序】子菜单中加入启动Mathematica命令的图标:图1.1 启动Mathematica用鼠标单击它就可以启动Mathematica系统进入Mathematica系统工作界面:图1.2 Mathematica2.2工作界面图图1.3 Mathematica4.0工作界面图Mathematica系统工作界面是基于Windows 环境下的Mathematica 函数或程序运行与结果显示的图形用户接口, 是Mathematica的工作屏幕。

界面上方的主菜单和工具条的功能类似于Windows中的Word软件。

其中的空白位置称为Notebook用户区, 在这里可以输入文本、实际的Mathematica命令和程序等来达到使用Mathematica的目的。

在用户区输入的内容被 Mathematica用一个具有扩展名为“.ma” (Mathematica2.2)或“.mb”(Mathematica4.0)在的文件名来纪录,该文件名是退出Mathematica时保存在用户区输入内容的默认文件名,一般是文件名:“Newnb-1.ma”或“Newnb-1.mb”。

退出Mathematica系统像关闭一个Word文件一样, 只要用鼠标点击Mathematica系统集成界面右上角的关闭按钮即可。

关闭前, 屏幕会出现一个对话框, 询问是否保存用户区的内容, 如果单击对话框的“否(N)”按钮, 则关闭Notebook窗口, 退出Mathematica系统; 如果单击对话框的“是(Y)”按钮, 则先提示你用一个具有扩展名为 .ma或.mb的文件名来保存用户区内的内容, 再退出Mathematica系统。

mathematica数值计算

mathematica数值计算

mathematica数值计算Mathematica是一款强大的数学计算软件,可以进行各种数值计算和符号计算。

本文将介绍Mathematica在数值计算方面的应用。

一、数值计算的基础在Mathematica中,我们可以使用各种内置函数进行数值计算。

比如,我们可以使用N函数将一个表达式或方程转化为数值,并指定精度。

例如,我们可以计算sin(π/4)的数值:N[Sin[π/4]]结果为0.707107。

二、数值积分Mathematica提供了强大的数值积分功能。

我们可以使用NIntegrate函数对函数进行数值积分。

例如,我们可以计算函数f(x) = x^2在区间[0, 1]上的积分:NIntegrate[x^2, {x, 0, 1}]结果为0.333333。

三、数值方程求解Mathematica还可以解决各种数值方程。

我们可以使用NSolve函数对方程进行数值求解。

例如,我们可以求解方程x^2 - 2x + 1 =0的解:NSolve[x^2 - 2x + 1 == 0, x]结果为{{x -> 1}},即方程的解为x=1。

四、数值优化Mathematica也可以进行数值优化。

我们可以使用NMinimize函数对一个函数进行最小化。

例如,我们可以求解函数f(x) = x^2的最小值:NMinimize[x^2, x]结果为{x -> 0.},即函数的最小值为0。

五、数值微分Mathematica还提供了数值微分的功能。

我们可以使用ND函数对函数进行数值微分。

例如,我们可以计算函数f(x) = x^2的导数在x=1的值:ND[x^2, x, 1]结果为2,即函数在x=1处的导数为2。

六、数值级数求和Mathematica可以对级数进行数值求和。

我们可以使用NSum函数对级数进行数值求和。

例如,我们可以计算级数1/2^k的和:NSum[1/2^k, {k, 1, ∞}]结果为1,即级数的和为1。

Mathematica基本命令

Mathematica基本命令
PlotLabel一>“xxxx” : 确定图的标题为 xxxx 例3:利用参数作图方法同时画出单位圆x2+y2=1和抛物线y= x2
的图形,并设置相应的参数。
对坐标轴外观进行修饰(第三类选择项)
Axes一>False:指定是否画坐标轴,默认值为True AxesLabel一>{xxx,yyy}:指定坐标轴的名称 Ticks一>{xticks,yticks}:指定两坐标轴上刻度的位置,默认值为
▪ 例8:画出极坐标方程式r(t)=sin(cos6t)+sint的图形。
▪ 例9:画出极坐标方程式r(t)=lnt的图形,并指定绘图 线条的宽度与颜色。
▪ 注:事实上,Mathematica的Graphics’ Graphics’函 数库也提供了极坐标的绘图命令。
一点注意
▪ 如果想要绘制多个函数的图形,并且这几个函数是 以集合的形式存在于一个变量中,则必须先用 Evaluate命令对这个变量求值,才能绘出正确的图 形。
线形用来设定图象所使用的线形,其设定值Dashing[{实线长度,虚线长 度}]。
线宽用来设定曲线的宽度,其设定值为Thickness[宽度]。线宽是一个相 对数,以占整个图的宽度的比来衡量,线宽应在[0,1]之间选择。
例1:画出y=sin(x) 的图形,并设定曲线的颜色和线宽,函数图象用虚线绘 出。
形式排列 例5:分别画出y=sin(x2)和y=Cos(x2)在[0,Pi]区间上的图形,使
用Show函数把两幅图形组合在一起,并将图形以二维矩阵的 形式排列。
其他的二维绘图
▪ 等高线图(是将三维空间中高度相等的点连接起来, 即形成等高线图。它在弹性力学、热传学或者最优 化求值中都有很广泛的应用。)

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的四次幂)

mathmatica符号运算

mathmatica符号运算

Mathematica是一种强大的数学符号计算系统,它可以进行符号运算、数值计算、绘图和数据分析等多种数学操作。

作为一种专业的数学软件,Mathematica在科学研究、工程设计和教育教学中被广泛应用,它为用户提供了丰富的功能和简洁的操作界面。

本文将介绍Mathematica中的符号运算功能,包括基本运算、方程求解、微积分计算、矩阵运算等内容,帮助读者更好地了解和使用这一强大的数学工具。

一、基本运算在Mathematica中,可以使用基本的运算符号进行加减乘除等计算。

输入表达式"a + b",Mathematica会自动进行加法运算并给出结果。

除了基本的四则运算外,Mathematica还支持幂运算、取余运算等操作,可以满足用户在数学计算中的各种需求。

二、方程求解Mathematica能够对各种类型的方程进行求解,包括线性方程、二次方程、多项式方程、常微分方程等。

用户可以通过输入方程表达式,使用Solve或NSolve等函数进行求解,得到方程的解析解或数值解。

Mathematica还支持对方程组进行求解,可以解决多元方程的求解问题。

三、微积分计算微积分是数学中重要的内容,Mathematica提供了丰富的微积分计算功能,包括求导、积分、极限、级数等操作。

用户可以通过输入函数表达式,使用D、Integrate、Limit等函数进行微积分计算,得到函数的导数、不定积分、定积分等结果。

这些功能在科学研究和工程设计中具有重要的应用价值。

四、矩阵运算矩阵运算是数学中常见的运算方式,Mathematica为用户提供了丰富的矩阵运算功能,包括矩阵乘法、转置、逆矩阵、特征值等操作。

用户可以通过输入矩阵表达式,使用Dot、Transpose、Inverse、Eigenvalues等函数进行矩阵运算,得到矩阵的乘积、转置矩阵、逆矩阵、特征值等结果。

这些功能上线性代数和数值分析中具有重要的应用价值。

Mathematica常用命令

Mathematica常用命令

Mathe‎m atic‎a常用命令‎软件学习‎2010-‎10-19‎21:0‎2:15 ‎阅读127‎评论0 ‎字号:‎大中小订‎阅 .‎M athe‎m atic‎a的内部常‎数Pi ‎,或π(‎从基本输入‎工具栏输入‎,或“E‎s c”+“‎p”+“E‎s c”)圆‎周率πE‎(从基本‎输入工具栏‎输入, 或‎“Esc”‎+“ee”‎+“Esc‎”)自然对‎数的底数e‎I (从‎基本输入工‎具栏输入,‎或“Es‎c”+“i‎i”+“E‎s c”)虚‎数单位i‎I nfin‎i ty, ‎或∞(从基‎本输入工具‎栏输入 ,‎或“Es‎c”+“i‎n f”+“‎E sc”)‎无穷大∞‎D egre‎e或°(‎从基本输入‎工具栏输入‎,或“Es‎c”+“d‎e g”+“‎E sc”)‎度Mat‎h emat‎i ca的常‎用内部数学‎函数指数‎函数Exp‎[x]以e‎为底数对‎数函数Lo‎g[x]自‎然对数,即‎以e为底数‎的对数L‎o g[a,‎x]以a为‎底数的x的‎对数开方‎函数Sqr‎t[x]表‎示x的算术‎平方根绝‎对值函数A‎b s[x]‎表示x的绝‎对值三角‎函数(自‎变量的单位‎为弧度)S‎i n[x]‎正弦函数‎C os[x‎]余弦函数‎Tan[‎x]正切函‎数Cot‎[x]余切‎函数Se‎c[x]正‎割函数C‎s c[x]‎余割函数‎反三角函数‎A rcSi‎n[x]反‎正弦函数‎A rcCo‎s[x]反‎余弦函数‎A rcTa‎n[x]反‎正切函数‎A rcCo‎t[x]反‎余切函数‎A rcSe‎c[x]反‎正割函数‎A rcCs‎c[x]反‎余割函数‎双曲函数S‎i nh[x‎]双曲正弦‎函数Co‎s h[x]‎双曲余弦函‎数Tan‎h[x]双‎曲正切函数‎Coth‎[x]双曲‎余切函数‎S ech[‎x]双曲正‎割函数C‎s ch[x‎]双曲余割‎函数反双‎曲函数Ar‎c Sinh‎[x]反双‎曲正弦函数‎ArcC‎o sh[x‎]反双曲余‎弦函数A‎r cTan‎h[x]反‎双曲正切函‎数Arc‎C oth[‎x]反双曲‎余切函数‎A rcSe‎c h[x]‎反双曲正割‎函数Ar‎c Csch‎[x]反双‎曲余割函数‎求角度函‎数ArcT‎a n[x,‎y]以坐标‎原点为顶点‎,x轴正半‎轴为始边,‎从原点到点‎(x,y)‎的射线为终‎边的角,其‎单位为弧度‎数论函数‎G CD[a‎,b,c,‎...]最‎大公约数函‎数LCM‎[a,b,‎c,...‎]最小公倍‎数函数M‎o d[m,‎n]求余函‎数(表示m‎除以n的余‎数)Qu‎o tien‎t[m,n‎]求商函数‎(表示m除‎以n的商)‎Divi‎s ors[‎n]求所有‎可以整除n‎的整数F‎a ctor‎I nteg‎e r[n]‎因数分解,‎即把整数分‎解成质数的‎乘积Pr‎i me[n‎]求第n个‎质数Pr‎i meQ[‎n]判断整‎数n是否为‎质数,若是‎,则结果为‎T rue,‎否则结果为‎F alse‎Rand‎o m[In‎t eger‎,{m,n‎}]随机产‎生m到n之‎间的整数‎排列组合函‎数Fact‎o rial‎[n]或n‎!阶乘函数‎,表示n的‎阶乘复数‎函数Re[‎z]实部函‎数Im[‎z]虚部函‎数Arg‎(z)辐角‎函数Ab‎s[z]求‎复数的模‎C onju‎g ate[‎z]求复数‎的共轭复数‎Exp[‎z]复数指‎数函数求‎整函数与截‎尾函数Ce‎i ling‎[x]表示‎大于或等于‎实数x的最‎小整数F‎l oor[‎x]表示小‎于或等于实‎数x的最大‎整数Ro‎u nd[x‎]表示最接‎近x的整数‎Inte‎g erPa‎r t[x]‎表示实数x‎的整数部分‎Frac‎t iona‎l Part‎[x]表示‎实数x的小‎数部分分‎数与浮点数‎运算函数N‎[num]‎或num/‎/N把精确‎数num化‎成浮点数(‎默认16位‎有效数字)‎N[nu‎m,n]把‎精确数nu‎m化成具有‎n个有效数‎字的浮点数‎Numb‎e rFor‎m[num‎,n]以n‎个有效数字‎表示num‎Rati‎o nali‎z e[fl‎o at]将‎浮点数fl‎o at转换‎成与其相等‎的分数R‎a tion‎a lize‎[floa‎t,dx]‎将浮点数f‎l oat转‎换成与其近‎似相等的分‎数,误差小‎于dx最‎大、最小函‎数Max[‎a,b,c‎,...]‎求最大数‎M in[a‎,b,c,‎...]求‎最小数符‎号函数Si‎g n[x]‎Math‎e mati‎c a中的数‎学运算符‎a+b 加‎法a-b‎减法a*‎b (可用‎空格键代替‎*)乘法‎a/b (‎输入方法为‎:“ Ct‎r l ” ‎+ “ /‎” ) ‎除法a^‎b (输入‎方法为:“‎Ctrl‎” + ‎“ ^ ”‎)乘方‎-a 负号‎Math‎e mati‎c a的关系‎运算符=‎=等于<‎小于>大‎于<=小‎于或等于‎>=大于或‎等于!=‎不等于注‎:上面的关‎系运算符也‎可从基本输‎入工具栏输‎入。

Mathematica数学软件操作技巧及界面详解

Mathematica数学软件操作技巧及界面详解

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的进一步设置和功能扩展,比如图形面板、数据面板和设置面板等。

mathematic常用操作 (自动保存的)

mathematic常用操作 (自动保存的)

mathematic命令简表一、运算符及特殊符号Line1; 执行Line,不显示结果Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息??name 关于系统变量name的全部信息 !command 执行Dos命令n! N的阶乘!!filename 显示文件内容<<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 建立替换规则expr//funname 相当于filename[expr]expr/.rule 将规则rule应用于exprexpr//.rule 将规则rule不断应用于expr知道不变为止param_ 名为param的一个任意表达式(形式变量)param__ 名为param的任意多个任意表达式(形式变量)二、系统常数Pi 3.1415....的无限精度数值E 2.17828...的无限精度数值Catalan 0.915966..卡塔兰常数EulerGamma 0.5772....高斯常数GoldenRatio 1.61803...黄金分割数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六、多项式函数Variables[poly] 给出多项式poly中独立变量的列表CoefficientList[poly, var] 给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列表PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式 PolynomialQuotient[p, q, x] 以x为自变量的两个多项式之商式p/qPolynomialRemainder[p, q, x] 以x为自变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最大公因式PolynomialLCM[poly1,poly2,...] poly(i)的最小公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到一个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly中的数字公因子FactorTerms[poly, {x1,x2...}] 提出poly中与xi无关项的数字公因子FactorList[poly]给出poly各个因子及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly]FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第一项是数字公因子,第二项是与xi无关的因式,其后是与xi有关的因式按升幂的排列 Cyclotomic[n, x] n阶柱函数Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=polyInterpolatingPolynomial[data, var] 在数据data上的插值多项式data可以写为{f1,f2..}相当于{{x1=1,y1=f1}..}data可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..}可以指定数据点上的n阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产生type类型且在range范围内的均匀分布随机数type可以为Integer,Real,Complex,不写默认为Realrange为{min,max},不写默认为{0,1}Random[] 0~1上的随机实数SeedRandom[n] 以n为seed产生伪随机数如果采用了<<Statistics`ContinuousDistributions`后在2.0版本为<<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m"Random[distribution]可以产生各种分布如Random[BetaDistribution[alpha, beta]]Random[NormalDistribution[miu,sigma]]等常用的分布如BetaDistribution,CauchyDistribution,ChiDistribution,NoncentralChiSquareDistribution,ExponentialDistribution,ExtremeValueDistribution,NoncentralFRatioDistribution,GammaDistribution,HalfNormalDistribution, LaplaceDistribution,LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution,UniformDistribution, WeibullDistribution八、数值函数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] 解线性组合c.x在m.x>=b&&x>=0约束下的最小值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组vi的极小无关组数据处理:Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {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对复数数据进行付氏变换InverseFourier对复数数据进行付氏逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最小值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最大值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort将表中元素按升序排列Sort[list,p] 将表中元素按p[e1,e2]为True的顺序比较list的任两个元素e1,e2,实际上Sort中默认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] 类上FromDigitsIntegerDigits的反函数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...] 区间的交十二、矩阵操作a.b.c 或Dot[a, b, c] 矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k行与第nk列交换Det[m] 矩阵的行列式Eigenvalues[m] 特征值Eigenvectors[m] 特征向量Eigensystem[m] 特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性方程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[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].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个元素exprTable[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表{1,2,..,imax}Range[imin, imax, di] 以di为步长的数表Array[f, n] 一维表,元素为f (i从1到n)Array[f,{n1,n2..}] 多维表,元素为f[i,j..] (各自从1到ni)IdentityMatrix[n] n阶单位阵DiagonalMatrix对角阵元素操作Part[expr, i]或expr[]第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按顺序排列的表Reverse[expr] 把表expr倒过来RotateLeft[expr, n] 把表expr循环左移n次RotateRight[expr, n] 把表expr循环右移n次Partition[list, n] 把list按每n各元为一个子表分割后再组成的大表 Flatten抹平所有子表后得到的一维大表Flatten[list,n] 抹平到第n层Split把相同的元组成一个子表,再合成的大表FlattenAt[list, n] 把list[[n]]处的子表抹平Permutations由list的元素组成的所有全排列的列表Order[expr1,expr2] 如果expr1在expr2之前返回1,如果expr1在 expr2之后返回-1,如果expr1与expr2全等返回0Signature把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} 三维视点,默认为{1.3,-2.4,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度显示。

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

函数的随时定义:
请看下面的例子,定义函数 f(x)=xsinx+x2,对定义的函数我们可以求函数值,也可绘制它 的图形。 In[1]:=f[x_]=x*Sin[x]+x^2 Out[1]=x 2 +xSin[x] In[2]:=f[1] Out[2]=1+Sin[1] In[3]:=Plot[f[x],{x,-3,3}] 对于定义的函数我们可以使用命令 Clear[f]清除掉,而 Remove[f]则从系统中删除该函数。 求导: In[3]:=D[Sin[x^6],x]
2.解的纯函数形式
使用 DSolve 命令可以给出解的纯函数形式,即 y,请分析下面的例子: In[5]:= DSolve[y ’[x]==2y[x],y,x] Out[5]={{y→Function[{x},e 2 x C[1]]}} In[6]:=DSolve[y’[x]+ 2y[x]+1==0,y,x] Out[6]={{y→Function[{x},
微分方程的求解 微分方程解
在 Mathematica 中使用 DSolve[]可以求解线性和非线性微分方程, 以及联立的微分方程 组。在没有给定方程的初值条件下,我们所得到的解包括 C[1],C[2]是待定系数。求解微分 方程就是寻找未知的函数的表达式,在 Mathematica 中,方程中未知函数用 y[x]表示,其微 分用 y’[x],y’’[x]等表示。下面给出微分方程(组)的求解函数: DSolve[eqn,y[x],x] 求解微分方程函数 y[x] DSolve[eqn,y,x] 求解微分方程函数 y DSolve[{eqn1,eqn2,…},{y1,y2,….},x] 求解微分方程组
y→Function[{x},
1 1 x e - (-1+ e 2 x )C[1]+ e - x (1+e 2 x )C[2]]}} 2 2
4.带初始条件的微分方程的解
当给定一个微分方程的初始条件可以确定一个待定系数。请看下面的例子 In[11]:=DSolve[{y’[x]== y[x],y[0]==5},y[x],x] Out[11]={{y[x]→5e x}} In[12]:=DSolve[{y’’[x]== y[x],y’[0]==0},y[x],x] Out[12]={{y[x]→e - x (1+ e 2 x )C[2]}} 由于给出一个初始条件所以只能确定 C[1]
1 +e -2 x C[1]]}} 2
In[7]:=DSolve[y’’[x]+ 2y ’[x]+ y[x]==0,y,x] Out[7]={{y→Function[{x},e - x C[1]+ e - x xC[2]]}} 这里 y 适合 y 的所有情况下面的例子可以说明这一点 In[8]:=y[x]+y’[x]+y[0]/.% Out[8]= {C[1]+ e - x C[2]} 在标准数学表达式中, 直接引入亚变量表示函数自变量, 用此方法可以生成微分方程的 解。如果需要的只是解的符号形式,引入这样来变量很方便。然而,如果想在其他的的计算 中使用该结果,那么最好使用不带亚变量的纯函数形式的结果。
方程求根【或者不等式的解集】
例如用 Roots[lhs==rhs,vars]求方程 x 2-3x+2=0 的根显示为: In[1]:=Roots[x^2-3x+3==0,x] Out[1]=x==1||x==2 这种表示形式说明 x 取 1 或 2 均可 而用 Solve[lhs==rhs,vars]可得解集形式: In[2]:=Solve[x^2-3x+3==0,x] Out[2]={{x→1},{x→2}} 例如求 x 3 +5x+3=0 In[4]:=Solve[x^3+5x+3==0,x] 这时可用 N 函数近似数值解: In[5]:=N[%] Out[5]= {{x→-0.5641},{x→0.28205-2.28881i},{x→0.28205+2.28881i}}
In[3]:=DSolve[y’’[x]+ 2y ’[x]+ y[x]==0,y[x],x] Out[3]={{y[x]→e - x C[1]+ e - x xC[2]}} 解 y[x]仅适合其本身,并不适合于 y[x]的其它形式,如 y’[x],y[0]等,也就是说 y[x] 不是函数,例如我们如果有如下操作,y ’[x],y[0]并没有发生变化: In[4]:=y[x]+y[0]+y’[x]/.% Out[4]= {e - x C[1]+ e - x xC[2]+y[0]+y’[x]}
求方程组的根
使用 Solve,NSolve 和 FindRoot 也可求方程组的解,只是使用时格式略有不同,下面给出 一个 Solve 函数的例子: 求解 In[10]:=Slove[{2*x+3*y==9,x-2*y==1},{x,y}] Out[10]= {{x→3, y→1}} 3 求方程的全解 如果我们求 ax 2 +bx+c=0 的根,我们用 Solve 函数解的结果是: In[11]:=Solve[a*x^2+b*x+c==0,x] Out[11]={{ x→ },{ x→ }} 这显然是不合理的,因为对不同的 a,b,c 方程的解有不同的情况,而上面只是给出部分解如 果要解决这个问题可用 Reduce 命令,它可根据 a,b,c 的取值给出全部值。 In[12]:=Reduce[a*x^2+b*x+c==0,x] Out[12]= a≠0 && (x== || x== || a==0 && b≠0 && x== ||c==0 && b==0 && a==0 因此 Solve,Roots 只给出方程的一般解,而 Reduce 函数数可以给出方程的全部可能解。
余弦级数:FourierCosSeries[������ 2 , ������, 5] ������ 2 1 1 1 1 + 4(−Cos[������] + Cos[2������] − Cos[3������] + Cos[4������] − Cos[5������]) 3 4 9 16 25 图像:Plot[%, {������, −3Pi, 3Pi}]
常用的符号
(term) f[x] {} [[i]] % %% %%%(k) %n 圆括号用于组合运算 方括号用于函数 花括号用于列表 双括号用于排序 代表最后产生的结果 倒数第二次的算结果 倒数第 k 次的计算结果 例出行 Out[n]的结果(用时要小心)
具体的函数:
Floor[x] 不比 x 大的最大整数 Ceiling[x] 不比 x 小的最小整数 Sign[x] 符号函数 Round[x] 接近 x 的整数 Abs[x] x 绝对值 Max[x1,x2,x3……..] x1 ,x2,x3…….中的最大值 Min[x1,x2,x3……..] x1,x2,x3…….中的最小值 Random[] 0~1 之间的随机函数 Random[R,xmax] 0~xmax 之间的随机函数(R 为 Real,Integer,Complex 之一) Random[R,{xmin,xmax}] xmin~xmax 之间的随机函数(R 为 Real,Integer,Complex 之一) Exp[x] 指数函数 e x Log[x] 自然对数函数 lnx Log[b,x] 以 b 为底的对数函数 Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x] 三角函数(变量是以弧度为单位的) ArcSin[x],ArcCos[x],ArcTan[x],ArcCsc[x],ArcSec[x],ArcCot[x] 反三角函数 Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x],Coth[x] 双曲函数 ArcSinh[x], ArcCosh[x], ArcTanhx[x], ArcCsch[x],ArcSech[x],ArcCoth[x] 反双曲函数 Mod[m,n] m 被 n 整除的余数,余数与 n 同号 Quotient[m,n] m/n 的整数部分 GCD[n1,n2,n3……]或 GCD[s] n1,n2,… 或 s 的最大公约数,s 为数据集合 LCM[n1,n2……]或 LCM[s] n1,n2… 或 s 的最小公倍数,s 为数据集合 N! N 的阶乘 N!! N 的双阶乘
3.求微分方程组
请分析下面的例子 In[9]:=DSolve[{y[x]==-z ’[x],z[x]==-y’[x]},{y[x],z[x]},x] Out[9]={{z[x]→
1 x 1 e - (1+ e 2 x )C[1] - e - x (-1+e 2 x)C[2], 2 2 1 1 x e - (-1+ e 2x )C[1]+ e - x (1+e 2 x )C[2]}} 2 2
y[x] →
当然微分方程组也有纯函数形式: In[10]:=DSolve[{y[x]==-z ’[x],z[x]==-y’[x]},{y,z},x] Out[10]={{z→Functio1] - e - x (-1+e 2 x)C[2]], 2 2
常用的命令
Expand[ploy] ExpandAll[ploy] Factor[ploy] FactorTerms[ploy,{x,y,…}] Simplify[poly] FullSimplify[ploy] Collect[poly,x] Collect[poly,{x,y…}] 按幂次展开多项式 ploy 全部展开多项式 ploy 对多项式 poly 进行因式分解 按变量 x,y,…进行分解 把多项式化为最简形式 把多项式化简 把多项式 poly 按 x 幂展开 把多项式 poly 按 x,y….的幂次展开
相关文档
最新文档