资源描述
MATLAB简介MATLABMATLAB是是MATrixMATrix LABoratoryLABoratory 的缩写,是由美国的缩写,是由美国MathWorksMathWorks公司开发的工程计算软件,迄今公司开发的工程计算软件,迄今MATLABMATLAB已已推出了推出了6.56.5版版.1984.1984年年MathWorksMathWorks公司正式将公司正式将MATLABMATLAB推推向市场,从这时起,向市场,从这时起,MATLABMATLAB的内核采用的内核采用C C语言编写,语言编写,而且除原有的数值计算能力外,还新增了数据图视功而且除原有的数值计算能力外,还新增了数据图视功能能.在国际学术界,在国际学术界,MATLABMATLAB已经被确认为准确、可靠已经被确认为准确、可靠的科学计算标准软件的科学计算标准软件.在设计研究单位和工业部门,在设计研究单位和工业部门,MATLABMATLAB被认作进行高效研究、开发的首选软件工具被认作进行高效研究、开发的首选软件工具.MATLAB的功能MATLABMATLAB产品组是从支持概念设计、算法开发、建模仿真,产品组是从支持概念设计、算法开发、建模仿真,到实时实现的集成环境,可用来进行:到实时实现的集成环境,可用来进行:数据分析数据分析数值与符号计算数值与符号计算工程与科学绘图工程与科学绘图控制系统设计控制系统设计数字图像信号处理数字图像信号处理建模、仿真、原型开发建模、仿真、原型开发财务工程、应用开发、图形用户界面设计财务工程、应用开发、图形用户界面设计MATLAB语言特点编程效率高,允许用数学的语言来编写程序编程效率高,允许用数学的语言来编写程序用户使用方便,把程序的编辑、编译、连接和执行融为一体用户使用方便,把程序的编辑、编译、连接和执行融为一体高效方便的矩阵和数组运算高效方便的矩阵和数组运算语句简单,内涵丰富语句简单,内涵丰富扩充能力强,交互性,开放性扩充能力强,交互性,开放性方便的绘图功能方便的绘图功能该软件由该软件由c c语言编写,移植性好语言编写,移植性好MATLAB的环境菜单项;菜单项;工具栏;工具栏;【Command WindowCommand Window】命令窗口;命令窗口;【Launch PadLaunch Pad】分类帮助窗口;分类帮助窗口;【WorkspaceWorkspace】工作区窗口;工作区窗口;【Command HistoryCommand History】指令历史记录窗口;指令历史记录窗口;【Current DirectoryCurrent Directory】当前目录选择窗口;当前目录选择窗口;l MATLAB操作窗口操作窗口双击桌面快捷键,启动软件。双击桌面快捷键,启动软件。接受命令的窗口接受命令的窗口M文件的编写与应用文件的编写与应用 MATLAB的的M文件就是用户把要实现的命令写在文件就是用户把要实现的命令写在一个以一个以m作为文件扩展名的文件中,然后由作为文件扩展名的文件中,然后由MATLAB系统进行解释,运行出结果。即为实现某种功能的系统进行解释,运行出结果。即为实现某种功能的命命令集令集。从而使得。从而使得MATLAB具有强大的可开发性与可扩具有强大的可开发性与可扩展性。展性。MATLAB是由是由C语言开发而成,因此,语言开发而成,因此,M文件的文件的语法规则与语法规则与C语言几乎完全一样。语言几乎完全一样。M文件可在命令窗口直接调用,只需键入文件名。文件可在命令窗口直接调用,只需键入文件名。不在命令窗口显示结果不在命令窗口显示结果调用调用M文件文件shili.m MATLAB在在微积分微积分中的应用中的应用 1、求函数值、求函数值 例例1 在命令窗口中键入表达式在命令窗口中键入表达式并求并求 时的函数值。时的函数值。x=2,y=4z=x2+exp(x+y)-y*log(x)-3x=2y=4z=401.6562命令窗口显示结果:命令窗口显示结果:例例2 用循环语句编写用循环语句编写M文件计算文件计算ex的值,其中的值,其中x,n为输入为输入变量,变量,ex的近似表达式为的近似表达式为function y=e(x,n)y=1;s=1;for i=1:n s=s*i;y=y+xi/s;endy y=e(1,100)ans=y y=2.7183调用函数调用函数M文件文件MATLAB在在微积分微积分中的应用中的应用 2、求极限、求极限 例例3 求极限求极限 syms n;limit(sqrt(n+sqrt(n)-sqrt(n),n,inf)ans=1/2LIMIT Limit of an expression.LIMIT(F,x,a)takes the limit of the symbolic expression F as x-a.LIMIT(F,x,a,right)or LIMIT(F,x,a,left)specify the direction of a one-sided limit.定义符号变量定义符号变量MATLAB在在微积分微积分中的应用中的应用 3、求导数、求导数 例例4 设设,求,求 syms x y=10 x+x10+log(x)y=x10+10 x+log(x)diff(y)ans=10*x9+10 x*log(10)+1/x定义定义X为符号变量为符号变量 求求 Difference:差分:差分 Differential:微分的:微分的 例例5 设设 求求 syms x;y=log(1+x);a=diff(y,x,2)a=-1/(1+x)2 x=1;eval(a)ans=-0.2500求求 求求 将符号表达式将符号表达式转换成数值表达式转换成数值表达式例例6 设设 ,求,求 syms x y;z=exp(2*x)*(x+y2+2*y);a=diff(z,x)b=diff(z,y)c=diff(z,x,2)d=diff(z,y,2)e=diff(a,y)a=2*exp(2*x)*(x+y2+2*y)+exp(2*x)b=exp(2*x)*(2*y+2)c=4*exp(2*x)*(x+y2+2*y)+4*exp(2*x)d=2*exp(2*x)e=2*exp(2*x)*(2*y+2)MATLAB在在微积分微积分中的应用中的应用 4、求极值和零点、求极值和零点 例例7 已知已知,求,求 (1)函数的零点;()函数的零点;(2)函数在)函数在-1,2上的最小值上的最小值 fzero(3*x5-x4+2*x3+x2+3,0)ans=-0.8952 起始点起始点 函数函数 命令函数命令函数 fminbnd(3*x5-x4+2*x3+x2+3,-1,2)ans=-1.1791e-005MATLAB在在微积分微积分中的应用中的应用 4、求极值和零点、求极值和零点 ,求,求 例例8 已知已知 函数在点(函数在点(1,-1,0)附近的最小值)附近的最小值 X,FVAL=FMINSEARCH(x(1)2+2.5*sin(x(2)-x(3)*x(1)*x(2)2,1-1 0)X=0.0010 -1.5708 0.0008FVAL=-2.5000MATLAB在在微积分微积分中的应用中的应用 5、求积分、求积分 例例9 求不定积分求不定积分 int(cos(2*x)*cos(3*x)ans=1/2*sin(x)+1/10*sin(5*x)例例10 求定积分求定积分 Integrate:积分:积分 eval(int(x2*log(x),1,exp(1)ans=4.5746 x=1:0.01:exp(1);y=x.2.*log(x);trapz(x,y)ans=4.5137例例10 求定积分求定积分 int(exp(-x2/2),0,1)ans=1/2*erf(1/2*2(1/2)*2(1/2)*pi(1/2)x=0:0.01:1;y=exp(-x.2/2);trapz(x,y)ans=0.8556 y=exp(-x.2/2);quadl(y,0,1)ans=0.8556变步长数值积分变步长数值积分 梯形法数值积分梯形法数值积分 MATLAB在在微积分微积分中的应用中的应用 5、求积分、求积分 例例11 求二重积分求二重积分 syms x y;f=y2/x2;int(int(f,x,1/2,2),y,1,2)ans=7/2符号积分符号积分 f=(y.2)./(x.2);dblquad(f,1/2,2,1,2)ans=3.5000数值计算数值计算 MATLAB在在微积分微积分中的应用中的应用 6、解微分方程、解微分方程 例例12 计计算初算初值问题值问题:dsolve(Dy=x+y,y(0)=1,x)ans=-x-1+2*exp(x)一定要大写一定要大写 MATLAB在在微积分微积分中的应用中的应用 7、级数问题、级数问题 例例13 求函数求函数 的泰勒展开式,并计算该的泰勒展开式,并计算该函数在函数在x=3.42时的近似值。时的近似值。syms x;taylor(sin(x)/x,x,10)ans=1-1/6*x2+1/120*x4-1/5040*x6+1/362880*x8 x=3.42;eval(ans)ans=-0.0753MATLAB在在线性代数线性代数中的应用中的应用 1、矩阵的基本运算、矩阵的基本运算 例例1 已知已知 a=4-2 2;-3 0 5;1 5 3;b=1 3 4;-2 0-3;2-1 1;a*b12 10 24 7 -14 -7-3 0 -8ans=AB MATLAB在在线性代数线性代数中的应用中的应用 1、矩阵的基本运算、矩阵的基本运算 例例1 已知已知 inv(a)ans=0.1582 -0.1013 0.0633 -0.0886 -0.0633 0.1646 0.0949 0.1392 0.0380MATLAB在在线性代数线性代数中的应用中的应用 1、矩阵的基本运算、矩阵的基本运算 例例1 已知已知 rank(a)ans=3MATLAB在在线性代数线性代数中的应用中的应用 1、矩阵的基本运算、矩阵的基本运算 例例1 已知已知 a/bans=0 0 2.0000 -2.7143 -8.0000 -8.1429 2.4286 3.0000 2.2857MATLAB在在线性代数线性代数中的应用中的应用 1、矩阵的基本运算、矩阵的基本运算 例例1 已知已知 abans=0.4873 0.4114 1.0000 0.3671 -0.4304 0 -0.1076 0.2468 0MATLAB在在线性代数线性代数中的应用中的应用 2、解线性方程组、解线性方程组 a=1-1 4-2;1-1-1 2;3 1 7-2;1-3-12 6;rref(a)ans=1 0 0 00 1 0 00 0 1 00 0 0 1将矩阵将矩阵A化为最简阶梯形化为最简阶梯形R(A)=4=n;所以方程组只有零解。所以方程组只有零解。RREF Reduced row echelon formMATLAB在在线性代数线性代数中的应用中的应用 2、解线性方程组、解线性方程组 求齐次方程组求齐次方程组的基础解系的基础解系 a=2 3 1;1-2 4;3 8-2;4-1 9;b=4;-5;13;-6;c=null(a,r)c=-2 1 1 求非齐次方程组求非齐次方程组的一个特解的一个特解 l u=lu(a);x0=u(lb)x0=-3124/135 3529/270 2989/270 所以方程组的一般解为所以方程组的一般解为 3、将矩阵对角化、将矩阵对角化 a=-1 2 0;-2 3 0;3 0 2;v,d=eig(a)v=0 379/1257 379/1257 0 379/1257 379/1257 1 -379/419 -379/419 d=2 0 0 0 1 0 0 0 1 A的特征值为的特征值为2,1,1 4、用正交变换化二次型为标准形、用正交变换化二次型为标准形 a=1 1 1 11 1 1 11 1 1 11 1 1 1;format u t=schur(a)u=0.0846 0.4928 0.7071 0.5000 0.0846 0.4928 -0.7071 0.5000 -0.7815 -0.3732 0 0.5000 0.6124 -0.6124 0 0.5000t=-0.0000 0 0 0 0 -0.0000 0 0 0 0 0 0 0 0 0 4.0000 a=1 1 1 1;1 1 1 1;1 1 1 1;1 1 1 1;format ratu t=schur(a)u=596/7049 1095/2222 985/1393 1/2 596/7049 1095/2222 -985/1393 1/2 -1198/1533 -789/2114 0 1/2 1079/1762 -1079/1762 0 1/2 t=*0 0 0 0 *0 0 “*”表示表示 0 0 0 0 近似于零近似于零 0 0 0 4 FORMAT RAT Approximation by ratio of small integers.4、用正交变换化二次型为标准形、用正交变换化二次型为标准形 结论:作正交变换结论:作正交变换 则有则有
展开阅读全文