《数学软件选讲ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学软件选讲ppt课件.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学软件选讲ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第 一 篇Mathematica基础知识作为一门新的编程语言图形处理(二维、三维及其参数方程的形式)极限、微分与积分求解方程(组)、微分方程(组)在线形代数方面的应用数值处理文件及其它高级操作第一章 基础知识一、Mathematica3.0 界面及运行介绍二、基本数值运算1.整数运算:加、减、乘、除、幂、阶乘2.数学常量:E、Pi、I、Degree、Infinity3.函数及数学函数4.浮点数及
2、复数运算:N函数三、变量及表达式1.变量的定义及清除 变量的特点(1)变量的默认作用域是全局的(2)全局变量不需事先定义或声明(3)尽量避免使用下划线定义变量 2.多项式及其操作(1)定义、替换符操作(2)常用操作:Expand、Factor、Together、PartSimplify、Collect、Coefficient、Exponent四、序列及其操作1.序列的定义2.序列的生成:Table函数3.序列的操作 (1)添加删除:Append、Prepend、Insert、Delete、DeleteCases (2)取元素:Part、Take、Drop、Select (3)检测:Length
3、、Count、Position五、表达式“头”的概念:Head及Apply函数六、自定义函数 1.一元函数例:Clearf,xfx_:=x2+4x-2 2.多元函数例:fx_,y_:=x2+y2-3 3.迭代函数例:fn_:=fn-1+fn-2;f0=1;f1=1;1 条件语句 逻辑判断符=!=!=第二章 编程语言 逻辑运算符!|&/;运算符x=a/;test仅当test为True时才执行赋值语句 If 语句语法:If test,then,else若test为 True,则执行then,若test为False,则执行else.Which 语句语法:Which test1,value1,test
4、2,依次计算testi,给出对应第一个test为True 的value Switchexpr,form1,value1,form2,比较expr与formi,给出与第一个form值匹配的value例1.定义如下的函数:使用/;定义:f x_:=0 /;x0&x2 使用 If 定义:f x_:=If x2,x2,x 使用Which定义:f x_:=Which x2,x2,True,x 2 输出语句Print3 循环语句 Do 语句语法:Doexpr,i,imin,imax,di计算expr,i=imin,imax,步长为di While 语句语法:Whiletest,body当test为True
5、时,计算body For 语句语法:Forstart,test,incr,body以start为起始值,重复计算body和incr,直到test为False时为止 循环控制语句Break和ContinueBreak退出最里面的循环Continue转入当前循环的下一步1.基本二维图形2.Plot f,x,xmin,xmax,用于绘制形如y=f(x)的函数的图形。3.当将多个图形绘制在同一坐标系上时,形如:Plot f1,fn,x,xmin,xmax4.注意:有时需要使用Evaluate函数。第三章 图形处理例:在同一坐标系下绘出sinx,sin2x,sin3x,sin4x,sin5x的图形。常用
6、的选项:PlotStyleHuea设置线条颜色PlotRangea,b控制显示范围DisplayFunction控制图形显示AspectRatio图形的宽、高比AxesOrigin设置原点坐标程序:Cleara,y,xv=200;g=9.8;ya_,x_:=Tana*x-g*x2*Seca2/(2v2)PlotEvaluateTableyi,x,i,Pi/12,5Pi/12,Pi/12,x,0,4000例:有如下的抛物线簇:ListPlot List,用于绘制散点图。注意,List的形式应为:例:在同一坐标系下绘制下列两组散点图p1=0,0,0,45,5.3,89.6,22.6,131.2;p
7、2=0,0,2.68,44.8,12.57,88.28,27,130.3;程序:g1=ListPlotp1,PlotJoined-True,DisplayFunction-Identity;g2=ListPlotp2,PlotJoined-True,DisplayFunction-Identity;Showg1,g2,DisplayFunction-$DisplayFunction;ParametricPlot fx,fy,t,tmin,tmax 用于绘制形如x=fx(t),y=fy(t)的参数方程图形。例:绘制以点(3,4)为圆心,半径为2的圆。ParametricPlot3+2Cost,4
8、+2Sint,t,0,2Pi可增加如下选项:AspectRatio-1,AxesOrigin-0,02.其它二维图形 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的等高线图和密度图3.三维图形 Plot3D f,x,xmin,xmax,y,ymin,ymax绘制形如Z=f(x,y)的三维图形。例:绘制以下的函数图形:Z=10sin(x+siny)命令:Plot3D10
9、 Sinx+Siny,x,-10,10,y,-10,10可增加选项:PlotPoints-40ParametricPlot3D fx,fy,fz,t,tmin,tmax,u,umin,umax 用于绘制形如x=fx(t),y=fy(t),z=fz(t)的参数图形。4.利用函数包绘制特殊图形载入图形函数包的方法:类名类名包名包名例:例:GraphicsGraphics PolarPlotr,t,tmin,tmax绘制极坐标图形 LogPlotf,x,xmin,xmax画对数线性图 BarChartlist画出list的条形图 PieChartlist画出list的百分图例:例:xo 求 x 逼近
10、 xo时expr的极限某些函数在一点处的极限随逼近方向不同而不同,可用Direction选择方向:Limitexpr,x-xo,Direction-1 左极限 Limitexpr,x-xo,Direction-1 右极限例:求1/x 的左右极限例:3.微分D f,x,n求f 的n阶偏微分 Dt f 求f 的全微分例:Dxn,x,3 Dtx2+y2例:y=xarctgx,求其100阶导数及其在0 点的值4.积分Integrate f,x求f 的不定积分Integrate f,x,xmin,xmax求 f 的定积分Integrate f,x,xmin,xmax,y,ymin,ymax求 f 的多重
11、积分例:第三章 线性代数1.构造矩阵和向量Table f,i,m,j,n构造mn矩阵,f 是i,j的函数,给出i,j项值Array f,m,n构造mn矩阵,i,j项的值是 f i,jDiagonalMatrix List生成对角线元素为List的对角矩阵IdentityMatrixn构造n阶单位阵2.截取矩阵块3.Mi取矩阵M的第 i 行4.Map#i&,M取矩阵M的第 i 列5.Mi,j 取矩阵M的i,j 位置的元素6.Mi1,ir,j1,js矩阵M的rs子矩阵,元素行标为ik,列标为jk7.MRangei0,i1,Rangej0,j1 矩阵M的从 i0到i1行,j0到j1列元素组成的子矩阵
12、3.矩阵及向量的运算M.N对M、N做矩阵乘法(向量内积)M*N将M、N的对应位置元素相乘OuterTimes,M,N 求M、N的外积Dimensions M 给出矩阵M的维数Transpose M 转置Inverse M 求逆Det M 方阵M的行列式值MatrixPowerM,nn阶矩阵幂MatrixExpM矩阵指数Eigenvalues M M的特征值EigenvectorsMM的特征向量第四章求解方程(组)、微分方程(组)1.求解多项式方程(组)Solve eqns,vars求解多项式方程Solveeqn1,eqnn,var1,varn求解多项式方程组注:Solve只能给出多项式方程(组
13、)的解,因此它们只适用于幂次不高、规模不大的多项式方程(组)。NSolve eqns,vars 求多项式方程的数值解NSolveeqn1,eqnn,var1,varn求多项式方程组的数值解对于数值解,可以直接用NSolve求解例:求解以下方程(组)x2+ax=2x3+34x+1=0 x5-1331x+11=02.求解微分方程(组)DSolve eqns,yx,x求解yx的微分方程DSolve eqns,y,x 以纯函数的形式给出y的解DSolveeqn1,eqn2,y1,y2,x 求解微分方程组例:求解以下微分方程(组)y=y y k y=1第五章 数值处理1.数值积分NIntegrateex
14、pr,x,xmin,xmax注意,NIntegrate直接计算数值积分,不先给出符号结果,而Integrate/N会尽可能的先求精确解的形式。2.数值根求解3.FindRootlhs=rhs,x,x0 以x0为初始点求方程的数值解FindRootlhs=rhs,x,x0,x1给出两个初值求数值根(方程的符号导数无法求出时,必须使用此形式)FindRooteqn1,eqn2,x,x0,y,y0,对联立方程 eqni 求数值解例:求解下列方程(组)cosx=xx600+5x+3=03.微分方程数值解NDSolveeqn1,eqn2,y,x,xmin,xmax求函数y的数值解,x的范围为xmin,x
15、maxNDSolveeqn1,eqn2,y1,y2,x,xmin,xmax求函数yi的数值解注:以上两种形式用于求解常微分方程(组)NDSolve以InterpolatingFunction目标生成函数yi的解。InterpolatingFunction目标提供独立变量x在xmin到xmax范围内yi的近似值。例:求解以下微分方程(组)并画出函数y的图形NDSolveeqn1,eqn2,y,x,xmin,xmax,t,tmin,tmax 求由函数y构成的偏微分方 程的数值解NDSolveeqn1,eqn2,y1,y2,x,xmin,xmax,t,tmin,tmax求由函数yi构成的偏微分方程组
16、的数值解 例:求下面微分方程的数值解并绘图。4.极大极小值ConstrainedMax f,inequalities,x,y,ConstrainedMax f,inequalities,x,y,求由目标函数 f 和不等式约束inequalities构成的线形规划例:ConstrainedMaxx+y,x1,y=isequal函数2逻辑运算符&|3条件语句 if-else语句 switch-case语句4循环语句 for语句 while语句三、编程技巧1.调试程序2.输入输出参数nargin、nargout第三章 Matlab图形处理一、二维图形 1.基本二维图形Plot用法如下:a.Plot(
17、X)b.Plot(X,Y)c.Plot(X1,Y1,X2,Y2,)d.Plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,)其中参数LineSpec定义线条的属性。Matlab中可以对线条定义如下的特性:a.线型:-(实线)-(划线):(点线)-.(点划线)b.线条宽度:LineWidthc.颜色d.标记类型e.标记大小:Markersize fPlot在指定的范围limits内画出一元函数y=f(x)的图形用法:fplot(function,limits)注意:函数function必须是一个M文件函数或者是一个包含变量 x,且能用函数eval计算的字符串。例:在同一坐标系下绘制
18、tgx和的sinx图形fplot(tan(x),sin(x),-1,1,0,2*pi)注意坐标系调整函数axis的作用和用法2.图形标注title为图形添加标题xlabel为x轴加标注ylabel为y轴加标注text在指定位置上添加文本字符串gtext用鼠标在图形上放置文本legend为图形添加图例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中的数据画一饼形图semilogxx轴对数图形loglog
19、双对数图形bar 用二维垂直条形显示向量或矩阵中的值barh 用二维水平条形显示向量或矩阵中的值hist 二维条形直方图,可以显示出数据的分 配情形二、三维图形 1.曲面与网格图形命令mesh生成由X,Y和Z指定的网线面在使用该命令前应先用meshgrid函数生成可用 于计算函数值的矩阵网格。通常用法如下:X,Y=meshgrid(a)Z=f(X,Y)mesh(X,Y,Z)2.三维图形的其它形式contour曲面的等高线图pie3三维饼图surf 在矩形区域内显示三维带阴影曲面图quiver 矢量图或速度图surfnorm 计算与显示三维曲面的法线 第四章 Matlab应用一、多项式运算二、极
20、限limit(F,x,a,right)x趋向于a时F的极限三、导数diff(S,v,n)四、积分 1.符号积分a.不定积分 int(S,v)b.定积分 int(S,v,a,b)2.数值积分a.一元函数 quad(fun,a,b)自适应Simpson法 trapz(X,Y)梯形法 b.二元函数dblquad(fun,xmin,xmax,ymin,ymax)在矩形区域xmin,xmax,ymin,ymax上计算二元函数z=f(x,y)的二重积分quad2ggen(fun,xlower,xupper,ylower,yupper)在任意区域xlower,xupper,ylower,yupper上计算二
21、元函数z=f(x,y)的二重积分1.五.插值2.a.interp1(X,Y,xi,method)一维数据插值3.b.interp2(X,Y,Z,xi,yi,method)二维数据插值例:已知1900年到2010年每隔十年的数据如下:75.995 91.972 105.711 123.203 131.669 150.697179.323 203.212 226.505 249.633 256.344 267.893用插值法求1995年的数据。六、方程(组)求解 1.方程(组)的符号解solve(eq)求方程的符号解solve(eq1,eq2,eqn)求方程组的符号解例:solve(x2+3x-6
22、)solve(-x2*y+3*x-6,x+y2-1)2.方程(组)的数值解fzero(fun,x0)用数值方法求方程根fsolve(fun,x0)用数值方法求方程根 例:求下列方程的根解:先建立方程函数文件,并保存为解:先建立方程函数文件,并保存为myfun.mfunction F=myfun(x)F=2*x(1)-x(2)-exp(-x(1);-x(1)+2*x(2)-exp(-x(2);然后调用优化程序然后调用优化程序x0=-5;-5;%初始点初始点x,fval=fsolve(myfun,x0,options)七、积分变换 1.Fourier积分变换F=fourier(f)对符号单值函数
23、f 中的缺省变量 x(由命令findsym确定)计算Fourier变换形式例:syms x w u vf=sin(x)*exp(-x2)F=fourier(f)注:用eval函数计算得出的表达式f=ifourier(F)逆Fourier积分变换Y=fft(X)快速Fourier变换2.Laplace变换L=laplace(F)输出参量L=L(s)为有缺省符号自变量t的标量符号对象F的Laplace变换例:syms x s t vf1=sqrt(t);L1=laplace(f)F=ilaplace(L)逆Laplace变换3.Z变换F=ztrans(f)对缺省自变量为n的单值函数f计算z-变换八
24、、求解微分方程(组)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、ode23、ode113、ode15s、ode23s、de23t、ode23tb 3.偏微分方程数值解 assempde单的Poission方程(一类特殊的椭圆型方程),能求解的方程形如:,hyperbolic仅能求解如下形式的双曲型方程:,parabolic仅能求解如下形式的抛物型方程:,九、极值问题(优化工具箱)1.无条件极值问题fminu(fun,x0,options)2.条件极值问题constr(fun,x0,options)3.有界条件问题constr(fun,x0,options,VLB,VUB)