Mathematica词汇 练习系统--谭宇柱
Mathematica教程-2常用的数学函数

。
Round[x]: 最接近x的整数 Floor[x]: 不大于x的最大整数 Ceiling[x]: 不小于x的最小整数 Abs[x]: x的绝对值或复数的摸 x+Iy : 复数x+iy;Re[z]: 复数z的实部 Im[z]: 复数z的虚部;Arg[z]: 复数z的幅角 Divisors[n]: 能整除n的所有整数组成的表 Mod[m,n]: m被n除的正余数 Quotient[m,n]: m/n的整数部分 GCD[n1,n2……]: 求n1,n1,……的最大公因数 LCM[n1,n2……]: 求n1,n2,……的最小公倍数
函数的立即定义
立即定义函数的语法如下f[x_]=expr函数名为f, 自变量为x,expr是表达式。在执行时会把expr 中的x都换为f的自变量x(不是x_)。函数的自变 量具有局部性,只对所在的函数起作用。函数 执行结束后也就没有了,不会改变其它全局定 义的同名变量的值。例: 定义函数f(x)=x*Sinx+x2, 对定义的函数求函数 值,并绘制它的图形。
当然使用If命令也可以定义上面的函数
表
将一些相互关联的元素放在一起,使它们成 为一个整体。既可以对整体操作,也可以对 整体中的一个元素单独进行操作。在 Mathematica中这样的数据结构就称作表 (List)。表主要有三个用法:表{a,b,c} 可以表示一个向量;表{{a,b},{c,d}}可表示一 个矩阵。
常用函数的命令格式
三角函数 :Sin[x],Cos[x] ,Tan[x] ,Cot[x] 等
反三角函数 :ArcSin[x] ,ArcCos[x] ,ArcTan[x]等 双曲函数与反双曲函数 :Sinh[x] ,Cosh[x] ,Tanh[x], ArcSinh[x],ArcCosh[x],ArcTanh[x] 指数函数E^x(或Exp[x]),指数函数a^x
(完整版)Mathematica入门教程含习题与答案

Mathematica入门教程第1篇第1章MATHEMATICA概述 (3)1.1 M ATHEMATICA的启动与运行 (3)1.2 表达式的输入 (4)1.3 M ATHEMATICA的联机帮助系统 (6)第2章MATHEMATICA的基本量 (8)2.1 数据类型和常数 (8)2.2 变量 (10)2.3 函数 (11)2.4 表 (14)2.5 表达式 (17)2.6 常用的符号 (19)2.7 练习题 (19)第2篇第3章微积分的基本操作 (20)3.1 极限 (20)3.2 微分 (20)3.3 计算积分 (22)3.4 无穷级数 (24)3.5 练习题 (24)第4章微分方程的求解 (26)4.1 微分方程解 (26)4.2 微分方程的数值解 (26)4.3 练习题 (27)第3篇第5章MATHEMATICA的基本运算 (28)5.1 多项式的表示形式 (28)5.2 方程及其根的表示 (29)5.3 求和与求积 (32)5.4 练习题 (33)第6章函数作图 (35)6.1 基本的二维图形 (35)6.2 二维图形元素 (40)6.3 基本三维图形 (42)6.4 练习题 (46)第4篇第7章MATHEMATICA函数大全 (48)7.1 运算符和一些特殊符号,系统常数 (48)7.2 代数计算 (49)7.3 解方程 (50)7.4 微积分 (50)7.5 多项式函数 (51)7.6 随机函数 (52)7.7 数值函数 (52)7.8 表相关函数 (53)7.9 绘图函数 (54)7.10 流程控制 (57)第8章MATHEMATICA程序设计 (59)8.1 模块和块中的变量 (59)8.2 条件结构 (61)8.3 循环结构 (63)8.4 流程控制 (65)8.5 练习题 (67)--------------习题与答案在68页-------------------第1章Mathematica概述1.1 Mathematica的启动与运行Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。
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[12Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。
Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。
当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。
一.数的表示及计算1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。
例如:你输入In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.0732,另外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应用于expr expr..的无限精度数值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^-10Accuracy[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,..}]]前插入elemv1.0 可编辑可修改 Delete[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对应的blockiv1.0 可编辑可修改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,内容全面,循序渐近,非常容易学习使用。
mathmetical

120第十章 附录10.1 Notebook 文件的存取用户在Mathematica 的Notebook 用户区使用完Mathematica 想退出Mathematica 系统或想调用以前的Notebook 文件,就涉及到Notebook 文件的存取操作。
保存一个Notebook 文件用户在Notebook 用户区使用完Mathematica 或因为有事要中途退出Mathematica 系统,退出时想保留调在Notebook 用用户区的内容以便下次调用,这种保存Notebook 文件的操作为:1)用鼠标点击Mathematica 系统集成界面右上角的关闭按钮,屏幕出现一个对话框,询问是否保存用户区的内容, 如图:图10.1 提示保存文件对话框2) 如果单击对话框的“否(N)”按钮, 则不保存Notebook 中的文件, 退出Mathematica 系统; 如果单击对话框的“取消”按钮,则返回Mathematica 系统集成界面;如果单击对话框的“是(Y)”按钮, 则在保存Notebook 文件窗口的左上部分的文件名窗口先提示你用一个具有扩展名为 .ma 的文件名来保存用户区内的内容, 如果你想以另一个文件名保存该文件,可以在文件名窗口键入你自己的文件名,并选择好驱动器(Drives)和子目录(Directories)然后单击OK 按钮,既可以达到保存Notebook 文件在相应驱动器的对应目录下的目的,同时退出Mathematica 系统。
Notebook 文件窗口如图:图10.2 保存Notebook文件窗口打开一个Notebook文件用户在Mathematica 的Notebook用户区如果要打开一个Notebook文件,对应的打开Notebook文件的操作为:1)在在Mathematica的工作窗口键入Ctrl+ O,调出如下Open窗口:图10.3 打开Notebook文件窗口2)在打开Notebook文件窗口中的文件名窗口键入想要打开的文件名,并选择好对应的驱动器(Drives)和子目录(Directories), 然后单击OK按钮,既可以把对应的Notebook文件调入Notebook工作区。
Mathematica中的常用函数命令

第8章Mathematica中的常用函数8.1 运算符及特殊符号Linel 执行Line,不显示结果Linel,line2 顺次执行Line1,Line2,并显示结果?name 关于系统变量name的信息??name 关于系统变量name的全部信息!command 执行Dos命令N! N的阶乘!!filename 显示文件内容<<filename 读入文件并执行Expr:>>filename 打开文件写Expr>>>filename 打开文件从文件末写( ) 结合率[ ] 函数{ } 一个表<*MathFun*> 在c语言中使用math的函数(*Note*) 程序的注释#n 第n今参数## 所有参数Rule& 把rule作用于后面的式子% 前一次的输出%% 倒数第二次的输出Var::mote 变量var的注释“Astring”字符串Context 上下文A+b 加a-b 减A*b或ab 乘A/b 除8.2 系统常量Pi 3.1415的无限精度数值E 2.17828的无限精度数值Catalan 0.915966Catalan常数EulerGamma 0.5772Euler常数Khinchin 2.68545KhinchinGlaisher 0.915966GlaisherGoldenRatio 1.61803黄金分割数Degree π/l80角度弧度换算I 复数单位Infinity 无穷大-Infinity 负无穷大Complexlnfinity 复无穷大Indeterminate 不定式8.3 代数计算Expand[expr] 展开表达式Factor[expr] 展开表达式Simplify[expr] 化简表达式FullSimplify[expr] 将特殊函数也进行化简PowerExpand[expr] 展开所有的幂次形式ComplexExpand[expr,{x1,x2…}] 按复数实部虚部展开FunctionExpand[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] 展开表达式FactorTermsrpoly] 提出共有的数字因子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的分子部分8.4 解方程Solve[eqns,vats] 从方程组eqns中解出VatsSolve[eqns,vats,elims] 从方程组eqns中削去变量elims,解出vats DSolve[eqn,y,x] 解微分方程,其中、y是x的函数DSolve[{eqnl,eqn2,…},{y1,y2…},] 解微分方程组,其中yi是x的函数DSolve[eqn,y,{x1,x2…}]解偏微分方程Eliminate[eqns,Vats] 把方程组eqns中变量vars约去SolveAlways[eqns,vars] 给出等式成立的所有参数满足的条件Reduce[eqns,Vats] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和,,将逻辑表达式展开InverseFunction[f] 求函数f的反函数Root[f,k] 求多项式函数的第k个根Roots[1hs==rhs,var] 得到多项式方程的所有根8.5 微积分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阶全微分d^nf/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幂级数展开,再对x幂级数展开Normal[expr] 化简并给出最常见的表达式SeriesCoefficient[series,n] 给出级数中第n次项的系数SeriesCoefficient[series,{n1,n2…}] 一阶导数InverseSeries[s,x] 给出逆函数的级数ComposeSeries[seriel,serie2…] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den] 表示一个x0处x的幂级数O[x]^n n阶小量x^n8.6 多项式函数Variables[poly] 给出多项式poly中独立变量的列表CoefficientList[poly,var] 给出多项式poly中变量var的系数CoefficientList[poly,{varl,var2…}]给出多项式poly中变量var(i)的系数列PolynomialMod[poly,m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p,q,x] 以x为自变量的两个多项式之商式p/PolynomialRemainder[p,q,x] 以x为自变量的两个多项式之余式P01ynomialGCD[polyl,poly2,...] poly(i)的最大公因式PolynomialLCM[polyl,poly2....] poly(i)的最小公倍式PolynomialReduce[pjoly,{polyl,Poly2,..},{xl,x2…}) 得到一个表I(a1,a2,·),b)其中Sumld*polyi]+b=polyResultant[polyl,poly2,var] 约去polyl,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly中的数字公因子FactorTerms[poly,{x1,x2…}] 提出poly中与xi无关项的数字公因子FactorList[poly],FactorSquareFreeList[poly],FactorTermsList[poly,{x1,x2…}] 给出各个因式列表Cyclotomic[n,x] n阶柱函数Decomposet[poly,x] 迭代分解,给出{p1,p2,...},其中P1(p2(…))=poly InterpolafinSPolynomial[data,Var] 在数据data上的插值多项式RootSum[f,form] 得到f[x]=0的所有根,并求得Sum[form[xi]]8.7 随机函数Random[type,range] 产生type类型且在range范围内的均匀分布随机数Random[] 0-1上的随机实数SeedRandom[n] 以n为seed产生伪随机数Random[distribution] 可以产生各种分布8.8 数值函数N[expr] 表达式的机器精度近似值N[expr,n] 表达式的n位近似值,n为任意正整数NSolve[1hs==rhs,val] 求方程数值解Nsolve[eqn,Var, n] 求方程数值解,结果精度到n位NDSolve[eqns,y,{x,xmin,xmax}] 微分方程数值解NDSolve[eqns,{y1,y2,…},{x,xmin,xmax}] 微分方程组数值解FindRoot[1hs==rhs,{x,x0}] 以x0为初值,寻找方程数值解FindRoot[1hs==rhs,{x,xstart,xmin,xmax}] 以xstart为初值,在[xmin,xmax]范围内寻找方程数值解NSum[f,{imin,imax,di}] 数值求和,di为步长NSum[f,{imin,imax,di},{jmin,jmax,dj},..] 多维函数求和NProduct[f,{i,imin,imax,di}] 函数求积NIntegrate[f,{x,xmin,xmax}] 函数数值积分FindMinimum[f,{x,x0}] 以x0为初值,寻找函数最小值FindMinimum[f,{x,xstart,xmin,xmax}] 以xstart为初值,在[xmin,xmax]范围内寻找函数最小值ConstrainedMin[f,{inequ},{x,y,..}] inequ为线性不等式组,f为x,y,…之线性函数,得到最小值及此时的x,y,…取值ConstrainedMax[f,{inequ},{x,y,..}] inequ为线性不等式组,f为x,y,…之线性函数,得到最大值及此时的x,y,…取值LinearProgramming[C,m,b] 解线性组合C*x在m*x>=b&&x>=0约束下的最小值,x,b,C为向量,m为矩阵LatticeReduce[{v1,v2...}] 向量组Vi的极小无关组Fit[data,funs,vats] 用指定函数组对数据进行最小二乘拟合Interpolation[data] 对数据进行插值Lisfinterpolation[array] 对离散数据插值,array可为n维ListInterpolafion[array,{{xmin,xmax},{min,ymax},..}] 在特定网格上进行插值FunctionInterpolation[expr,{x,xmin,xmax},{y,ymin,ymax},..] 以对应expr[xi,yi]的数值为数据进行插值Fourier[list] 对复数数据进行傅氏变换InverseFourier[list] 对复数数据进行傅氏逆变换8.9 表的操作(1)制表函数{e1,e2,...} 一个表,元素可以为任意表达式,无穷嵌套Table[expr,{imax}] 生成一个表,共imax个元素Table[expr,{i,imax}] 生成一个表,共imax个元素expr间Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表(1,i+,imax)Range[imin,imax,di] 从imin到imax,以di为步长的数表Array[f,n] 一维表,元素为f…(i从1到n)Array[f,{n1,n2..}] 多维表,元素为f (各自从1到ni)IdentityMatrix[n] n阶单位阵DiagonalMatrix[list] 对角阵(2)元素操作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[USt,crit] 把crit作用到每一个list的元素上,为True的所有元素组成的表Length[expr] expr第一层元素的个数Dimensions[expr] 表的维数返回(n1,n2..),expr为一个nl*n2…的阵TensorRank[expr] 秩Depth[expr] expr最大深度Level[expr,n] 给出expr中第n层子表达式的列表Count[USt,paUem] 满足模式的list中元素的个数MembefQ[1ist,form] list中是否有匹配form的元素FreeQ[expr,form] MemberQ的反函数FreeQ[expr,form] 表中匹配模式pattern的元素的位置列表Cases[{e1,e2…},pattem] 匹配模式pattem的所有元素ei的表(3) 表的操作Append[exp[elem] 返回在表expr的最后追加elem元素后的表Prepend[expr,elem] 返回在表expr的最前添加elem元素后的表Insert[1ist,elem,n] 在第n元素前插入elemlnsert[expr,elem,{i,j,...}] 在元素expr[[{i,j,..}]]前插入elemDelete[expr,{i,j,..}] 删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattem] 删除匹配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[1ist] 抹平所有子表后得到的一维大表Flatten[1ist,n] 抹平到第n层Split[1ist] 把相同的元素组成一个子表,再合成的大表8.10 绘图函数(1)二维绘图Plot[f,{x,xmin,xmax}] 一维函数f[x]在区间[xmin,xmax]上的函数曲线Plot[{fl,f2..},{x,xmin,xmax}] 在同一图形上画几条曲线ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},…}] 绘出由离散点对(xn,ynl)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参数方程在参数变化范围内产生的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,truax}] 由参数方程组在参数变化范围内产生的曲线(2)二维设置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 曲线取样点,越大越细致(3)三维绘图Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] 二维函数flx,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}] 三维参数图形ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 二维函数f(x,y)在指定区间上的等高线图ListContourPlot[array] 二维函数f(x,y)在指定array上的等高线图(4)三维设置Contours->n 画n条等高线Contours->{z1,z2,...} 在zi处画等高线ContourShading->False 是否用深浅染色ContourLines->True 是否画等高线ContourStyle->{{stylel},{style2},..} 等高线线性颜色等属性(5)密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 二维函数f[x,y]在指定区间上的密度图ListDensityPlot[array] 二维函数f[x,y]在指定array上的密度图(6)图形显示Show[graphics,options] 显示一组图形对象,options为选项设置Show[g1,g2,…] 在一个图上叠加显示一组图形对象GraphicsArray[{g1,g2,...}] 在一个图上分块显示一组图形对象SelectionAnimate[notebook,t] 把选中的notebook中的图画循环放映(7)图元函数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,2},在指定位置画点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}] 从角度al-a2的圆弧Disk[{x,y},r] 填充的园、椭圆、圆弧等参数同上Raster[array,ColorFunction->f] 颜色栅格Text[expr,coords] 在坐标coords上输出表达式PostScrip["string"] 直接用Postscript图元语言写Scaled[{x,y...}] 返回点的坐标,且均大于0小于1(8)着色及其他GrayLevel[level] 灰度level为0~1间的实数RGBColor[red,green,blue] RGB颜色,均为0~I间的实数Hue[h,s,b] 亮度,饱和度等,均为0~1间的实数CMYKColor[cyan,magenta,yellow,block] CMYK颜色Thicknessr[r] 设置线宽为rPointSize[d] 设置绘点的大小Dashing[{r1,r2,...}] 画一个单元的间隔长度的虚线ImageSize->{x,y} 显示图形大小(单位为像素)8.11 流程控制If[condition,t,f] 如果condition为True,执行t,否则执行f段if[condition,t,f,u] 如果condition为Tme,执行t,为False执行f,既非True又非False,则执行u段Which[test1,blockl,test2,block2..] 执行第一为True的tesfi对应的blocki Switch[expr,forml,blockl,form2,block2...] 重复执行expr imax次Do[expr,{imax}] 重复执行expr imax次Do[expr,{i,imin,imax},{j,jmin,jmax}] 多重循环While[test,body] 循环执行body直到test为FalseFor[start,test,incr,body] 循环执行body直到test为FalseThrow[value] 停止计算,把value返回给最近一个Catch处理Throw[value,tag] 停止计算,把value返回给最近一个Catch处理Catch[expr] 计算expr,遇到Throw返回的值则停止Catch[expr,form] 当Throw[value,tag]中Tag匹配form时停止Return[expr] 从函数返回,返回值为exprReturn[] 返回值NullBreakl[] 结束最近的一重循环Continuel[] 停止本次循环,进行下一次循环Goto[tag] 无条件转向Label[Tag]处Label[tag] 设置一个断点Check[expr,fmlexpr] 计算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[exprl,expr2,...] 顺次输出expri的值Input[] 产生一个输入对话框,返回所输入的任意表达式Input["prompt"] 同上,prompt为对话框的提示Pause[n] 运行暂停n秒。
Mathematica使用教程

Mathematica 使用教程一、要点●Mathematica 是一个敏感的软件. 所有的Mathematica 函数都以大写字母开头; ●圆括号<>,花括号{ },方括号[]都有特殊用途, 应特别注意; ●句号".",分号";",逗号","感叹号"!"等都有特殊用途, 应特别注意; ● 用主键盘区的组合键Shfit+Enter 或数字键盘中的Enter 键执行命令.二、介绍案例1. 输入与输出例1 计算 1+1:在打开的命令窗口中输入1+2+3并按组合键Shfit+Enter 执行上述命令,则屏幕上将显示:In[1] : =1+2+3Out[1] =6这里In[1] : = 表示第一个输入,Out[1]= 表示第一个输出,即计算结果.2. 数学常数Pi 表示圆周率π; E 表示无理数e; I 表示虚数单位i ;Degree 表示π/180; Infinity 表示无穷大.注:Pi,Degree,Infinity 的第一个字母必须大写,其后面的字母必须小写.3. 算术运算Mathematica 中用"+"、"-"、"*"、"/" 和"^"分别表示算术运算中的加、减、乘、除和乘方.例2计算 π⋅⎪⎭⎫ ⎝⎛⋅+⎪⎭⎫ ⎝⎛⋅--213121494891100. 输入 100^<1/4>*<1/9>^<-1/2>+8^<-1/3>*<4/9>^<1/2>*Pi 则输出 3103π+ 这是准确值. 如果要求近似值,再输入N[%]则输出 10.543这里%表示上一次输出的结果,命令N[%]表示对上一次的结果取近似值. 还用 %% 表示上上次输出的结果,用 %6表示Out[6]的输出结果.注:关于乘号*,Mathematica 常用空格来代替. 例如,x y z 则表示x*y*z,而xyz 表示字符串,Mathematica 将它理解为一个变量名. 常数与字符之间的乘号或空格可以省略.4. 代数运算例3分解因式 232++x x输入 Factor[x^2+3x+2]输出 )x 2)(x 1(++例4展开因式 )2)(1(x x ++输入 Expand[<1+x><2+x>]输出 2x x 32++例5通分 3122+++x x 输入 Together[1/<x+3>+2/<x+2>]输出)x 3)(x 2(x 38+++ 例6将表达式 )3)(2(38x x x +++ 展开成部分分式 输入 Apart[<8+3x>/<<2+x><3+x>>]输出 3x 12x 2+++ 例7化简表达式 )3)(1()2)(1(x x x x +++++输入 Simplify[<1+x><2+x>+<1+x><3+x>]输出 2x 2x 75++三、部分函数1. 部函数Mathematica 系统部定义了许多函数,并且常用英文全名作为函数名,所有函数名的第一个字母都必须大写,后面的字母必须小写. 当函数名是由两个单词组成时,每个单词的第一个字母都 必须大写,其余的字母必须小写. Mathematica 函数<命令>的基本格式为函数名[表达式,选项]下面列举了一些常用函数: 算术平方根x Sqrt[x]指数函数x e Exp[x]对数函数x a log Log[a,x]对数函数x ln Log[x]三角函数 Sin[x], Cos[x], Tan[x], Cot[x], Sec[x], Csc[x]反三角函数ArcSin[x], ArcCos[x], ArcTan[x],ArcCot[x], AsrcSec[x], ArcCsc[x]双曲函数 Sinh[x], Cosh[x], Tanh[x],反双曲函数 ArcSinh[x], ArcCosh[x], ArcTanh[x]四舍五入函数 Round[x] <*取最接近x 的整数*>取整函数 Floor[x] <*取不超过x 的最大整数*>取模 Mod[m,n] <*求m/n 的模*>取绝对值函数 Abs[x]n 的阶乘 n!符号函数 Sign[x]取近似值 N[x,n] <*取x 的有n 位有效数字的近似值,当n 缺省时,n 的默认值为6*>例8求π的有6位和20位有效数字的近似值.输入 N[Pi] 输出 3.14159输入 N[Pi, 20] 输出 3.85注:第一个输入语句也常用另一种形式:输入 Pi//N 输出 3.14159例9计算函数值 <1> 输入 Sin[Pi/3] 输出23 <2> 输入 ArcSin[.45] 输出 0.466765<3> 输入 Round[-1.52] 输出 -2例10计算表达式 )6.0arctan(226sin 2ln 1132+-+-e π 的值 输入 1/<1+Log[2]>*Sin[Pi/6]-Exp[-2]/<2+2^<2/3>>*ArcTan[.6]输出 0.2749212. 自定义函数在Mathematica 系统,由字母开头的字母数字串都可用作变量名,但要注意其中不能包含空格或标点符号.变量的赋值有两种方式. 立即赋值运算符是"=",延迟赋值运算符是": =". 定义函数使用的符号是延迟赋值运算符": =".例11定义函数 12)(23++=x x x f ,并计算)2(f ,)4(f ,)6(f .输入Clear[f,x]; <*清除对变量f 原先的赋值*>f[x_]:=x^3+2*x^2+1; <*定义函数的表达式*>f[2] <*求)2(f 的值*>f[x]/.{x->4} <*求)4(f 的值,另一种方法*>x=6; <*给变量x 立即赋值6*>f[x] <*求)6(f 的值,又一种方法*>输出1797289注:本例1、2、5行的结尾有";",它表示这些语句的输出结果不在屏幕上显示.四、解方程在Mathematica 系统,方程中的等号用符号"=="表示. 最基本的求解方程的命令为Solve[eqns, vars]它表示对系数按常规约定求出方程<组>的全部解,其中eqns 表示方程<组>,vars 表示所求未知变量.例12解方程0232=++x x输入 Solve[x^2+3x+2==0, x]输出 }}1x {},2x {{-→-→例13解方程组 ⎩⎨⎧=+=+10dy cx by ax 输入 Solve[{ax + b y == 0,cx + dy ==1}, {x,y}]输出 ⎭⎬⎫⎩⎨⎧⎭⎬⎫⎩⎨⎧+-→-→ad bc a y ,ad bc b x 例14解无理方程a x x =++-11输入 Solve[Sqrt[x-1]+ Sqrt[x+1] == a, x]输出 ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧+→24a 4a 4x 很多方程是根本不能求出准确解的,此时应转而求其近似解. 求方程的近似解的方法有两种,一种是在方程组的系数中使用小数,这样所求的解即为方程的近似解;另一种是利用下列专门用于求方程<组>数值解的命令:NSolve[eqns, vars] <*求代数方程<组>的全部数值解*>FindRoot[eqns, {x, x0}, {y, y0} ,]后一个命令表示从点),,(00 y x 出发找方程<组>的一个近似解,这时常常需要利用图像法先大致确定所求根的围,是大致在什么点的附近.例15求方程013=-x 的近似解输入 NSolve[x^3-1== 0, x]输出 {{→x i},{→x -0.5+0.866025ii},{→x 1.}}输入 FindRoot[x^3-1==0,{x, .5}]输出 {→x 1.}下面再介绍一个很有用的命令:Eliminate[eqns, elims] <*从一组等式中消去变量<组>elims*>例16从方程组 ⎪⎩⎪⎨⎧=+=-+-+=++11)1()1(1222222y x z y x z y x 消去未知数y 、z .输入Eliminate[{x^2+y^2+z^2==1,x^2+<y-1>^2+<z-1>^2 ==1, x + y== 1},{y, z}]输出 0x 3x 22==+-注:上面这个输入语句为多行语句,它可以像上面例子中那样在行尾处有逗号的地方将行与行隔开, 来迫使Mathematica 从前一行继续到下一行在执行该语句. 有时候多行语句的意义不太明 确,通常发生在其中有一行本身就是可执行的语句的情形,此时可在该行尾放一个继续的记号"\", 来迫使Mathematica 继续到下一行再执行该语句.五、保存与退出Mathematica 很容易保存Notebook 中显示的容,打开位于窗口第一行的File 菜单,点击Save后得到保存文件时的对话框,按要求操作后即可把所要的容存为 *.nb 文件. 如果只想保存全部输入的命令,而不想保存全部输出结果,则可以打开下拉式菜单Kernel,选中Delete All Output,然后 再执行保存命令. 而退出Mathematica 与退出Word 的操作是一样的.六、查询与帮助查询某个函数<命令>的基本功能,键入"?函数名",想要了解更多一些,键入"??函数名",例如,输入?Plot则输出Plot[f,{x,xmin,xmax}] generates a plot of f as a functionof x from xmin to xmax. Plot[{f1,f2,…},{x,xmin,xmax}] plots several functions fi它告诉了我们关于绘图命令"Plot"的基本使用方法.例17 在区间]1,1[-上作出抛物线2x y =的图形.输入 Plot[x^2,{x,-1,1}]则输出例18 在区间]2,0[π上作出x y sin =与x y cos =的图形.输入 Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出如果输入??Plot则Mathematica会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica的Help菜单中提供了大量的帮助信息,其中Help菜单中的第一项Help Browser<帮助游览器>是常用的查询工具,读者若想了解更多的使用信息,则应自己通过Help菜单去学习.编辑本段Mathematica 基本运算a+mathematica数学实验<第2版>b+c 加a-b 减a b c 或a*b*c 乘a/b 除-a 负号a^b 次方Mathematica 数字的形式256 整数2.56 实数11/35 分数2+6I 复数常用的数学常数Pi 圆周率,π=3.141592654…E 尤拉常数,e=2.71828182…Degree 角度转换弧度的常数,Pi/180I 虚数,其值为√-1Infinity 无限大指定之前计算结果的方法% 前一个运算结果%% 前二个运算结果%%…%<n个%> 前n个运算结果%n 或Out[n] 前n个运算结果复数的运算指令a+bI 复数Conjugate[a+bI] 共轭复数Re[z], Im[z] 复数z的实数/虚数部分Abs[z] 复数z的大小或模数<Modulus>Arg[z] 复数z的幅角<Argument>Mathematica 输出的控制指令expr1; expr2; expr3 做数个运算,但只印出最後一个运算的结果expr1; expr2; expr3; 做数个运算,但都不印出结果expr; 做运算,但不印出结果编辑本段常用数学函数Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x] 三角函数,其引数的单位为弪度Sinh[x],Cosh[x],Tanh[x],… 双曲函数ArcSin[x],ArcCos[x],ArcTan[x] 反三角函数ArcCot[x],ArcSec[x],ArcCsc[x]ArcSinh[x],ArcCosh[x],ArcTanh[x],… 反双曲函数Sqrt[x] 根号Exp[x] 指数Log[x] 自然对数Log[a,x] 以a为底的对数Abs[x] 绝对值Round[x] 最接近x的整数Floor[x] 小於或等於x的最大整数Ceiling[x] 大於或等於x的最小整数Mod[a,b] a/b所得的馀数n! 阶乘Random[] 0至1之间的随机数〔最新版本已经不用这个函数,改为使用RandomReal[]Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的极大/极小值编辑本段数之设定x=a 将变数x的值设为ax=y=b 将变数x和y的值均设为bx=. 或Clear[x] 除去变数x所存的值变数使用的一些法则xy 中间没有空格,视为变数xyx y x乘上y3x 3乘上xx3 变数x3x^2y 为x^2 y次方运算子比乘法的运算子有较高的处理顺序编辑本段四个常用处理代数的指令Expand[expr] 将expr展开Factor[expr] 将expr因式分解Simplify[expr] 将expr化简成精简的式子FullSimplify[expr] Mathematica 会尝试更多的化简公式,将expr化成更精简的式子编辑本段多项式/分式转换的函数ExpandAll[expr] 把算是全部展开Together[expr] 将expr各项通分在并成一项Apart[expr] 把分式拆开成数项分式的和Apart[expr,var] 视var以外的变数为常数,将expr拆成数项的和Cancel[expr] 把分子和分母共同的因子消去编辑本段分母/分子的运算Denominator[expr] 取出expr的分母Numerator[expr] 取出expr的分子ExpandDenominator[expr] 展开expr的分母ExpandNumerator[expr] 展开expr的分子编辑本段多项式的另二种转换函数Collect[expr,x] 将expr表示成x的多项式,如Collect[expr,{x,y,…}] 将expr分别表示成x,y,…的多项式FactorTerms[expr] 将expr的数值因子提出,如4x+2=2<2x+1>FactorTerms[expr,x] 将expr中把所有不包含x项的因子提出FactorTerms[expr,{x,y,…}] 将expr中把所有不包含{x,y,...}项的因子提出编辑本段三角函数、双曲函数和指数的运算TrigExpand[expr] 将三角函数展开TrigFactor[expr] 将三角函数所组成的数学式因式分解TrigReduce[expr] 将相乘或次方的三角函数化成一次方的基本三角函数之组合ExpToTrig[expr] 将指数函数化成三角函数或双曲函数TrigToExp[expr] 将三角函数或双曲函数化成指数函数复数、次方乘积之展开ComplexExpand[expr] 假设所有的变数都是实数来对expr展开ComplexExpand[expr,{x,y,…}] 假设x,y,..等变数均为复数来对expr展开PowerExpand[expr] 将多项式项次、系数与最高次方之取得Coefficient[expr,form] 於expr中form的系数Exponent[expr,form] 於expr中form的最高次方Part[expr,n] 或expr[[n]] 在expr项中第n个项代换运算子expr/.x->value 将expr里所有的x均代换成valueexpr/.{x->value1,y->value2,…} 执行数个不同变数的代换expr/.{{x->value1},{x->value2},…} 将expr代入不同的x值expr//.{x->value1,y->value2,…} 重复代换到expr不再改变为止求解方程式的根Solve[lhs==rhs,x] 解方程式lhs==rhs,求xNsolve[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自系统中清除掉含有预设值的Patterna_+b_. b的预设值为0,即若b从缺,则b以0代替x_ y_ y的预设值为1x_^y_ y的预设值为1条件式的自订函数lhs:=rhs/;condition 当condition成立时,lhs才会定义成rhsIf指令If[test,then,else] 若test为真,则回应then,否则回应elseIf[test,then,else,unknow] 同上,若test无法判定真或假时,则回应unknow 极限Limit[expr,x->c] 当x趋近c时,求expr的极限Limit[expr,x->c,Direction->1]Limit[expr,x->c,Direction->-1]微分D[f,x] 函数f对x作微分D[f,x1,x2,…] 函数f对x1,x2,…作微分D[f,{x,n}] 函数f对x微分n次D[f,x,NonConstants->{y,z,…}] 函数f对x作微分,将y,z,…视为x的函数全微分Dt[f] 全微分dfDt[f,x] 全微分Dt[f,x1,x2,…] 全微分Dt[f,x,Constants->{c1,c2,…}] 全微分,视c1,c2,…为常数不定积分Integrate[f,x] 不定积分∫f dx定积分Integrate[f,{x,xmin,xmax}] 定积分Integrate[f,{x,xmin,xmax},{y,ymin,ymax}] 定积分数列之和与积Sum[f,{i,imin,imax}] 求和Sum[f,{i,imin,imax,di}] 求数列和,引数i以di递增Sum[f,{i,imin,imax},{j,jmin,jmax}]Product[f,{i,imin,imax}] 求积Product[f,{i,imin,imax,di}] 求数列之积,引数i以di递增Product[f,{i,imin,imax},{j,jmin,jmax}]函数之泰勒展开式Series[expr,{x,x0,n}] 对expr於x0点作泰勒级数展开至<x-x0>n项Series[expr,{x,x0,m},{y,y0,n}] 对x0和y0展开关系运算子a==b 等於a>b 大於a>=b 大於等於a<b 小於a<=b 小於等於a!=b 不等於逻辑运算子!p notp||q||… orp&&q&&… andXor[p,q,…] exclusive orLogicalExpand[expr] 将逻辑表示式展开基本二维绘图指令Plot[f,{x,xmin,xmax}]画出f在xmin到xmax之间的图形Plot[{f1,f2,…},{x,xmin,xmax}]同时画出数个函数图形Plot[f,{x,xmin,xmax},option->value]指定特殊的绘图选项,画出函数f的图形Plot[]几种常用选项的指令选项预设值说明AspectRatio 1/GoldenRatio 图形高和宽之比例,高/宽Axes True 是否把坐标轴画出AxesLabel Automatic 为坐标轴贴上标记,若设定为AxesLabel->{?ylabel?},则为y轴之标记。
《Mathematica的科技文档处理功能》第1章 Notebook的文字处理功能(定稿1-4节)

序言Mathematica是一个世界知名的主流数学软件。
Wolfram公司的调查显示,它的用户主要分布在工程、物理学、数学、计算机科学、医药化学、航空航天等领域.。
许多人都知道,它不仅能做高精度的数值计算,还有独树一帜的符号计算功能(在四大主流数学软件中,其余三家的符号计算功能都源出于Maple一家)。
能为各种数学表达式绘制数学图形,还有独特的帧帧动画基本功能。
是一个完美的科技工作平台。
但是,许多人也许还不了解,Mathematica的Notebook界面同时还是一个十分完善的科技文献写作环境。
它能方便地写出传统的2D数学表达式,具有足够的文本编辑排版功能,可以生成“多媒并茂”的科技文档(把文本、公式、图形、动画、声音集于一身)。
特别可爱的是,它能十分流畅的几乎是完美无缺的处理简体中文和繁体中文,无需经过“汉化”。
它甚至可以进行任何一种语言的文字处理,只要配上相应的录入手段。
Mathematica的Notebook还能把它所生成的文档转换格式,输送到其它软件环境中去使用。
仅就文字处理功能而言,它并不逊色于大名鼎鼎的Mord。
如果再注意到它主营业务的那些看家本事(数值计算、符号计算、绘制图形、制播动画),你该想象得出来,它可以生成多么美妙的科技文献。
你肯定知道,这样的科技文献会有多么大的使用范围:讲课使用的演示课件;学术报告的讲演稿;展览会上的展播解说;呈交上司的项目总结;合作者之间交流学术见解的通信文书,……。
对于科技人员来说,与一般的通用文字处理软件相比,它的优点真是太多了。
由此有人给他送了一个外号:“Math-Word”或“Sciense-Word”!如果你对Mathematica已不陌生,用它做过计算或绘图,现在你可以通过本书掌握它的科技文档处理功能;如果你还没有熟悉它的计算绘图功能,也可以先读这本书掌握它的文字处理功能,这也并不妨碍你回头再去熟悉它的计算绘图功能。
本书内容是,作者多年跟踪使用Mathematica的心得总结,内容独特新鲜。
Mathematica常用命令

Mathem atica常用命令软件学习2010-10-1921:02:15 阅读127评论0 字号:大中小订阅 .M athem atica的内部常数Pi ,或π(从基本输入工具栏输入,或“Es c”+“p”+“Es c”)圆周率πE(从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数eI (从基本输入工具栏输入,或“Esc”+“ii”+“Es c”)虚数单位iI nfini ty, 或∞(从基本输入工具栏输入 ,或“Esc”+“in f”+“E sc”)无穷大∞D egree或°(从基本输入工具栏输入,或“Esc”+“de g”+“E sc”)度Math emati ca的常用内部数学函数指数函数Exp[x]以e为底数对数函数Log[x]自然对数,即以e为底数的对数Lo g[a,x]以a为底数的x的对数开方函数Sqrt[x]表示x的算术平方根绝对值函数Ab s[x]表示x的绝对值三角函数(自变量的单位为弧度)Si n[x]正弦函数C os[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Cs c[x]余割函数反三角函数A rcSin[x]反正弦函数A rcCos[x]反余弦函数A rcTan[x]反正切函数A rcCot[x]反余切函数A rcSec[x]反正割函数A rcCsc[x]反余割函数双曲函数Si nh[x]双曲正弦函数Cos h[x]双曲余弦函数Tanh[x]双曲正切函数Coth[x]双曲余切函数S ech[x]双曲正割函数Cs ch[x]双曲余割函数反双曲函数Arc Sinh[x]反双曲正弦函数ArcCo sh[x]反双曲余弦函数Ar cTanh[x]反双曲正切函数ArcC oth[x]反双曲余切函数A rcSec h[x]反双曲正割函数Arc Csch[x]反双曲余割函数求角度函数ArcTa n[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度数论函数G CD[a,b,c,...]最大公约数函数LCM[a,b,c,...]最小公倍数函数Mo d[m,n]求余函数(表示m除以n的余数)Quo tient[m,n]求商函数(表示m除以n的商)Divis ors[n]求所有可以整除n的整数Fa ctorI ntege r[n]因数分解,即把整数分解成质数的乘积Pri me[n]求第n个质数Pri meQ[n]判断整数n是否为质数,若是,则结果为T rue,否则结果为F alseRando m[Int eger,{m,n}]随机产生m到n之间的整数排列组合函数Facto rial[n]或n!阶乘函数,表示n的阶乘复数函数Re[z]实部函数Im[z]虚部函数Arg(z)辐角函数Abs[z]求复数的模C onjug ate[z]求复数的共轭复数Exp[z]复数指数函数求整函数与截尾函数Cei ling[x]表示大于或等于实数x的最小整数Fl oor[x]表示小于或等于实数x的最大整数Rou nd[x]表示最接近x的整数Integ erPar t[x]表示实数x的整数部分Fract ional Part[x]表示实数x的小数部分分数与浮点数运算函数N[num]或num//N把精确数num化成浮点数(默认16位有效数字)N[num,n]把精确数num化成具有n个有效数字的浮点数Numbe rForm[num,n]以n个有效数字表示numRatio naliz e[flo at]将浮点数flo at转换成与其相等的分数Ra tiona lize[float,dx]将浮点数fl oat转换成与其近似相等的分数,误差小于dx最大、最小函数Max[a,b,c,...]求最大数M in[a,b,c,...]求最小数符号函数Sig n[x]Mathe matic a中的数学运算符a+b 加法a-b减法a*b (可用空格键代替*)乘法a/b (输入方法为:“ Ctr l ” + “ /” ) 除法a^b (输入方法为:“Ctrl” + “ ^ ”)乘方-a 负号Mathe matic a的关系运算符==等于<小于>大于<=小于或等于>=大于或等于!=不等于注:上面的关系运算符也可从基本输入工具栏输入。
《Mathematica》使用手册

《Mathematica》使用手册Mathematica使用手册=========================第一章:介绍Mathematica-------------------------------------1.1 Mathematica的概述Mathematica是一种强大的数学计算和数据处理软件,广泛应用于科学、工程、计算机科学等领域。
1.2 安装和启动本节介绍如何安装Mathematica软件并启动它。
1.3 界面和基本操作介绍Mathematica的界面和基本操作,包括工具栏、菜单、笔记本等。
第二章:基本语法和数据类型-------------------------------------2.1 表达式和运算符讲解Mathematica的表达式和运算符,包括数值运算、符号运算、逻辑运算等。
2.2 变量和函数介绍Mathematica中的变量和函数的定义和使用方法。
2.3 数据类型讲解Mathematica中的基本数据类型,包括数值类型、字符串类型、列表类型等。
第三章:图形绘制-------------------------------------3.1 绘制函数图像介绍使用Mathematica绘制函数图像的方法和技巧。
3.2 绘制二维图形讲解Mathematica中绘制二维图形的常用函数和参数设置。
3.3 绘制三维图形介绍Mathematica中绘制三维图形的方法,包括绘制曲面、绘制立体图形等。
第四章:方程求解和数值计算4.1 方程求解讲解Mathematica中方程求解的方法和技巧。
4.2 数值计算介绍Mathematica中数值计算的函数和用法。
4.3 微分方程求解讲解Mathematica中求解微分方程的方法和技巧。
第五章:数据分析和统计-------------------------------------5.1 数据导入和导出介绍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
ch10 Mathematica 基础及其应用

图10-2 Mathematica 9笔记本界面。
4
笔记本界面是最常用的方式。选择图 10-2 的笔 记本界面后,通过创建交互式的文件与 Mathematica交互,初始文件名为:未命名-1.nb, 用户可以选择:文件|保存 来重新命名。
在笔记本中输入命令,然后按下 shift+Enter 使 Mathematica 处 理输入的命令。 处理输入后,Mathematica将用In[n]:=标记输入,并用Out[n]= 标记对应的运算结果。In[n]:=和Out[n]=是系统自动添加的, 并不需要输入,其中 n 为自动编号,也可以在输入结束时 直接点击鼠标右键选择计算单元来代替按键Shift+Enter。
21
列表元素可以单独使用,通过列表索引的方式 来获取单个元素,其方法为在列表后加 [[n]] , 表示取出列表的第n个元素。例如
In[6]:=v[[2]] Out[6]=6.5 In[7]:=v[[2]]=0 Out[7]=0 In[8]:=v Out[8]={5,0,4.3}
22
10.3.4 表达式
20
例如
In[1]:={3,5,1} Out[1]={3,5,1} In[2]:={3,5,1}^2+1 Out[2]={10,26,2} In[3]:=Sin[%]//N Out[3]={-0.544021,0.762558,0.909297} In[4]:=v={5,6.5,4.3} Out[4]={5,6.5,4.3} In[5]:=v/(v-1) Out[5]={5/4,1.18182,1.30303}
例如当上式x=3、y=2时,计算表达式的值
In[5]:= t/.{x->3,y->2} Out[5]=8
1Mathematica 基础知识

第一章Mathematica 基础知识1.1 Mathematica 概述1.1.1Mathematica 简介数学软件可以使不同专业的学生和科研人员快速掌握借助计算机进行科学研究和科学计算的本领,在一些国家和部门,数学软件已成为学生和科研人员进行学习和科研活动最得力的助手。
Mathematica 是一个功能强大的常用数学软件, 它不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。
不管你是一个正在学习的学生, 还是在岗的科研人员, 当你在学习或科学研究中遇到棘手的数学问题时, Mathematica给你提供的各种数学工具, 可以避免做繁琐的数学推导和计算, 帮你方便地解决所遇到的很多数学问题, 使你能省出更多的时间和精力做进一步的学习和探索。
Mathematica 具有简单、易学、界面友好和使用方便等特点,只要你有一定的数学知识并了解计算机的基本操作方法,你就能学习使用Mathematica了。
目前,我们在科研论文、教材等很多地方都能看到Mathematica的身影。
Mathematica自1988年由美国的Wolfram Research公司首次推出Mathematica1.0版本以来,随着Wolfram Research公司对它的不断改进,先后推出了Mathematica1.2、Mathematica2.0、Mathematica2.2、Mathematica3.0、Mathematica4.0等版本。
考虑到大部分人学习新知识一般是希望所学的内容应该容易学、实用和功能较强的心理,本书主要以适用于Windows操作系统的Mathematica2.2版本向读者介绍Mathematica的使用命令和内容,该版本具有软件安装条件需求少(安装盘只需4张3.5吋软盘, 10MB的硬盘存储空间和486以上的微机)、涵盖Mathematica的主要命令和功能、Notebook接口与中文兼容性好等特点,学习了这些内容后,读者就能用Mathematica来解决所遇到的很多数学问题了。
01第一篇Mathematica入门

01第⼀篇Mathematica⼊门第⼀篇Mathematica⼊门⼀、MathematicaMathematica是集⽂本编辑、数值计算、逻辑分析、图形、声⾳、动画于⼀体的⾼度优化的专家系统.它是⽬前⽐较流⾏的数学软件之⼀.Mathematica最显著的特点是⾼精度的运算功能、强⼤的作图功能以及逻辑编程功能.Mathematica是美国WolframResearch公司开发的⼀套专门⽤于进⾏数学计算的软件.从1988年问世⾄今,已⼴泛运⽤到⼯程技术、应⽤数学、计算机科学、财经、⽣物、⽣命科学、以及太空等领域,数以万计的论⽂、科学报告、计算机绘图等都是Mathematica的杰作. 1995年发表的Mathematica3.0版是数学软件史的⼀⼤创新,⽽现在的Mathematica4.1版,则达到了这类软件的顶峰. Mathematica除了提供数值处理与绘图的功能外,还具有符号计算以及处理多项式的各种运算、函数的微分、积分、解微分⽅程、统计、编程,甚⾄可以制作电脑动画及⾳效等等.Mathematica的基本系统是使⽤C语⾔编写的,因此能⽅便地移植到各种计算机系统上.尽管Mathematica有各种各样的版本,但它们有⼀个共同的内核,Mathematica的各种运算都是由内核来完成的.给内核配置不同的前端处理器,就成为适⽤于各种环境的版本.它的DOS版本的特点是运算速度快,对系统的配置要求较低;它在Windows环境下的特点是图⽂并茂,操作⽅便.这⾥介绍的是在Windows环境下的Mathematica4.1版本.Mathematica4.1对计算机的硬件要求如下:1.操作系统:Windows95以上.2.CPU:Inter586级以上的中央处理器.3.硬盘空间:除了要具备120MB的硬盘空间安装Mathematica4.1外,还需具有100MB左右的剩余硬盘空间⽤于进⾏交换⽂件和复杂的运算.4.内存:64MB以上.⼆、Mathematica界⾯简介双击Mathematica的图标即可运⾏Mathematica的主程序.主程序会同时打开⼀个新的⼯作窗⼝和⼀个基本输⼊模板(Basic Input palette).每⼀个⼯作窗⼝代表⼀个⽂件,⽂件名显⽰在⼯作窗⼝的标题栏上,默认的⽂件名为Untitled-1.nb.位于标题栏下的是菜单栏,包括(File,Edit,Cell,Format,Input,Kernel,Find,Window,Help项). ⽤户可以同时打开多个⼯作区,并且可以对每⼀个⼯作区使⽤不同的名字保存.Mathematica将它们分别命名为Untitled-1;Untitled-2;Untitled-3;….1.⼯作区窗⼝⼯作区是显⽰⼀切输⼊、输出窗⼝.⽆论直接输⼊各种算式或命令,还是已经编好的程序,所有的操作都在这个窗⼝运⾏.⼯作区窗⼝也称作Notebook.2.基本输⼊模板基本输⼊模板由⼀系列按钮组成,⽤以输⼊特殊符号、运算符号、常⽤表达式等.⽤⿏标左键单击⼀个按钮,就可以将它所表⽰的符号输⼊到当前的⼯作区窗⼝中.当启动Mathematica4.1之后,基本输⼊模板会显⽰在屏幕的右边,如果没有,则选择File 下拉菜单中的palette -Basic Input命令激活它.3.主菜单Mathematica的菜单项很多,以下只介绍⼀些最实⽤的菜单项.(1)File菜单File下拉菜单项中的New,Open,Close及Save命令⽤于新建、打开、关闭及保存⽤户的⽂件,这些选项与Word相同.另外有⼏个选项是Mathematica特有的,其中最有⽤的是:●Palettes⽤于打开各种模板;●Generate Palette from Selection⽤于⽣成⽤户⾃制的模板;●Notebooks记录最近使⽤过的⽂件.●模板单击Palettes项,会弹出7个英⽂选项,其中第三项BasicInput(基本输⼊模板)就是启动时已经显⽰在屏幕上的模板.其余最有⽤的选项是第⼆项BasicCalculations(基本计算模板).这个模板分类给出了各种基本计算的按钮.单击各项前⾯的⼩三⾓,会⽴即显⽰该项所包含的⼦项.再次单击各⼦项前⾯的⼩三⾓,则显⽰出⼦项中的各种按钮.若单击其中的某个按钮就可以把该运算命令(函数)输⼊到⼯作区窗⼝中,然后在各个⼩⽅块中键⼊数学表达式,就可以让Mathematica进⾏计算了.有了这两个模板,使得⽤户⽆须死记⼤量的命令和相关的参数,便于查询和输⼊.(2) cell(单元)●单元的样式Mathematica4.1的⼯作窗⼝由不同的单元(cell)组成.例如,输⼊表达式的单元称为输⼊单元(input cell),输出表达式的单元称为输出单元(output cell).每⼀个单元都有其特定的样式(style). 输⼊单元默认的样式名称为input,输出单元默认的样式名称为output.注:在新建⼀个单元时,默认为input.●单元的打开与关闭双击最外层单元的括号,即可关闭该单元,只显⽰最外层.同样只要双击已关闭单元的括号,即可打开该单元.●单元的删除选中所要删除单元的括号,按Delete键即可删除所选单元的内容.(3)Help(帮助)在Mathematica4.1中增加了Help Browser帮助系统.在Help Browser中不但汇集了Mathematica4.1的所有命令和使⽤⽅法,⽽且包含了其完整的使⽤⼿册及各种⼯具栏的使⽤⽅法.单击Help菜单中的Help命令,即可激活Help Browser帮助系统.Help Browser共分六⼤帮助信息:1.Built-in Functions 查询Mathematica4.1的所有内部命令与函数的使⽤⽅法.2.Add-ons 查询Mathematica4.1所带的函数库(packages)命令与函数的⽤法.3.The Mathematica Book Mathematica的完整⼿册.4.Getting Started/Demos初学者使⽤说明与范例.5.Other Information 其他信息,如数学表达式的⼆维格式的输⼊⽅法等.6.Master Index⽤索引的⽅法查询Mathematica的关键词.选择搜索主题的类别之后,输⼊关键词,单击Go To按钮开始搜索主题,或者在最左边的选择列表中选择搜索主题的类别之后,再逐渐缩⼩查询范围.例如:要查询Limit命令的使⽤⽅法,可以直接在Help Browser中输⼊Limit再单击Go To按钮,或选择Algebraic Computation-Calculus-Limit找到有关Limit命令的说明.4.退出Mathematica当结束⼯作时,可以选择“File”菜单中的“Exit”选项或单击关闭按纽. Mathematica 会询问是否保存对打开⼯作区内容的修改,选择“Yes”,系统要求指定⽂件名,⽤户可以任意给定⼀个⽂件名并指定位置,确认后系统将该⽂件保存在⽤户所指定的位置,再次打开该⽂件可以继续上次的运算;选择“Don’t Save”放弃保存;选择“Cancel”取消这次操作并返回Mathematica.三、⾃制模板由于BasicCalculations(基本计算模板)的内容太多,查找不⽅便,因此⾃制模板是⼀个⾮常重要的内容.⾃制模板的步骤如下:1.单击主菜单的input项,弹出⼦菜单.选中⼦菜单中的CreateTabel/Matrix/Palette(建⽴表、矩阵、模板)选项出现对话框.2.在对话框中,选中Make: Palette,在键⼊⾏数和列数,则在窗⼝⽣成⼀个可编辑的原始模板.3.⽤⿏标左键单击原始模板中的第⼀个⼩⽅块,然后在打开的BasicCalculations模板中单击⼀个今后经常使⽤的按钮,就可以将它复制到原始模板中.如此循环往复直⾄全部输⼊完成.4.单击File菜单中的Generate Palette from Selection项,就可以建⽴⼀个⾃⼰的模板了.5.单击⾃制模板右上⾓的关闭按钮,Mathematica将询问是否保存⾃制模板,若保存,则出现对话框,将对话框中显⽰的⽂件名“Untitled-1.nb”改成“⾃定义模板.nb”保存到存放Mathematica模板的⽬录D:\Mathematica\4.1\SystemFiles\FrontEnd\Palettes 下,再次启动时,这个模板的名字就会出现在File菜单的Palette选项中,可与Mathematica的模板⼀样使⽤.四、Mathematica 的常⽤语法1.Mathematica 的基本运算Mathematica 的基本运算包括加(+) ;减(-) ;乘(*) 、除(/) 、乘⽅(?) 等.我们可以按照⼀般数学表达式的⼿写格式输⼊这些基本运算,然后按下Shift+Enter 组合键得到输出结果.例如:In[1]:=Out[1]:= 6 In[2]:= 3^2 Out[2]:= 9说明:(1)Mathematica 将输⼊的指令⽤标题“In[n]:=”标识,输出结果⽤“Out[n]:=”标识,其中“n ”表⽰已经输⼊的指令数.(2)Shift+Enter 在Mathematica 中是执⾏运算的命令.2.输⼊和计算数学表达式(1)键盘直接输⼊和运⾏expr : 直接输⼊表达式.例如:在⼯作窗中输⼊,再按Shift+Enter 组合键,执⾏运算.这时,⼯作32)63(2-+?窗会显⽰如下运算:In[1]:=-??3Out[1]:= ??N[expr] 计算表达式的近似数值,Mathematica 默认的有效数字位数为16位,但按标准输出只显⽰前6位有效数字,若要全部显⽰,则⽤N[expr]//InputForm 命令.N[expr ,n] 计算表达式的具有任意指定数字位数的近似值(指定的数字位数n 应该⼤于16),结果在末位是四舍五⼊的. NumberForm[expr , n] 将表达式⽤n 个有效数字表⽰.例1 求的近似值,有效数字分别为6位、8位、16位、32位.e 解: In[1]:= N ??Out[1]:= 2.71828In[2]:= N u m b e r F o r m ?N ,8?Out[2]:= 2.7182818 In[3]:= N[ ]//InputForm Out[3]:= 2.718281828459045 In[4]:= N[ ,32]Out[4]:= 2.7182818284590452353602874713527(2)利⽤基本输⼊模板直接输⼊我们可以利⽤基本输⼊模板所提供的⼀些特殊符号、运算符号、常⽤表达式来输⼊表达式.3.简单的调⽤⽅式有时在后⾯的计算要调⽤到前⾯已经计算过的结果,这时Mathematica 提供了⼀种简单的调⽤⽅式:命令意义%%%%%…% (个%),或 %n n读取前⼀个输出结果.读取前第⼆个输出结果.读取前第个输出结果.n 例如 In[1]:= 3^4Out[1]:= 81 In[2]:= %?5 Out[2]:= 405 In[3]:= %1?%2Out[3]:= 4864.长表达式的输⼊Mathematica 是允许⼀个表达式占⽤多个输⼊⾏的,但需注意的是:必须在指令或语法告⼀段落⽽⼜不完整的地⽅使⽤Enter 键进⾏换⾏.5.有关代数式的⼏个命令(1)多项式的展开与因式分解命令意义[多项式]Expand 对多项式进⾏展开运算.[多项式]Factor 对多项式进⾏因式分解.例2 将多项式展开5)1(y x ++解 In[1]:= Expand[(1+x+y)^5]Out[1]:= 1?5x ?10x 2?10x 3?5x 4?x 55y 20xy例3 将多项式分解因式2223-+-x x x 通过管线不仅可以解路须同时切断习题电源,线缆敷设完毕,要进⾏检查和检测处理。
应用高等数学(经管类) 第7章 Mathematica数学实训

三、实训过程
第7章 Mathematica数 学实训
三、实训过程
第7章 Mathematica数 学实训
三、实训过程
7.3 方程求解
第7章 Mathematica数 学实训
一、实训内容
方程求解、方程求数值解,方程组求解.
第7章 Mathematica数 学实训
二、实训目的
掌握方程和方程组求解,尤其是求数值解.
建立矩阵,读写Excel数据,循环和条件语句.
第7章 Mathematica数 学实训
二、实训目的
学会建立矩阵、添加行、和Excel数据交换,重点 掌握循环和条件语句.
第7章 Mathematica数 学实训
三、实训过程
第7章 Mathematica数 学实训
三、实训过程
第7章 Mathematica数 学实训
实践导向型高职教育系列教材
(经管类)
应用型高等数学
Mathematica数学实训
Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形 系统、编程语言、文本系统、和与其他应用程序的高级连接.很多功能在相应领域 内处于世界领先地位,它也是迄今为止使用最广泛的数学软件之一.Mathematica的 发布标志着现代科技计算的开始,Mathematica是世界上通用计算系统中最强大的 系统.自从1988年发布以来,它已经对如何在科技和其他领域运用计算机产生了深刻 的影响.掌握并灵活应用Mathematica是当代高职学生必须具备的一项重要能力,本 章选用软件版本为Mathematica8.0中文版.
第7章 Mathematica数 学实训
二、实训目的
熟悉数学助手基本操作,掌握基本运算.
数学建模首选软件Mathematica画图专讲(很全)省名师优质课赛课获奖课件市赛课一等奖课件

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学习(2)-mathematica命令

Mathematica学习(2)-mathematica命令Mathematica的内部常数 Pi , 或π(从基本输⼊⼯具栏输⼊, 或“Esc”+“p”+“Esc”)圆周率πE (从基本输⼊⼯具栏输⼊, 或“Esc”+“ee”+“Esc”)⾃然对数的底数eI (从基本输⼊⼯具栏输⼊, 或“Esc”+“ii”+“Esc”)虚数单位iInfinity, 或 ∞(从基本输⼊⼯具栏输⼊ , 或“Esc”+“inf”+“Esc”)⽆穷⼤ ∞Degree 或°(从基本输⼊⼯具栏输⼊,或“Esc”+“deg”+“Esc”)度Mathematica的常⽤内部数学函数 指数函数Exp[x]以e为底数对数函数Log[x]⾃然对数,即以e为底数的对数Log[a,x]以a为底数的x的对数开⽅函数Sqrt[x]表⽰x的算术平⽅根绝对值函数Abs[x]表⽰x的绝对值三⾓函数(⾃变量的单位为弧度)Sin[x]正弦函数Cos[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Csc[x]余割函数反三⾓函数ArcSin[x]反正弦函数ArcCos[x]反余弦函数ArcTan[x]反正切函数ArcCot[x]反余切函数ArcSec[x]反正割函数ArcCsc[x]反余割函数双曲函数Sinh[x]双曲正弦函数Cosh[x]双曲余弦函数Tanh[x]双曲正切函数Coth[x]双曲余切函数Sech[x]双曲正割函数Csch[x]双曲余割函数反双曲函数ArcSinh[x]反双曲正弦函数ArcCosh[x]反双曲余弦函数ArcTanh[x]反双曲正切函数ArcCoth[x]反双曲余切函数ArcSech[x]反双曲正割函数ArcCsch[x]反双曲余割函数求⾓度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的⾓,其单位为弧度数论函数GCD[a,b,c,...]最⼤公约数函数LCM[a,b,c,...]最⼩公倍数函数Mod[m,n]求余函数(表⽰m除以n的余数)Quotient[m,n]求商函数(表⽰m除以n的商)Divisors[n]求所有可以整除n的整数FactorInteger[n]因数分解,即把整数分解成质数的乘积Prime[n]求第n个质数PrimeQ[n]判断整数n是否为质数,若是,则结果为True,否则结果为FalseRandom[Integer,{m,n}]随机产⽣m到n之间的整数排列组合函数Factorial[n]或n!阶乘函数,表⽰n的阶乘复数函数Re[z]实部函数Im[z]虚部函数Arg(z)辐⾓函数Abs[z]求复数的模Conjugate[z]求复数的共轭复数Exp[z]复数指数函数求整函数与截尾函数Ceiling[x]表⽰⼤于或等于实数x的最⼩整数Floor[x]表⽰⼩于或等于实数x的最⼤整数Round[x]表⽰最接近x的整数IntegerPart[x]表⽰实数x的整数部分FractionalPart[x]表⽰实数x的⼩数部分分数与浮点数运算函数N[num]或num//N把精确数num化成浮点数(默认16位有效数字) N[num,n]把精确数num化成具有n个有效数字的浮点数NumberForm[num,n]以n个有效数字表⽰numRationalize[float]将浮点数float转换成与其相等的分数Rationalize[float,dx]将浮点数float转换成与其近似相等的分数,误差⼩于dx 最⼤、最⼩函数Max[a,b,c,...]求最⼤数Min[a,b,c,...]求最⼩数符号函数Sign[x]Mathematica中的数学运算符a+b 加法a-b减法a*b (可⽤空格键代替*)乘法a/b (输⼊⽅法为:“ Ctrl ” + “ / ” ) 除法a^b (输⼊⽅法为:“ Ctrl ” + “ ^ ” )乘⽅-a 负号Mathematica的关系运算符 ==等于<⼩于>⼤于<=⼩于或等于>=⼤于或等于!=不等于注:上⾯的关系运算符也可从基本输⼊⼯具栏输⼊。
Mathematica在计算concurrence中的应用

龙源期刊网
Mathematica在计算concurrence中的应用
作者:欧阳锡城谭玉
来源:《中国教育技术装备》2008年第14期
摘要利用Mathematica计算量子信息领域中的concurrence的一个程序,可以大大减少计算工作量。
关键词 Mathematica;concurrence;密度矩阵;特征值
中图分类号 G434 文献标识码 B 文章编号 1671-489X(2008)014-0082-01
1 引入
量子纠缠状态是指两个或多个量子系统之间的非定域、非经典的关联,它在量子信息领域里占有非常重要的地位,而所研究的纠缠态所携带纠缠的量的多少可以用纠缠度来描述。
对于两体的情况,经常用到的是形成纠缠度,计算它时则要求解concurrence。
但是由于concurrence的求解过程中要计算多个矩阵的乘积(包括直积),还要计算矩阵的特征值,所以手工求解相当麻烦而且容易出错;如果用Mathematica[1-2]来代劳,可以起到事半功倍的效果。
(整理)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,T an[x]^y。
自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。
当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。
一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。
Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。
当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。
一.数的表示及计算1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。
例如:你输入In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.0732,另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
请输入…
>$DisplayFunctio n PlotLabel Axes AxesLabel Ticks AxesOrigin AxesStyle Frame FrameLabel FrameTicks GridLines FrameStyle ListPlot PlotJoined PlotSytle PlotPoints
练习14个 100%正确
请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入…
120 121
绘图 绘图
请输入… 请输入…
122
绘图
请输入…
123 掌握
绘图
请输入…
ListPlot3D[array,shad es]同上,曲面 的染 ListPlot3D 色由shades[数据]值 决定 ParametricPlot3D[{fx ParametricPlot3D ,fy,fz},{t,tmin,tmax}] ParametricPlot3D[{{f },{t,tmin,tmax}]
符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 符号 常数 常数 常数 常数 常数 常数 常数 常数 常数 常数 代数 代数 代数 代数 代数 代数 代数
请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 对;聪明! 对;聪明! 对;聪明! 请输入… 对;聪明! 请输入… 请输入… 对;聪明! 对;聪明! 对;聪明! 对;聪明! 请输入… 请输入… 请输入…
++,-+=,-=,*=,/= >,<,>=,<=,==,!= lhs=rhs lhs:=rhs expr//funname param_ param__ lhs->rhs lhs:>rhs Replace[expr,rules] f[x_]:=x^2/;x<=0 expr/.rules expr//.rules Dispatch[{lhs1>rhs1,lhs2->rhs2,...} Pi E Catalan EulerGamma GoldenRatio Degree I Infinity ComplexInfinity Indeterminate Expand[expr] Factor[expr] Simplify[expr] FullSimplify[expr] PowerExpand[expr] ComplexExpand[expr FunctionExpand[expr
95 96 掌握
绘图 绘图
请输入… 请输入…
ListPlot ParametricPlot ParametricPlot 以下为绘图命令选项 PlotRange AspectRatiListPlot[{{x1,y1},{x2 ,y2},..}] ParametricPlot[{fx,fy },{t,tmin,tmax}] ParametricPlot[{{fx,f y},{gx,gy},...},{t,tmin ,tmax}]
ExpandDenominat ExpandDenominator[ or TrigExpand TrigFactor TrigFactorList TrigReduce TrigToExp ExpToTrig RootReduce ToRadicals Plot Plot ListPlot
expr] TrigExpand[expr] TrigFactor[expr] TrigFactorList[expr] TrigReduce[expr] TrigToExp[expr] ExpToTrig[expr] RootReduce[expr] ToRadicals[expr] Plot[f,{x,xmin,xmax} ] Plot[{f1,f2..},{x,xmin ,xmax}] ListPlot[{y1,y2,..}]
序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
要 求
掌握 掌握 掌握 掌握 掌握 掌握 掌握 掌握 掌握
分类
符号 符号 符号 符号 符号 符号 符号 符号 符号 符号
>$DisplayFunction
103 104 105 106 107 108 109 110 111 112 113
绘图 绘图 绘图 绘图 绘图 绘图 绘图 绘图 绘图 绘图 绘图
请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入…
114 115 116 117
绘图 绘图 绘图 绘图
118 119 掌握
绘图 绘图
请输入… 请输入…
三维作图命令 Plot3D Plot3D ListPlot3D
三维作图命令 Plot3D[f,{x,xmin,xm ax},{y,ymin,ymax}] Plot3D[{f,s},{x,xmin, xmax},{y,ymin,ymax }] ListPlot3D[array]
ExpandNumerator pr]
83 84 85 86 87 88 89 90 91 92 93 94 掌握 掌握
代数 代数 代数 代数 代数 代数 代数 代数 代数 绘图 绘图 绘图
请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入…
请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入… 请输入…
LightSources>{s1,s2..} AmbientLight-> 颜 色 函数 Mesh->True,False MeshStyle MeshRange>{{xmin,xmax},{ymi n,ymax}}网格范围 ClipFill>Automatic,None,col or,{bottom,top} Shading->False,True HiddenSurface>True,False 等高线 ContourPlot[f,{x,xmi n,xmax},{y,ymin,yma x}]
Together Apart Cancel ExpandAll
Together Apart Apart Cancel ExpandAll ExpandAll FactorTerms FactorTerms FactorTerms Coefficient Coefficient
Exponent
Exponent Numerator Denominator
函数名练习
函数名 ; , ? ?? ! n! n!! !! >> >>> () [] {} <> (**) #n ## & % %% %n :: "" ` + * / ^ ^^ && || !
Line1;
函数
Line1,line2 ?name ??name !command n! n!! !!filename Expr>>filename Expr>>>filename () [] {} <*MathFun*> (*Note*) #n ## rule& % %% %n var::note "Astring" Context` a+b a-b a*b或a b a/b a^b base^^num lhs&&rhs lhs||rhs !lha
掌握 掌握 掌握
符号 符号 符号 符号
掌握
符号 符号 符号
了解 掌握 掌握 掌握 掌握
符号 符号 符号 符号 符号 符号
掌握 掌握 掌握 掌握 掌握 掌握
符号 符号 符号 符号 符号 符号 符号
掌握 掌握 掌握
符号 符号 符号
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 掌握 掌握 掌握 掌握 掌握 掌握 掌握 掌握 掌握 掌握
PlotLabel->label Axes->{False,True} AxesLabel>{xlabel,ylabel} Ticks>None,Automatic,fun AxesOrigin->{x,y} AxesStyle>{{xstyle},{ystyle}} Frame->True,False FrameLabel>{xmlabel,ymlabel,xp label,yplabel} FrameTicks同Ticks GridLines FrameStyle>{{xmstyle},{ymstyl e} ListPlot[data,PlotJoin ed->True] PlotSytle>{{style1},{style2},.. } PlotPoints->15
ViewPoint->{x,y,z} Boxed->True,False BoxRatios>{sx,sy,sz} BoxStyle Lighting->True