1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。感谢您,数 学 软 件 选 讲,Mathematica,Matlab,SAS,第1页,第 一 篇Mathematica,第2页,基础知识,作为一门新编程语言,图形处理(二维、三维及其参数方程形式),极限、微分与积分,求解方程(组)、微分方程(组),在线形代数方面应用,数值处理,文件及其它高级操作,第3页,第一章基础知识,一、Mathematica3.0 界面及运行介绍,二、基本数值运算,1.整数运算:加、减、乘、除、幂、阶乘,2.数学
2、常量:E、Pi、I、Degree、Infinity,3.函数及数学函数,4.浮点数及复数运算:N函数,第4页,三、变量及表示式,1.变量定义及去除,变量特点,(1)变量默认作用域是全局,(2),全局变量不需事先定义或申明,(3)尽可能防止使用下划线定义变量,2.多项式及其操作,(1)定义、替换符操作,第5页,(2)惯用操作:,Expand、Factor、Together、Part,Simplify、Collect、Coefficient、,Exponent,四、序列及其操作,1.序列定义,2.序列生成:Table函数,3.序列操作,第6页,(1)添加删除:Append、Prepend、Inse
3、rt、,Delete、DeleteCases,(2)取元素:Part、Take、Drop、Select,(3)检测:Length、Count、Position,五、表示式“头”概念:,Head及Apply函数,第7页,六、自定义函数,1.一元函数,例:,Clearf,x,fx_:=x2+4x-2,2.多元函数,例:,fx_,y_:=x2+y2-3,3.迭代函数,例:,fn_:=fn-1+fn-2;,f0=1;f1=1;,第8页,1,条件语句,逻辑判断符,=!=,=!=,第二章编程语言,第9页,逻辑运算符,!|&,/;运算符,x=a/;,test,仅当test为True时才执行赋值语句,If,语
4、句,语法:,If test,then,else,若,test,为,True,,则执行,then,,若,test,为,False,,则执行,else.,第10页,Which,语句,语法:,Which test1,value1,test2,依次计算,testi,,给出对应第一个,test,为,True value,Switchexpr,form1,value1,form2,比较,expr,与,formi,,给出与第一个,form,值匹配,value,第11页,例1.定义以下函数:,使用/;定义:,f,x,_:=0,/;x0&,x,2,第12页,使用,If,定义:,f,x,_:=If,x2,x,2,
5、x,使用,Which,定义:,f,x,_:=Which,x2,x,2,True,x,2,输出语句,Print,第13页,3,循环语句,Do,语句,语法:,Doexpr,i,imin,imax,di,计算,expr,i=imin,imax,,步长为,di,While,语句,语法:,Whiletest,body,当,test,为,True,时,计算,body,第14页,For,语句,语法:,Forstart,test,incr,body,以,start,为起始值,重复计算,body,和,incr,,直到,test,为,False,时为止,循环控制语句,Break,和,Continue,Break,
6、退出最里面循环,Continue,转入当前循环下一步,第15页,基本二维图形,Plot,f,x,xmin,xmax,,,用于绘制形如,y,=,f,(,x,),函数图形。,当将多个图形绘制在同一坐标系上时,形如:,Plot,f,1,f,n,x,xmin,xmax,注意:有时需要使用,Evaluate,函数。,第三章图形处理,第16页,例:在同一坐标系下绘出,sinx,sin2x,sin3x,sin4x,sin5x,图形。,惯用选项:,PlotStyle,Hue,a,设置线条颜色,PlotRange,a,b,控制显示范围,DisplayFunction,控制图形显示,AspectRatio,图形宽
7、、高比,AxesOrigin,设置原点坐标,第17页,程序:,Cleara,y,x,v=200;g=9.8;,ya,_,x,_,:=Tana*x-g*x2*Seca2/(2v2),Plot,Evaluate,Tableyi,x,i,Pi/12,5Pi/12,Pi/12,x,0,4000,例:有以下抛物线簇:,第18页,ListPlot,List,,,用于绘制散点图。,注意,,List,形式应为:,例:在同一坐标系下绘制以下两组散点图,p1=0,0,0,45,5.3,89.6,22.6,131.2;,p2=0,0,2.68,44.8,12.57,88.28,27,130.3;,程序:,g1=Li
8、stPlotp1,PlotJoined-True,DisplayFunction-Identity;,g2=ListPlotp2,PlotJoined-True,DisplayFunction-Identity;,Showg1,g2,DisplayFunction-$DisplayFunction;,第19页,ParametricPlot,f,x,f,y,t,tmin,tmax,用于绘制形如,x,=,f,x,(,t,),y,=,f,y,(,t,),参数方程图形。,例:绘制以点(3,4)为圆心,半径为2圆。,ParametricPlot3+2Cost,4+2Sint,t,0,2Pi,可增加以下选
9、项:,AspectRatio-1,AxesOrigin-0,0,第20页,2.其它二维图形,ContourPlot,f,x,xmin,xmax,y,ymin,ymax,,,用于绘制形如,z,=,f,(,x,y,),函数等高线图。,DensityPlot,f,x,xmin,xmax,y,ymin,ymax,,,用于绘制形如,z,=,f,(,x,y,),函数密度图。,例:绘制函数,f=sinxsiny,等高线图和密度图,第21页,3.三维图形,Plot3D,f,x,xmin,xmax,y,ymin,ymax,绘制形如,Z,=,f,(,x,y,)三维图形。,例:绘制以下函数图形:,Z,=10,sin
10、,(,x+siny),命令:,Plot3D10 Sinx+Siny,x,-10,10,y,-10,10,可增加选项:,PlotPoints-40,第22页,ParametricPlot3D,f,x,f,y,f,z,t,tmin,tmax,u,umin,umax,用于绘制形如,x,=,f,x,(,t,),y,=,f,y,(,t,),z,=,f,z,(,t,),参数图形。,第23页,第24页,4.利用函数包绘制特殊图形,载入图形函数包方法:,类名包名,例:,GraphicsGraphics,PolarPlot,r,t,tmin,tmax,绘制极坐标图形,LogPlot,f,x,xmin,xmax,
11、画对数线性图,BarChart,list,画出,list,条形图,PieChart,list,画出,list,百分图,第25页,例:,x,o,求,x,迫近,x,o,时,expr,极限,一些函数在一点处极限随迫近方向不一样而不一样,可用,Direction,选择方向:,Limit,expr,x,-,x,o,Direction,-,1 左极限,Limit,expr,x,-,x,o,Direction,-,1 右极限,例:求1/,x,左右极限,例:,第28页,3.微分,D,f,x,n,求,f n,阶偏微分,Dt,f,求,f,全微分,例:,Dxn,x,3,Dtx2+y2,例:,y,=,x,arctg,
12、x,,求其100阶导数及其在0 点值,第29页,4.积分,Integrate,f,x,求,f,不定积分,Integrate,f,x,xmin,xmax,求,f,定积分,Integrate,f,x,xmin,xmax,y,ymin,ymax,求,f,多重积分,例:,第30页,第三章线性代数,1.结构矩阵和向量,Table,f,i,m,j,n,结构,m,n,矩阵,,f,是,i,j,函数,给出,i,j,项值,Array,f,m,n,结构,m,n,矩阵,,i,j,项值是,f,i,j,DiagonalMatrix,List,生成对角线元素为,List,对角矩阵,IdentityMatrix,n,结构,n
13、,阶单位阵,第31页,截取矩阵块,M,i,取矩阵M第,i,行,Map,#,i,&,M取矩阵M第,i,列,M,i,j,取矩阵M,i,j,位置元素,M,i,1,i,r,j,1,j,s,矩阵M,r,s,子矩阵,元素行标为,i,k,,列标为,j,k,M,Range,i,0,i,1,Range,j,0,j,1,矩阵M从,i,0,到,i,1,行,,j,0,到,j,1,列元素组成子矩阵,第32页,3.矩阵及向量运算,M,.,N对M、N做矩阵乘法(向量内积),M,*,N将M、N对应位置元素相乘,Outer,Times,M,N求M、N外积,Dimensions,M 给出矩阵M维数,Transpose,M 转置,
14、Inverse,M 求逆,Det,M,方阵M行列式值,第33页,MatrixPower,M,n,n,阶矩阵幂,MatrixExp,M矩阵指数,Eigenvalues,M M特征值,Eigenvectors,MM特征向量,第34页,第四章,求解方程(组)、微分方程(组),1.求解多项式方程(组),Solve,eqns,vars,求解多项式方程,Solve,eqn,1,eqn,n,var,1,var,n,求解多项式方程组,注:,Solve,只能给出多项式方程(组)解,所以它们只适合用于幂次不高、规模不大多项式方程(组)。,第35页,NSolve,eqns,vars,求多项式方程数值解,NSolve
15、,eqn,1,eqn,n,var,1,var,n,求多项式方程组数值解,对于数值解,能够直接用,NSolve,求解,例:求解以下方程(组),x,2,+ax=,2,x,3,+,34,x+,1,=,0,x,5,-,1331,x+,11=0,第36页,2.求解微分方程(组),DSolve,eqns,y,x,x,求解,y,x,微分方程,DSolve,eqns,y,x,以纯函数形式给出,y,解,DSolve,eqn,1,eqn,2,y,1,y,2,x,求解微分方程组,例:求解以下微分方程(组),y,=,y y,k,y=,1,第37页,第五章数值处理,1.数值积分,NIntegrate,expr,x,xm
16、in,xmax,注意,,NIntegrate,直接计算数值积分,不先给出符号结果,而,Integrate,/,N,会尽可能先求准确解形式。,数值根求解,FindRoot,lhs=rhs,x,x,0,以,x,0,为初始点求方程数值解,第38页,FindRoot,lhs=rhs,x,x,0,x,1,给出两个初值求数值根(方程符号导数无法求出时,必须使用此形式),FindRoot,eqn,1,eqn,2,x,x,0,y,y,0,对联立方程,eqn,i,求数值解,例:求解以下方程(组),cosx=xx,600,+,5,x+,3,=,0,第39页,3.微分方程数值解,N,DSolve,eqn,1,eqn
17、,2,y,x,xmin,xmax,求函数,y,数值解,,x,范围为,xmin,xmax,N,DSolve,eqn,1,eqn,2,y,1,y,2,x,xmin,xmax,求函数,y,i,数值解,注:,以上两种形式用于求解常微分方程(组),N,DSolve,以,InterpolatingFunction,目标生成函数,y,i,解。,InterpolatingFunction,目标提供独立变量,x,在,xmin,到,xmax,范围内,y,i,近似值。,第40页,例:求解以下微分方程(组)并画出函数,y,图形,第41页,N,DSolve,eqn,1,eqn,2,y,x,xmin,xmax,t,tmi
18、n,tmax,求由函数,y,组成偏微分方 程数值解,N,DSolve,eqn,1,eqn,2,y,1,y,2,x,xmin,xmax,t,tmin,tmax,求由函数,y,i,构成偏微分方程组数值解,例:求下面微分方程数值解并绘图。,第42页,第43页,4.极大极小值,ConstrainedMax,f,inequalities,x,y,ConstrainedMax,f,inequalities,x,y,求由目标函数,f,和不等式约束,inequalities,组成线形规划,例:,ConstrainedMaxx+y,x1,y=,isequal,函数,2,逻辑运算符,&|,3,条件语句,if-el
19、se语句,switch-case语句,第56页,4,循环语句,for语句,while语句,三、编程技巧,1.调试程序,2.输入输出参数,nargin、nargout,第57页,第三章Matlab图形处理,一、二维图形,1.基本二维图形,Plot,使用方法以下:,a,.,Plot,(,X,),b,.,Plot,(,X,Y,),c,.,Plot,(,X1,Y1,X2,Y2,),d,.,Plot,(,X1,Y1,LineSpec1,X2,Y2,X3,Y3,),第58页,其中参数,LineSpec,定义线条属性。Matlab中能够对线条定义以下特征:,a,.线型:,-,(实线),-,(划线),:,(点
20、线),-.,(点划线),b,.,线条宽度,:,LineWidth,c,.颜色,d,.标识类型,e,.标识大小:,Markersize,第59页,fPlot,在指定范围limits内画出一元函数,y=f,(,x,)图形,使用方法:,fplot,(,function,limits,),注意:函数,function,必须是一个M文件函数或者是一个包含变量,x,,且能用函数,eval,计算字符串。,例:在同一坐标系下绘制tg,x,和sin,x,图形,fplot(tan(x),sin(x),-1,1,0,2*pi),注意坐标系调整函数,axis,作用和使用方法,第60页,2.图形标注,title,为图形
21、添加标题,xlabel,为,x,轴加标注,ylabel,为,y,轴加标注,text,在指定位置上添加文本字符串,gtext,用鼠标在图形上放置文本,legend,为图形添加图例,第61页,3.特殊二维图形,polar,画极坐标形式函数,r,=,f,(,),极坐标图,使用方法以下:,polar,(,theta,rho,LineSpec,),例:,t=0:.01:2*pi;,polar(t,sin(3*t).*cos(2*t),-r),4.其它二维图形,pie,用,x,中数据画一饼形图,第62页,semilogx,x,轴对数图形,loglog,双对数图形,bar,用二维垂直条形显示向量或矩阵中值,
22、barh,用二维水平条形显示向量或矩阵中值,hist,二维条形直方图,能够显示出数据分 配情形,第63页,二、三维图形,1.曲面与网格图形命令,mesh,生成由,X,,,Y,和,Z,指定网线面,在使用该命令前应先用,meshgrid,函数生成可用,于计算函数值矩阵网格。,通惯使用方法以下:,X,Y,=,meshgrid,(,a,),Z,=,f,(,X,Y,),mesh,(,X,Y,Z,),第64页,2.三维图形其它形式,contour,曲面等高线图,pie3,三维饼图,surf,在矩形区域内显示三维带阴影曲面图,quiver,矢量图或速度图,surfnorm,计算与显示三维曲面法线,第65页,
23、第四章Matlab应用,一、多项式运算,二、极限,limit,(,F,x,a,right,),x,趋向于,a,时,F,极限,三、导数,diff,(,S,v,n,),第66页,四、积分,1.符号积分,a,.不定积分,int,(,S,v,),b,.定积分,int,(,S,v,a,b,),2.数值积分,a,.一元函数,quad,(,fun,a,b,)自适应Simpson法,trapz,(,X,Y,)梯形法,第67页,b,.二元函数,dblquad,(,fun,xmin,xmax,ymin,ymax,),在矩形区域,xmin,xmax,ymin,ymax,上计算二元函数,z=f,(,x,y,)二重积分
24、,quad2ggen,(,fun,xlower,xupper,ylower,yupper,),在任意区域,xlower,xupper,ylower,yupper,上计算二元函数,z=f,(,x,y,)二重积分,第68页,五.插值,a,.,interp1,(,X,Y,x,i,method,)一维数据插值,b,.,interp2,(,X,Y,Z,x,i,y,i,method,)二维数据插值,例:已知19到每隔十年数据以下:,75.995 91.972 105.711 123.203 131.669 150.697,179.323 203.212 226.505 249.633 256.344 26
25、7.893,用插值法求1995年数据。,第69页,六、方程(组)求解,1.方程(组)符号解,solve,(eq)求方程符号解,solve,(eq,1,eq,2,eq,n,)求方程组符号解,例:,solve(x2+3x-6),solve(-x2*y+3*x-6,x+y2-1),2.方程(组)数值解,fzero,(fun,x,0,)用数值方法求方程根,第70页,fsolve,(fun,x,0,)用数值方法求方程根,例:求以下方程根,解:先建立方程函数文件,并保留为myfun.m,function F=myfun(x),F=2*x(1)-x(2)-exp(-x(1);,-x(1)+2*x(2)-ex
26、p(-x(2);,然后调用优化程序,x0=-5;-5;%初始点,x,fval=fsolve(myfun,x0,options,),第71页,七、积分变换,1.Fourier积分变换,F=fourier,(,f,),对符号单值函数,f,中缺省变量,x,(由命令findsym确定)计算Fourier变换形式,例:,syms x w u v,f=sin(x)*exp(-x2),F=fourier(f),注:用eval函数计算得出表示式,f=ifourier,(,F,),逆,Fourier积分变换,Y=fft,(,X,)快速Fourier变换,第72页,2.Laplace变换,L=laplace,(,
27、F,),输出参量L=L(s)为有缺省符号自变量t标量符号对象FLaplace变换,例:,syms x s t v,f1=sqrt(t);,L1=laplace(f),F=ilaplace,(,L,),逆,Laplace,变换,3.Z变换,F=ztrans,(,f,),对缺省自变量为n单值函数f计算z-变换,第73页,八、求解微分方程(组),1.常微分方程(组)符号解,dsolve,(,eq1,eq2,)缺省独立变量为,t,例:,dsolve(Dy=1+y2,y(0)=1),dsolve(D3u=u,u(0)=1,Du(0)=-1,D2u(0)=pi),2.常微分方程(组)数值解,ode45、o
28、de23、ode113、ode15s、ode23s、de23t、,ode23tb,第74页,3.偏微分方程数值解,assempde,单Poission方程(一类特殊椭圆型方程),能求解方程形如:,,,hyperbolic,仅能求解以下形式双曲型方程:,,,第75页,parabolic,仅能求解以下形式抛物型方程:,,,第76页,九、极值问题(优化工具箱),1.无条件极值问题,fminu,(,fun,x,0,options,),2.条件极值问题,constr,(,fun,x,0,options,),3.有界条件问题,constr,(,fun,x,0,options,VLB,VUB,),第77页,