MATLAB简介.ppt
《MATLAB简介.ppt》由会员分享,可在线阅读,更多相关《MATLAB简介.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab简介简介西南交通大学峨眉校区基础课部数学教研室西南交通大学峨眉校区基础课部数学教研室1MATLABMATLAB的发展史的发展史的发展史的发展史 MATLAB名字由名字由MATrix和和 LABoratory 两词的前三个字母两词的前三个字母组合而成。那是组合而成。那是20世纪七十年代,时任美国新墨西哥大学计世纪七十年代,时任美国新墨西哥大学计算机科学系主任的算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,出于减轻学生编程负担的动机,为学生设计了一组调用为学生设计了一组调用LINPACK和和EISPACK矩阵软件工具矩阵软件工具包库程序的的包库程序的的“通俗易用通俗
2、易用”的接口,此即用的接口,此即用FORTRAN编写编写的萌芽状态的的萌芽状态的MATLAB。1984年由年由Little、Moler、Steve Bangert合作成立合作成立MathWorks公司,并把公司,并把MATLAB正式推向市场。从这时起,正式推向市场。从这时起,MATLAB的的内核采用内核采用C语言编写,而且除原有的数值计算能力外,还新增语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。了数据图视功能。1997年仲春,年仲春,MATLAB5.0版问世,紧接着是版问世,紧接着是5.1、5.2,以及,以及和和1999年春的年春的5.3版。现今的版。现今的MATLAB拥有更丰
3、富的数据类型拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。博的数学和数据分析资源、更多的应用开发工具。前一页前一页后一页后一页返回返回2MATLABMATLAB语言的主要特点语言的主要特点语言的主要特点语言的主要特点(1)具有丰富的数学功能)具有丰富的数学功能 包括矩阵各种运算。如:正交变换、三角分解、特征值、包括矩阵各种运算。如:正交变换、三角分解、特征值、常见的特殊矩阵等。常见的特殊矩阵等。包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码包括各种特殊函数。如:贝塞
4、尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。函数、贝塔函数、椭圆函数等。包括各种数学运算功能。如:数值微分、数值积分、插值、包括各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、求极值、方程求根、FFT、常微分方程的数值解等。常微分方程的数值解等。(2)具有很好的图视系统)具有很好的图视系统 可方便地画出两维和三维图形。可方便地画出两维和三维图形。图形用户界面图形用户界面GUI制作工具,可以制作用户菜单和控件。制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。使用者可以根据自己的需求编写出满意的图形界面。高级图形处理。如:色彩控制、句柄图形
5、、动画等。高级图形处理。如:色彩控制、句柄图形、动画等。前一页前一页后一页后一页3MATLABMATLAB语言的主要特点语言的主要特点语言的主要特点语言的主要特点(续)续)续)续)(3)可以直接处理声言和图形文件)可以直接处理声言和图形文件。(4)具有若干功能强大的应用工具箱。)具有若干功能强大的应用工具箱。(5)使用方便,具有很好的扩张功能。)使用方便,具有很好的扩张功能。声言文件。如:声言文件。如:WAV文件(例:文件(例:wavreadwavread,soundsound等)。等)。图形文件。如:图形文件。如:bmp、gif、pcx、tif 、jpeg等文件。等文件。如:如:SIMULI
6、NK、COMM、DSP、SIGNAL等等16种工具箱。种工具箱。(6)具有很好的帮助功能)具有很好的帮助功能 可以可以M文件转变为独立于平台的文件转变为独立于平台的EXE可执行文件。可执行文件。使用使用MATLAB语言编写的程序可以直接运行,无需编译。语言编写的程序可以直接运行,无需编译。提供十分详细的帮助文件(提供十分详细的帮助文件(PDF、HTML、demo文件)。文件)。联机查询指令:联机查询指令:help指令指令(例:(例:help elfun,help exp,help simulink),),lookfor关键词(例:关键词(例:lookfor fourier)。)。MATLAB的
7、应用接口程序的应用接口程序API是是MATLAB提供的十分重要的提供的十分重要的组件组件,由,由 一系列接口一系列接口指令指令组成组成。用户就可在。用户就可在FORTRAN或或C中中,把把MATLAB当作计算引擎使用当作计算引擎使用。前一页前一页后一页后一页4MATLAB简介简介1 MATLAB的计算功能的计算功能(1)MATLAB的数据类型的数据类型 现有四种基本数据类型:双精度数组、字符串数组、元胞现有四种基本数据类型:双精度数组、字符串数组、元胞数组、构架数组。数组、构架数组。元胞数组(元胞数组(Cell Array)如同银行里的保险箱库一样。如同银行里的保险箱库一样。该数组的基本组分是
8、元胞(该数组的基本组分是元胞(Cell),),以下标来区分。以下标来区分。元胞可以存放任何类型、任何大小的数组。元胞可以存放任何类型、任何大小的数组。构架数组(构架数组(Structure Array)也能存放各类数据。也能存放各类数据。该数组的基本组分是构架(该数组的基本组分是构架(Structure),),以下标来区分。以下标来区分。构架必须在划分构架必须在划分“域域”后才能使用。后才能使用。数据不能存放于构架,只能存放在域中。数据不能存放于构架,只能存放在域中。构架的域可以存放任何类型、任何大小的数组。构架的域可以存放任何类型、任何大小的数组。不同构架的同名域中存放的内容可不同。(不同构
9、架的同名域中存放的内容可不同。(例例 1_2_2)同一个元胞数组中各元胞的内容可以不同。(同一个元胞数组中各元胞的内容可以不同。(例例 1_2_1)前一页前一页后一页后一页5一.矩阵:1.矩阵的建立与表示法:在命令窗口中输入:A=1,2,3;4,5,6;7,8,9 可以得到:A=1 2 3 4 5 6 7 8 9若要显示整行或整列,则可以用(:)冒号来表示。冒(:)代表矩阵中行(ROWS)或列(COLUMNS)的全部。例如执行命令:A(:,2),就会显示第2列的全部,结果为:ans=2 5 8前一页前一页后一页后一页6l其他特殊矩阵的生成方法:1)、eye(m,n)或eye(m)产生m*n 或
10、 m*m的单位矩阵。例如:eye(3,4)与eye(3)分别产生如下矩阵:1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 12)、zeros(m,n)或 zeros(m)产生m*n 或m*m 的零矩阵。例如:zeros(3,4)与zeros(3)分别产生如下矩阵:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0前一页前一页后一页后一页73)、ones(m,n)或ones(m)产生m*n或m*m的全部元素为1的矩 阵。例如:ones(3,4)与ones(3)分别产生如下矩阵:1 1 1 1 1 1 1 1 1 1 1 1 1 1
11、1 1 1 1 1 1 12.常用矩阵函数:1)、d=eig(A)返回矩阵A的特征值所组成的列向量;v,d=eig(A)返回分别由矩阵A的特征向量和特征值(以其为主对角线元素,其余元素为零)的两个矩阵。例如执行命令:v,d=eig(A)结果为:前一页前一页后一页后一页8 v=d=0.2320 0.7858 0.4082 16.1168 0 0 0.5253 0.0868 -0.8165 0 -1.1168 0 0.8187 -0.6123 0.4082 0 0 -0.0000 其中v(:,i)为d(i,i)所对应的特征向量。2)、det(A)计算行列式A的值。例如:det(A)结果为:ans=
12、0前一页前一页后一页后一页9 3)、expm(A)对矩阵A求幂。例如:expm(A)结果为:ans=1.0e+006*1.1189 1.3748 1.6307 2.5339 3.1134 3.6929 3.9489 4.8520 5.75524)、inv(A)求矩阵A的逆。例如:inv(A)结果为:Warning:Matrix is close to singular or badly scaled.Results may be inaccurate.RCOND=2.055969e-018.ans=1.0e+016*-0.4504 0.9007 -0.4504 0.9007 -1.8014 0
13、.9007 -0.4504 0.9007 -0.4504前一页前一页后一页后一页105)、orth(A)返回对应于A的正交化矩阵。例如:orth(A)结果为:ans=0.2148 0.8872 0.5206 0.2496 0.8263 -0.38796)、poly(A)若A为一矩阵,则返回A的特征多项式。例如:poly(A)结果为:ans=1.0000 -15.0000 -18.0000 -0.0000 若A为一向量,则返回以A的元素为根的特征多项式。例如:r=1,2,3;p=poly(r)结果为:p=1 -6 11 -67)、rank(A)计算矩阵A的秩。例如:r=rank(A)结果为:r=
14、2 前一页前一页后一页后一页113.矩阵的四则运算符号:加 “+”减 “”乘 “*”除 “/”共轭转置 “”非共轭转置“.”例如:b=1+2i;3+4ib=1.0000+2.0000i 3.0000+4.0000ibans=1.0000-2.0000i 3.0000-4.0000ib.ans=1.0000+2.0000i 3.0000+4.0000i前一页前一页后一页后一页124.矩阵分解:1)、q,r=qr(A)将矩阵A做正交化分解,使得A=q*r。q为单位矩阵(unitary matrix),其范数(norm)为1。r为对角化的上三角矩阵。例如:q,r=qr(A)q=-0.1231 0.9
15、045 0.4082 -0.4924 0.3015 -0.8165 -0.8616 -0.3015 0.4082 r=-8.1240 -9.6011 -11.0782 0 0.9045 1.8091 0 0 -0.0000 norm(q)ans=1.0000前一页前一页后一页后一页132)、L,U=lu(A)将矩阵A做对角线分解,使得A=L*U,L为下三角矩阵(lower triangular matrix),U为上三角矩阵(upper triangular matrix)。例如:L,U=lu(A)L=0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0
16、0 U=7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000前一页前一页后一页后一页14二、多项式:多项式是用向量形式来表示,从最右边算起,第一个为0阶系数,第二个为1阶系数,依次类推。例如一个一元三次多项式:4x3+3x2+2x+1 用4 3 2 1来表示。1.多项式的运算:1)、乘:conv指令执行多项式的相乘运算,指令格式为:z=conv(x,y)例如:x=1 3 5;y=2 4 6;z=conv(x,y)z=2 10 28 38 30前一页前一页后一页后一页15如果要对两个以上的多项式进行相乘,可以重复使用conv指令,例如:(x,y同上)co
17、nv(conv(x,y),x)ans=2 16 68 172 284 280 1502)、分解:与1)相反,用deconv指令,其指令格式为:z,r=deconv(x,y)表示x除以 y商为z,余数为r。例如:z,r=deconv(z,x)z=2 4 6 r=0 0 0 0 0前一页前一页后一页后一页163)、求根:roots指令用于求多项式的根。例如:fx=1 3 2;rootoffx=roots(fx)rootoffx=-2 -1 4)、polyval(p,x)计算多项式p在x出的值,其中x可以是点或向量或矩阵。例如:p=1 -6 11 -6;x=1;p1=polyval(p,x)结果为:
18、p1=0 x=1,2,3;p2=polyval(p,x)结果为:p2=0 0 0前一页前一页后一页后一页17 x=A;p3=polyval(p,x)结果为:p3=0 0 0 6 24 60 120 210 336 5)、polyder(p)求p的微分多项式。例如:p=1-6 11-6;dp=polyder(p)dp=3 -12 11前一页前一页后一页后一页18 6)、r,p,k=residue(x,y)求x/y的部分因式分解。若多项式x,y都没有重根,则可把x/y的比值表示为x/y=r1/(s-p1)+r2/(s-p2)+.+rn/(s-pn)+ks例如 用residue指令求x/(x2+3x
19、+2)的部分因式分解:x=1 0;y=1 3 2;r,p,k=residue(x,y)r=2 -1 p=-2 -1 k=前一页前一页后一页后一页19l当输入三个参数 r,p,k 时,该函数又会生成原来的函数。例如:?x,y=residue(r,p,k)x=1 0 y=1 3 2前一页前一页后一页后一页20三 符号变量、符号表达式、抽象函数:函数sym用于生成符号变量和符号表达式,如:x=sym(x)a=sym(alpha)分别创建变量x,alpha f=sym(a*x2+b*x+c)创建变量表达式f,但要注意此式并没有自动创建变量a,b,c,x。可以用函数syms对多个变量同时定义,如:sym
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 简介
限制150内