Mathematic教程•Mathematic概述•Mathematic代数基本运算•Mathematic做微积分第一节Mathematica概述Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,它是一个功能强大的常用数学软件。以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。Mathematica具有简单、易学、界面友好和使用方便等特点,只要你有一定的数学知识并了解计算机的基本操作方法,你就能学习使用Mathematica了。一、Mathematica的认识1、进入与退出进入:[开始][程序][Mathematica5.0]中单击Mathematica命令的图标就可以启动Mathematica系统,或在桌面上双击Mathematica的图标。退出:退出Mathematica系统只要用鼠标点击Mathematica界面右上角的关闭按钮即可。关闭前,屏幕会出现一个对话框,询问是否保存用户区的内容。如果单击对话框的“否(N)”按钮,则关闭Notebook窗口,退出Mathematica系统;如果单击对话框的“是(Y)”按钮,则先提示你用一个具有扩展名为*.nb的文件名来保存用户区内的内容,再退出2、界面介绍(主菜单,用户区)空白位置(Notebook)称为用户区,在这里可以输入文本、实际的Mathematica命令和程序等来达到使用Mathematica的目的。在用户区输入的内容被Mathematica用一个具有扩展名为*.nb的文件名来纪录,该文件名是退出Mathematica时保存在用户区输入内容的默认文件名,一般是文件名:“Untitled-1.nb”。3、操作过程(1)、在Notebook用户区输入完Mathematica命令。(2)、按“Shift+Enter”组合键执行4、简单示例例1求100!。例2求2×42-10÷(3+2)的值,再求该表达式的平方。注:运算后出现的“In[1]:=”、“Out[2]=”等是计算机自动产生的。其中In[1]表示第一输入行,Out[1]表示第一输出行。则“In[n]:=”、“Out[n]=”分别表示第n行的输入和输出。如果用户不想计算机显示此次输入的结果,只要在所输入命令的后面再加上一个分号“;”即可。第二节代数基本运算1、数的运算符号数的运算有:加、减、乘、除和乘方,它们在Mathematica中对应的符号为:加(+)、减(-)、乘(*)、除(/)和乘方(^)。2、数学常数Pi()表示圆周率=3.14159…E表示自然数e=2.71828…Degree表示几何的角度1或/180I表示虚数单位-1开平方IInfinity()表示数学中的无穷大3、常用函数函数表达式数学含义Sqrt[x]表示开方函数Exp[x]表示以E为底的指数函数Log[x]表示以E为底的自然对数函数lnxLog[a,x]表示以a为底的对数函数logaxSin[x],Cos[x]表示正弦函数sinx,余弦函数cosxTan[x],Cot[x]表示正切函数tanx,余切函数cotxArcSin[x],ArcCos[x],ArcTan[x],ArcCot[x]分别表示反正弦、反余弦、反正切、反余切函数n!表示阶乘n(n-1)(n-2)…1注意:函数名的第一个字母必须大写4、精确数与近似数Mathematica的近似数是带有小数点的数;精确数是整数、有理数、数学常数等。如果参与运算的数都是没有小数点的数,则结果将用精确数方式输出;如果参与运算的数带有小数点,则运算结果通常为带有6位有效数字的近似数。如:In[1]:=2+Sin[1.0]Out[1]=2.84147(近似数)In[2]:=2+Sin[1]Out[2]=2+Sin[1](精确数)Mathematica提供的N函数可以得到精确数的任意精度的近似结果,其调用方式有两个:(1)N[x,n]:将x转化成具有n位有效数字的近似实数(2)N[x]或x//N:将精确数x转化成近似实数(6位)如:In[3]:=2*E+Sin[Pi/5]//NOut[3]=6.02435In[4]:=N[2*E+Sin[Pi/5],17]Out[4]=6.02434890921056365、Mathematica中的变量(1)变量名:以小写英文字母或以小写英文字母开头后跟若干字母或数字表示的字符串.(2)变量赋值方式:变量=表达式(注意:只有一个等号)如:In[1]:=x=2+2(*变量x存放了计算结果4)x*x-x+1(*这里x已经有值4,计算机自动代换3)清除变量:变量名=.或Clear[变量名1,变量名2,…](4)变量查看:?变量名6、自定义函数(1)函数定义在Mathematica中除系统定义的函数外,用户还可以自己定义函数,其一般命令为:一般函数:函数名[自变量名_]=表达式分段函数:函数名[自变量名_]:=表达式/;条件如:1.定义一个函数y=2sinx+x5In[5]:=y[x_]=2*Sin[x]+x^5Out[5]=x5+2sinx2.定义一个分段函数In[6]:=f[x_]:=x^2/;x=0In[7]:=f[x_]:=x/;x0(2)函数赋值直接赋值:y[3.2]、y[]等7、初等代数运算(1)多项式运算与因式分解Expand[多项式]将多项式按升幂展开Factor[多项式]将多项式进行因式分解Simplify[多项式]将多项式化为最简形式Collect[多项式,x]将多项式按x的同次幂合并形式展开例1设q=(1+2x-y)2,将q展开.In[6]:=q=Expand[(1+2*x-y)^2]Out[6]=1+4x+4x2-2y-4xy+y2例2将多项式120-46x-19x2+4x3+x4分解因式.In[7]:=Factor[120-46*x-19*x^2+4*x^3+x^4]Out[7]=(-3+x)(-2+x)(4+x)(5+x)(2)解方程命令形式1:Solve[方程,变量]功能:求多项式方程的所有根,当多项式方程的次数n4时,给出所有根的准确形式;当n4时,不一定能求出所有的根.例1求方程x2-1=0的根.In[8]:=Solve[x^2-1==0,x]Out[8]={{x→-1},{x→1}}命令形式2:Solve[{方程1,方程2,…,方程n},{变量1,变量2,…,变量n}]功能:求多项式方程组的所有根.例2解方程组2x+y=4,x+y=3.In[9]:=Solve[{2*x+y==4,x+y==3},{x,y}]Out[9]={{x→1},{y→2}}命令形式3:NSolve[方程,变量]功能:求多项式方程的所有根的近似形式。命令形式4:NSlove[{方程1,方程2,…,方程n},{变量1,变量2,…,变量n}]功能:求多项式方程组所有根的近似形式。注意:所有命令中第一字母必须大写;方程中等号用双等号(==)。例3求方程组x+3y=0,x2+y2=1的所有近似根。In[10]:=NSolve[{x+3*y==0,x^2+y^2==1},{x,y}]Out[10]={{x→-0.948683,y→0.316228},{x→0.948683,y→-0.316228}}(3)把有理分式拆成简单分式(部分分式)之和命令形式:Apart[多项式]如把有理分式拆成简单分式之和In[11]:=y=(1-x^2)/(9+21*x+16*x^2+4*x^3)Apart[y]Out[11]=3224162191xxxx)23(21)23(252xx三、用Mathematica做高等数学极限、导数和积分是高等数学中的主要概念和运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica可以帮你快速解决这些问题。Mathematica提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。1、极限运算命令形式1:Limit[f,x-x0]功能:计算x-x0时f的极限,其中f是x的函数。命令形式2:Limit[f,x-x0,Direction-1]功能:计算x-x0时f的左极限,其中f是x的函数。命令形式3:Limit[f,x-x0,Direction--1]功能:求x-x0时f的右极限,其中f是x的函数。注意:在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。例求下列极限(1)(2)(3)(4)解:(1)In[12]:=Limit[(E^(2*x)-1)/x,x-0]Out[12]=2(2)In[13]:=Limit[2^(1/x),x-0,Direction--1]Out[13]=(3)In[14]:=Limit[2^x,x-0,Direction-1]Out[14]=1(4)In[15]:=Limit[ArcTan[x],x-Infinity]Out[15]=xeLimxx120xxLim102xxLim20xLimxarctan22、求导数与微分(1)求导数命令形式1:D[f,x]功能:求函数f对x的导数。例1求的导数。In[16]:=D[x^8*Sin[3x],x]Out[16]=3x8Cos[3x]+8x7Sin[3x]命令形式2:D[f,{x,n}]功能:求函数f对x的n阶导数。例2求的三阶导数。In[18]:=D[x^8*Sin[x],{x,3}]Out[18]=168x6Cos[x]-x8Cos[x]+336x5Sin[x]-24x7Sin[x]xxy3sin8xxysin8(2)求微分:dy=f(x)dx命令形式:Dt[f]功能:对函数f(x)求微分df例求y=sinx2的微分dy.In[20]:=Dt[Sin[x^2]]Out[20]=2xCos[x2]Dt[x]3、求不定积分与定积分(1)求不定积分命令形式:Integrate[f,x]例计算In[21]:=Integrate[1/(Sin[x]^2Cos[x]^2),x]Out[21]=-Cot[x]+Tan[x](2)计算定积分命令形式1:Integrate[f[x],{x,xmin,xmax}]功能:计算定积分xmin,xmax表示积分下限和上限。命令形式2:NIntegrate[f[x],{x,xmin,xmax}]功能:计算定积分的数值积分,xmin,xmax必须是数字,不能是字母。221dxsinxcosx例1计算定积分解:In[22]:=Integrate[(1+x-1/x)*Exp[x+1/x],{x,1,2}]Out[22]=例2计算定积分解:本题用定积分基本公式是积不出来的,用上面命令2可以计算出结果(课本P103)In[23]:=NIntegrate[Exp[x^2],{x,0,1}]Out[23]=1.46265(不用该命令,显示错误或不认识的符号)2111(1)xxxedxx5222ee210dxxe4、综合应用例求变上限函数的导数In[24]:=D[Integrate[Sqrt[1-t^2],{t,0,x^2}],x]Out[24]=In[25]:=Simplify[%]Out[25]=dttxfx2021)(5444122(21)211xxxxxx421xx5.用Mathematic解常微分方程命令形式1:Dsolve[eqn,y[x],x]功能:解y[x]为未知函数的微分方程eqn,x为变量命令形式2:Dsolve[{eqn,y[0]==x0},y[x],x]功能:求微分方程满足初始条件y[0]==x0的特解例1:求微分方程y’’+2y’+y=0的通解解:In[27]:=DSolve[y’’[x]+2y’[x]+y==0,y[x],x]Out[27]=例2:求微分方程y’=y+x满足初始条件y(0)=1的特解解:In[28]:=DSolve[{y’[x]==y[x]+x,y[0]==1},y[x],x]Out[28]={{y[x