Mathematica运算 Mathematica 基本运算 a+ mathematica数学实验(第2版) b+c 加 a-b 减 a b c 或 a*b*c 乘 a/b 除 -a 负号 a^b 次方 Mathematica 数字的形式 256 整数 2.56 实数 11/35 分数 2+6I 复数 常用的数学常数 Pi 圆周率,π=3.141592654… E 尤拉常数,e=2.71828182… Degree 角度转换弧度的常数,Pi/180 I 虚数,其值为 √-1 Infinity 无限大 指定之前计算结果的方法 % 前一个运算结果 %% 前二个运算结果 %%…%(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的值设为a x=y=b 将变数x和y的值均设为b x=. 或 Clear[x] 除去变数x所存的值 变数使用的一些法则 xy 中间没有空格,视为变数xy x y x乘上y 3x 3乘上x x3 变数x3 x^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均代换成value expr/.{x->value1,y->value2,…} 执行数个不同变数的代换 expr/.{{x->value1},{x->value2},…} 将 expr代入不同的x值 expr//.{x->value1,y->value2,…} 重复代换到 expr不再改变为止 求 解方程式的根 Solve[lhs==rhs,x] 解方程式lhs==rhs,求x Nsolve[lhs==rhs,x] 解方程式lhs==rhs的数值解 Solve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式,求x,y,… NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}] 解联立方程式的数值解 FindRoot[lhs==rhs,{x,x0}] 由初始点x0求lhs==rhs的根 Mathematica 的四种括号 (term) 圆括号,括号内的term先计算 f[x] 方括号,内放函数的引数 {x,y,z} 大括号或串列括号,内放串列的元素 p[[i ]] 或 Part[p,i] 双方括号,p的第i项元素 p[[i,j]] 或 Part[p,i,j] p的第i项第j个元素 缩短Mathematica输出的指令 expr//Short 显示一行的计算结果 Short[expr,n] 显示n行的计算结果 Command; 执行command,但不列出结果 查询Mathematica的物件 ?Command 查询Command的语法及说明 ??Command 查询Command的语法和属性及选择项 ?Aaaa* 查询所有开头为Aaaa的物件 函数的定义、查询与清除 f[x_]= expr 立即定义函数f[x] f[x_]:= expr 延迟定义函数f[x] f[x_,y_,…] 函数f有两个以上的引数 ?f 查询函数f的定义 Clear[f] 或 f=. 清除f的定义 Remove[f] 将f自系统中清除掉 含有预设值的Pattern a_+b_. b的预设值为0,即若b从缺,则b以0代替 x_ y_ y的预设值为1 x_^y_ y的预设值为1 条件式的自订函数 lhs:=rhs/;condition 当condition成立时,lhs才会定义成rhs If指令 If[test,then,else] 若test为真,则回应then,否则回应else If[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] 全微分df Dt[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 大于等于 a<b 小于 a<=b 小于等于 a!=b 不等于 逻辑运算子 !p not p||q||… or p&&q&&… and Xor[p,q,…] exclusive or LogicalExpand[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轴之标记。若设定为AxesLabel->{?xlabel?,?ylabel?} ,则为{x轴,y轴}的标记 AxesOrigin Automatic 坐标轴的相交的点 DefaultFont $DefaultFont 图形里文字的预设字型 Frame False 是否将图形加上外框 FrameLabel False 从x轴下方依顺时针方向加上图形外框的标记 FrameTicks Automatic (如果Frame设为True)为外框加上刻度; None则不加刻度 GridLines None 设Automatic则于主要刻度上加上网格线 PlotLabel None 整张图之图名 PlotRange Automatic 指定y方向画图的范围 Ticks Automati 坐标轴之刻度,设None则没有刻度记号出现 ※“Automatic、None、True、False”为Mathmatica常用的选项设定,其代表意义分别为“使用内部设定、不包含此项、作此项目、不作此项目”。 串列绘图 ListPlot[{y1,y2,…}] 画出{1,y1},{2,y2},…的点 ListPlot[{{x1,y1},{x2,y2},…}] 画出{x1,y1},{x2,y2},…的点 ListPlot[{{x1,y1},{x2,y2},…},PlotJoined->True] 把画出来的点用线段连接 绘图颜色的指定 Plot[{f1,f2,…},{x,xmin,xmax}, PlotStyle->{RGBColor[r1,g1,b1],RGBColor[r2,g2,b2],…}] 彩色绘图 Plot[{f1,f2,…},{x,xmin,xmax}, PlotStyle->{GrayLevel , GrayLevel[j],…}] 灰阶绘图 图形处理指令 Show[plot] 重画一个图 Show[plot1,plot2,…] 将数张图并成一张 Show[plot,option->opt] 加入选项 图形之排列 Show[GraphicsArray[{plot1,plot2,…}]] 将图形横向排列 Show[GraphicsArray[{,,…}]] 将图形垂直排列 Show[GraphicsArray[{{plot1,plot2,…},…}]] 将图形成二维 矩阵 式排列 二维参数图 ParametricPlot[{f1,f2},{t,tmin,tmax}] 参数绘图 ParametricPlot[{{f1,f2},{g1,g2},…},{t,tmin,tmax}] 同时绘数个参数图 ParametricPlot[{f1,f2},{t,tmin,tmax},AspectRatio->Automatic] 保持 曲线 的真正形状,即x,y坐标比为1:1 等高线图 ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 于指定范围之内画出f的等高线图 ContourPlot[]的选项 选项 预设值 说明 ColorFunction Automatic 上色的预设值为灰阶,选Hue则为系列色彩 Contours 10 等高线的数目。设Contours->{z1,z2,…}则指定等高值为z1,z2,… ContourShading True Contour的上色,选False则不上色 PlotRange Automatic 高度z值的范围,也可指定{zmin,zmax}