MATLAB_速成教程

上传人:抢*** 文档编号:243500422 上传时间:2024-09-24 格式:PPT 页数:98 大小:918KB
返回 下载 相关 举报
MATLAB_速成教程_第1页
第1页 / 共98页
MATLAB_速成教程_第2页
第2页 / 共98页
MATLAB_速成教程_第3页
第3页 / 共98页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,1,Matlab,速成,2,1,Matlab,操作基础,2,变量与函数,3,数组,4,矩阵,6,Matlab,编程,7,Matlab,绘图,5,多项式,3,第,1,章,MATLAB,操作基础,1.1 MATLAB,概述,1.2 MATLAB,的运行环境与安装,1.3 MATLAB,集成环境,1.4 MATLAB,帮助系统,4,1.1 MATLAB,概述,1.1.1 MATLAB,的发展,1984,年,,MATLAB,第,1,版,(DOS,版,) 1992,年,,MATLAB4.0,版,1997,年,,MATLAB 5.0,版,1999,年,,MATLAB 5.3,版,2000,年,,MATLAB 6.0,版,2002,年,,MATLAB 6.5,版,2004,年,,MATLAB 7.0,版,2005,年,,MATLAB 7.1,版,2006,年,(,上半年,),,,MATLAB 2006a (7.2,版,) 2006,年,(,下半年,),,,MATLAB 2006b (7.3,版,) 2007,年,(,上半年,),,,MATLAB 2007a (7.4,版,) 2007,年,(,下半年,),,,MATLAB 2007b (7.5,版,),2008,年,(,上半年,),,,MATLAB 2008a (7.6,版,),2008,年,(,下半年,),,,MATLAB 2008b (7.7,版,),2009,年,(,上半年,),,,MATLAB 2009a (7.8,版,),2009,年,(,下半年,),,,MATLAB 2009b (7.9,版,),1.1.2 MATLAB,的主要功能,1,数值计算和符号计算功能,MATLAB,以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。,MATLAB,和著名的符号计算语言,Maple,相结合,使得,MATLAB,具有符号计算功能。,5,1.1.2 MATLAB,的主要特点,(,1,)具有丰富的数学功能,包括矩阵各种运算。如:正交变换、三角分解、特征值、常见的特殊矩阵等。,包括各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、,FFT,、常微分方程的数值解等。,包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。,6,(,2,)具有很好的图视系统,可方便地画出两维和三维图形。,图形用户界面,GUI,制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。,高级图形处理。如:色彩控制、句柄图形、动画等。,7,(,3,)可以直接处理声言和图形文件,。,(,4,)具有若干功能强大的应用工具箱。,声音文件。如:,WAV,文件(例:,wavread,,,sound,等)。,图形文件。如:,bmp,、,gif,、,pcx,、,tif,、,jpeg,等文件。,如:,SIMULINK,、,COMM,、,DSP,、,SIGNAL,等,16,种工具箱。,8,(,5,)使用方便,具有很好的扩张功能。,(,6,)具有很好的帮助功能,可以,M,文件转变为独立于平台的,EXE,可执行文件。,使用,MATLAB,语言编写的程序可以直接运行,无需编译。,提供十分详细的帮助文件(,PDF,、,HTML,、,demo,文件)。,联机查询指令:,help,指令,(例:,help,elfun,,,help exp,,,help,simulink,),,lookfor,关键词(例:,lookfor,fourier,)。,MATLAB,的应用接口程序,API,是,MATLAB,提供的十分重要的组件 ,由 一系列接口指令组成 。用户就可在,FORTRAN,或,C,中 , 把,MATLAB,当作计算引擎使用,。,9,1.1.3,初识,MATLAB,例,1-1,绘制正弦曲线和余弦曲线。,x=0:0.5:360*pi/180;,plot(x,sin(x),x,cos(x,);,例,1-2,求方程,3x,4,+7x,3,+9x,2,-23=0,的全部根。,p=3,7,9,0,-23; %,建立多项式系数向量,x=,roots(p,) %,求根,例,1-3,求积分,quad(x,.*log(1+x),0,1),;,例,1-4,求解线性方程组。,a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=,inv(a,)*b,10,1.2 MATLAB,的运行环境与安装,1.2.1 MATLAB,的运行环境,硬件环境:,(1) CPU (2),内存,(3),硬盘,(4) CD-ROM,驱动器和鼠标。软件环境:,(1) Windows 98/NT/2000,或,Windows XP(2),其他软件根据需要选用,11,1.2.2 MATLAB,的安装,安装,MATLAB 6.5,系统,需运行系统自带的安装程序,setup.exe,,可以按照安装提示依次操作。,12,1.3 MATLAB,集成环境,1.3.1,启动与退出,MATLAB,集成环境,1,MATLAB,系统的启动与一般的,Windows,程序一样,启动,MATLAB,系统有,3,种常见方法:,(1),使用,Windows“,开始”菜单。,(2),运行,MATLAB,系统启动程序,matlab.exe,。,(3),利用快捷方式。,13,当,MATLAB,安装完毕并首次启动时,展现在屏幕上的界面为,MATLAB,的默认界面,如右图所示。,14,启动,MATLAB,后,将进入,MATLAB 6.5,集成环境。,MATLAB 6.5,集成环境包括,MATLAB,主窗口、命令窗口,(Command Window),、工作空间窗口,(Workspace),、命令历史窗口,(Command History),、当前目录窗口,(Current Directory),和启动平台窗口,(,Lauch,Pad),。,15,2,MATLAB,系统的退出要退出,MATLAB,系统,也有,3,种常见方法:,(1),在,MATLAB,主窗口,File,菜单中选择,Exit MATLAB,命令。,(2),在,MATLAB,命令窗口输入,Exit,或,Quit,命令。,(3),单击,MATLAB,主窗口的“关闭”按钮。,16,1.3.2,主窗口,MATLAB,主窗口是,MATLAB,的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。,1,菜单栏在,MATLAB 6.5,主窗口的菜单栏,共包含,File,、,Edit,、,View,、,Web,、,Window,和,Help 6,个菜单项。,17,(1) File,菜单项:,File,菜单项实现有关文件的操作。,(2) Edit,菜单项:,Edit,菜单项用于命令窗口的编辑操作。,(3) View,菜单项:,View,菜单项用于设置,MATLAB,集成环境的显示方式。,18,(4) Web,菜单项:,Web,菜单项用于设置,MATLAB,的,Web,操作。,(5) Window,菜单项:主窗口菜单栏上的,Window,菜单,只包含一个子菜单,Close all,,用于关闭所有打开的编辑器窗口,包括,M-file,、,Figure,、,Model,和,GUI,窗口。,(6) Help,菜单项:,Help,菜单项用于提供帮助信息。,19,2,工具栏,MATLAB 6.5,主窗口的工具栏共提供了,10,个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。,20,1.3.3,命令窗口,在命令窗口中输入,MATLAB,的命令和数据后按回车键,立即执行运算并显示结果。,MATLAB,在命令窗口中的语句形式为:,变量表达式,;,说明:命令窗口中的每个命令行前会出现提示符“,”,,没有“,”,符号的行则是显示的结果。,21,例,1-1,在命令窗口中输入不同的命令和数值,并查看其显示方式。, a=0.5,a =,0.5000, b=sin,b =,sin, if a1 c=true,%,如果,a a=1 2;.,3 4, a=hello%,字符串,25,数值计算结果的显示格式 :,一种方法是在参数设置对话框 的“,Numeric Format”,栏设置数据的显示格式。,另一种方法是直接在命令窗口中使用“,format”,命令来进行数值显示格式的设置:,format,格式描述,26,例,1-3,使用,format,函数在命令窗口中显示运算结果。, a=sin(60*pi/180),a =,0.8660, format long, a,a =,0.86602540378444, format short e, a,a =,8.6603e-001,程序分析:,long,格式为,15,位数字显示,,short e,为,5,位科学计数显示。,练习,27,1.3.4,工作空间窗口,工作空间是,MATLAB,用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。,28,用来设置当前目录,并显示当前目录下的,M,文件、,MAT,文件、,MDL,文件等文件信息,窗口中包括文件类型(,File Type,)、文件大小(,Size,)、最后修改(,Last Modified,)时间和文件的说明信息(,Description,)等。,1.3.5,当前目录窗口和搜索路径,1,当前目录窗口,29,查看工作目录下文件的相关信息的常用命令如下:,what,:列出当前目录下的,M,、,MAT,、,MEX,文件清单。,(ops),dir,:显示当前目录或指定当前目录下的文件。,cd,路径:改变或显示当前工作目录;路径可省略,省略时为显示当前工作目录;,cd,.,表示回到上一级目录(空格,.,)。,type,:显示文件内容。,delete,:删除文件。,which,文件名:指出,M,文件、,MEX,文件、工作空间变量、内置函数或,Simulink,模型所在的目录。,(box),练习,30,2,MATLAB,的搜索路径,当用户在,MATLAB,命令窗口输入一条命令后,,MATLAB,按照一定次序寻找相关的文件。基本的搜索过程是:,(1),检查该命令是不是一个变量。,(2),检查该命令是不是一个内部函数。,(3),检查该命令是否当前目录下的,M,文件。,(4),检查该命令是否,MATLAB,搜索路径中其他目录下的,M,文件。,31,用户可以将自己的工作目录列入,MATLAB,搜索路径,从而将用户目录纳入,MATLAB,系统统一管理。设置搜索路径的方法有:,(1),用,path,命令设置搜索路径。例如,将用户目录,c:mydir,加到搜索路径下,可在命令窗口输入命令:,path(path,c:mydir,),32,(2),用对话框设置搜索路径 在,MATLAB,的,File,菜单中选,Set Path,命令或在命令窗口执行,pathtool,命令,将出现搜索路径设置对话框。通过,Add Folder,或,Add with Subfolder,命令按钮将指定路径添加到搜索路径列表中。在修改完搜索路径后,则需要保存搜索路径。,33,1.3.6,命令历史记录窗口,在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择,Edit,菜单中的,Clear Command History,命令。,34,在默认设置下,该窗口会显示自安装以来所有使用过命令的历史记录,并标明每次开启,MATLAB,的时间。,35,1.3.7,启动平台窗口和,Start,按钮,MATLAB 6.5,的启动平台窗口可以帮助用户方便地打开和调用,MATLAB,的各种程序、函数和帮助文件。,MATLAB 6.5,主窗口左下角还有一个,Start,按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行,MATLAB,产品的各种工具,并且可以查阅,MATLAB,包含的各种资源。,36,1.3.8 MATLAB,文件格式,MATLAB,的常用文件有,.m,、,.fig,、,.,mdl,、,.mat,、,.,mex,、,.,prj,、,.p,等类型 。,1.,程序文件,程序文件即,M,文件(,M-File,),其文件的扩展名为,.m,。,2.,图形文件,图形文件(,Figure,)的扩展名为,.fig,。,3.,模型文件,模型文件(,Model,)扩展名为,.,mdl,,可以在“,File”,菜单中创建,Model,时生成,.,mdl,文件。,37,4.,数据文件,数据文件即,MAT,文件,其文件的扩展名为,.mat,。,(,1,)把工作空间中的数据存入,MAT,文件,save,文件名 变量,1,变量,2,参数,(,2,)从数据文件中装载变量到工作空间,load,文件名 变量,1,变量,2 ,还可以通过打开,Import Data,窗口来从,MAT,文件中将变量装载到,Workspace,。,38,5.,可执行文件,可执行文件即,MEX,文件,其文件的扩展名为,.,mex,。,6.,项目文件,项目文件的扩展名为,.,prj,。,7. P,码文件,P,码文件即伪代码文件,是,M,文件被调用后在内存中生成的内部伪代码。,39,1.4 MATLAB,帮助系统,1.4.1,帮助窗口,进入帮助窗口可以通过以下,3,种方法:,(1),单击,MATLAB,主窗口工具栏中的,Help,按钮。,(2),在命令窗口中输入,helpwin,、,helpdesk,或,doc,。,(3),选择,Help,菜单中的“,MATLAB Help”,选项。,40,1.4.2,帮助命令,MATLAB,帮助命令包括,help,、,lookfor,以及模糊查询。,1,help,命令在,MATLAB 6.5,命令窗口中直接输入,help,命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过,help,加函数名来显示该函数的帮助说明。,41,2,lookfor,命令,help,命令只搜索出那些关键字完全匹配的结果,,lookfor,命令对搜索范围内的,M,文件进行关键字搜索,条件比较宽松。,lookfor,命令只对,M,文件的第一行进行关键字搜索。若在,lookfor,命令加上,-all,选项,则可对,M,文件进行全文搜索。,42,3,模糊查询,MATLAB 6.0,以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按,Tab,键,系统就会列出所有以这几个字母开头的命令。,43,1.4.3,使用帮助浏览器,帮助主题(,Contents,)、索引(,Index,) 、搜索(,Search,)和演示(,Demos,)四个面板来查找帮助信息:,Contents,面板为可展开的树形结构,向用户提供全方位系统帮助的向导图,;,Index,面板是,MATLAB,提供的术语索引表,可以查找命令、函数和专用术语等。,Search,面板是通过关键词来查找全文中与之匹配的章节条目,,Index,只在专用术语表中查找而,Search,的搜索是在整个,HTML,文件中进行的,因此其覆盖面更宽。,Demos,面板为,MATLAB,提供了,Demo,演示。,44,45,1.4.4,远程帮助系统,在,MathWorks,公司的主页,(http:/,),上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。,46,练习:,在命令窗口中输入以下命令,并查看显示的图形。, a=1 2 3 4, b=5 6 7 8, c=,a+b,*i,plot(c,),47,练习:,在,MATLAB,中,_,用于括住字符串。,A. , B. ;,C. D. “,答案:,C,48,练习:,在,MATLAB,的命令窗口中执行,_,命令,使数值,5.3,显示为,5.300000000000000e+000,。,A. format long B. format long e,C. format short D. format short e,答案:,B,49,练习:,在,MATLAB,的命令窗口中执行“,x”,,关于,MATLAB,的搜索顺序,下面说法正确的是,_,A.,搜索路径窗口中所有路径的先后顺序是随意的;,B,首先到搜索路径窗口中的路径中去搜索“,x”,;,C,首先在工作空间搜索“,x”,;,D,首先在工作空间搜索“,x.m,”,文件,答案:,C,50,2.1,变量,MATLAB,中变量的,命名规则,:,(,1,)变量名必须是不含空格的单个词;,(,2,)变量名区分大小写;,(,3,)变量名最多不超过,63,个字符;,(,4,)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号,.,第,2,章 变量与函数,51,特殊变量表,特殊变量,取,值,ans,用于结果的缺省变量名,pi,圆周率,eps,flops,浮点运算数,inf,无穷大,如,1/0,NaN,不定量,如,0/0,i,,,j,i=j=,1,-,nargin,所用函数的输入变量数目,nargout,所用函数的输出变量数目,realmin,realmax,正的极小值,2.2204e-16,最大的正实数,1.7977e+308,最小的正实数,2.2251e-308,52,Matlab,最常用的变量有数值数组(,double array,)和字符串(,char array,)两类,所有,数值数组变量均以双精度,(double),方式存储,。, a=2+3i,a =,2.0000 + 3.0000i, a1=I am a teacher,a1 =,I am a teacher, A=1 2 ;3 4,A =,1 2,3 4,占,64,位,(8,字节,),,其中,11,个指数位,,53,个数值位和一个符号位,.,表示的数据范围,MATLAB,按下面显示规则显示数据:,1,)在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后,4,位的精度近似显示。,2,)如果结果中的有效数字超出了这一范围,以科学计数法显示结果。,format,命令改变显示格式,常用的的格式有,long (16,位,) bank(2,个十进制位,) hex(,十六进制,),short(,缺省,) short e(5,位加指数,) +(,符号,),long e(16,位加指数,) rat(,有理数近似,),详细见:,help format,doc format,53,2.2,数学运算符号及标点符号,例如, a=1 2 3;, b=4 5 6;, c=5;, a+b,ans =,5 7 9, a+c,ans =,6 7 8, a*c,ans =,5 10 15, a.*c,ans =,5 10 15, a./b,ans =,0.2500 0.4000 0.5000, a.b,ans =,4.0000 2.5000 2.0000, a.b,ans =,1 32 729,54,2.3,复数和复数矩阵,Matlab,把复数作为一个整体处理(而不必像其他程序语言,将实部和虚部分开处理)。虚数单位用预定义变量,i,或,j,表示。,复数,z=,a+bi,直角坐标表示和极坐标表示之间转换的,matlab,指令如下:,real(z,),给出复数,z,的实部,imag(z,),给出复数,z,的虚部,abs(z,),给出复数,z,的模,angle(z,),给出复数,z,的相角,55,2.4,数学函数,注意:,x,也可以是数组!,如,x=0:pi/5:2*pi,,,sin(x,),56,MATLAB,的函数文件也以,.M,格式保存。,但是这类文件的,第一行必须是一特殊字符,function,开始,,格式为,function,因变量名,=,函数名(自变量名),函数值的获得必须通过具体的运算实现,并赋给因变量,.,2.5 M,文件,M,文件的建立方法,1.,在,Matlab,中,点,:File-New-M-file,2.,在编辑窗口中输入程序内容,3.,点,File-Save,,存盘。,Matlab,的应用程序以,.M,文件格式保存。分,M,文件和,M,函数两种:,M,文件即命令文件,是用户为解决问题自己编制的程序;,M,函数即函数文件,是一种子程序,一般由其它程序调用。,函数或程序怎么建立、保存?,57,例:定义函数,f(x,)=2x,2,+5x,的步骤,function,f=,fun(x,),f=2*(x2)+5*x,1.,建立函数文件:,fun.m,2.,可以直接使用函数,fun.m,例如:计算,f(3.2),只需在,Matlab,命令窗口键入命令:,x=3.2,fun(x,),不需要,C,语言类似的编译过程!,58,3.1,创建简单的数组,第,3,章 数 组,x=a b c d e f ,创建包含指定元素的行向量,x=first,:,last,创建从,first,开始,加,1,计数,到,last,结束的行向量,x=first,:,increment,:,last,创建从,first,开始,加,increment,计数,,last,结束的行向量,x=,linspace(first,,,last,,,n,),创建从,first,开始,到,last,结束,有,n,个元素的行向量, y=1:7,y =,1 2 3 4 5 6 7,59,例如:, z=3:2:9,z =,3 5 7 9, v=,y,z,v =,1 2 3 4 5 6 7 3 5 7 9, u=linspace(2,9,11),u =,Columns 1 through 6,2.0000 2.7000 3.4000 4.1000 4.8000 5.5000,Columns 7 through 11,6.2000 6.9000 7.6000 8.3000 9.0000,60,3.2,对数组元素的访问,(,3,),直接使用元素编址序号,.,x(a,b c d),表示提取数组,x,的第,a,、,b,、,c,、,d,个元素构成一个新的数组,x(a,),x(b,),x(c,),x(d,).,(,2,),访问一块元素:,x(a,:,b,:,c),表示访问数组,x,的从第,a,个元素开始,以步长为,b,到第,c,个元素(但不超过,c,),,b,可以为负数,,b,缺损时为,1.,(,1,),访问一个元素:,x(i,),表示访问数组,x,的第,i,个元素,.,例如:, x=1:2:9,x =,1 3 5 7 9, y=x(2:1:5),y =,3 5 7 9, z=x,(1 3 5),z =,1,5,9,61,前面例子中的数组都是一行数列,是行方向分布的,.,称之为,行向量,.,数组也可以是,列向量,,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示,.,产生列向量有两种方法:,直接产生,例,c=1;2;3;4,转置产生,例,b=1 2 3 4; c=b,说明,:以,空格,或,逗号,分隔的元素指定的是不同列的元素,而以,分号,分隔的元素指定了不同行的元素,.,3.3,数组的方向,62,3.4,数组的运算,(,1,)标量,-,数组运算,数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算,.,设:,a=a,1,a,2,a,n, c=,标量,则:,a+c,=a,1,+c,a,2,+c,a,n,+c,a.*c=a,1,*c,a,2,*c,a,n,*c,a./c= a,1,/c,a,2,/c,a,n,/c(,右除),a.c= c/a,1,c/a,2,c/a,n, (,左除),a.c,= a,1,c,a,2,c,a,n,c,c.a,= ca,1,ca,2,ca,n,63,(,2,),数组,-,数组运算,当两个数组有相同维数时,加、减、乘、除、幂运算可按,元素对元素,方式进行的,不同大小或维数的数组是不能进行运算的,.,设:,a=a,1,a,2,a,n, b=b,1,b,2,b,n,则:,a+b,= a,1,+b,1,a,2,+b,2,a,n,+b,n,a.*b= a,1,*b,1,a,2,*b,2,a,n,*,b,n,a./b= a,1,/b,1,a,2,/b,2,a,n,/,b,n,a.b=b,1,/a,1,b,2,/a,2,b,n,/a,n,a.b,=a,1,b,1,a,2,b,2,a,n,b,n,64,例,2-14,使用数组算术运算法则进行向量的运算,。, t=0:pi/3:2*pi;%t,为行向量, x=,sin(t,)*,cos(t,),? Error using =,mtimes,Inner matrix dimensions must agree., x=,sin(t,).*,cos(t,),x =,0 0.4330 -0.4330 -0.0000 0.4330 -0.4330 -0.0000, y=,sin(t)./cos(t,),y =,0 1.7321 -1.7321 -0.0000 1.7321 -1.7321 -0.0000,65,第,4,章 矩 阵,逗号,或,空格,用于分隔某一行的元素,,分号,用于区分不同的行,.,除了分号,在输入矩阵时,按,Enter,键,也表示开始一新行,.,输入矩阵时,严格要求所有行有相同的列,.,例,m=1 2 3 4,;,5 6 7 8,;,9 10 11 12,p=1 1 1 1,2 2 2 2,3 3 3 3,4.1,矩阵的建立,66,特殊矩阵,的建立,:,d=,eye(m,,,n),产生一个,m,行、,n,列的单位矩阵,c=,ones(m,,,n),产生一个,m,行、,n,列的元素全为,1,的矩阵,b=,zeros(m,,,n),产生一个,m,行、,n,列的零矩阵,a= ,产生一个空矩阵,当对一项操作无结果时, 返回空矩阵,空矩阵的大小为零,.,67,4.2,矩阵中元素的操作,(,1,)矩阵,A,的第,r,行:,A,(,r,,:),(,2,)矩阵,A,的第,r,列:,A,(:,,r,),(,4,)取矩阵,A,的第,i,1,i,2,行、第,j,1,j,2,列构成新矩阵,:A(i,1,:i,2,j,1,:j,2,),(,5,)以逆序提取矩阵,A,的第,i,1,i,2,行,构成新矩阵,:A(i,2,:-1,:,i,1,,:),(,6,)以逆序提取矩阵,A,的第,j,1,j,2,列,构成新矩阵,:A(:, j,2,:-1,:,j,1,),(,7,)删除,A,的第,i,1,i,2,行,构成新矩阵,:A(i,1,:i,2,,:,)= ,(,8,)删除,A,的第,j,1,j,2,列,构成新矩阵,:A(,:,,j,1,:j,2,)= ,(,3,)依次提取矩阵,A,的每一列,将,A,拉伸为一个列向量:,A,(:),68,(,2,)矩阵,-,矩阵运算,a,)元素对元素的运算,:,与数组,-,数组运算相同,.* ./ . .,4.3,矩阵的运算,(,1,)标量,-,矩阵运算,与标量,-,数组运算规则相同。,b,),矩阵对矩阵运算:,矩阵加减法:,A+B A-B,矩阵乘法:,A*B,矩阵除法:,矩阵左除:,AX,=,B,,求,X,。,MATLAB,求解:,X,=,AB,若,A,为非奇异方阵,则,X=A,-1,B,最小二乘解(若,A,不是方阵),矩阵右除:,XA,=,B,,求,X,。,MATLAB,求解:,X,=,B/A,若,A,为非奇异方阵,则,X=BA,-1,最小二乘解(若,A,不是方阵),69,例,2-12,用矩阵除法求方程组的解,已知方程组,:,解:,X=AB,是方程,A*X=B,的解,将该方程变换成,A*X=B,的形式。其中:, A=2 -3 1;1 -1 1;1 3 1;, B=8;7;6;, X=AB,练习,70,4.4,矩阵分析,4.4.1,对角阵与三角阵,1,对角阵,只有对角线上有非,0,元素的矩阵称为,对角矩阵,,对角线上的元素相等的对角矩阵称为,数量矩阵,,对角线上的元素都为,1,的对角矩阵称为,单位矩阵,。,71,提取矩阵的对角线元素,设,A,为,mn,矩阵,,diag(A,),函数用于提取矩阵,A,主对角线元素,产生一个具有,min(m,n,),个元素的列向量。,diag(A,),函数还有一种形式,diag(A,k,),,其功能是提取第,k,条对角线的元素。,构造对角矩阵,设,V,为具有,m,个元素的向量,,diag(V,),将产生一个,mm,对角矩阵,其主对角线元素即为向量,V,的元素。,diag(V,),函数也有另一种形式,diag(V,k,),,其功能是产生一个,nn(n,=,m+k,),对角阵,其第,k,条对角线的元素即为向量,V,的元素。,72,例,2-10,先建立,55,矩阵,A,,然后将,A,的第一行元素乘以,1,,第二行乘以,2,,,,第五行乘以,5,。,A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D=diag(1:5);D*A %,用,D,左乘,A,,对,A,的每行,乘以一个指定常数,73,2,三角阵,三角阵又进一步分为上三角阵和下三角阵,所谓,上三角阵,,即矩阵的对角线以下的元素全为,0,的一种矩阵,而,下三角阵,则是对角线以上的元素全为,0,的一种矩阵,。,74,上三角矩阵,求矩阵,A,的上三角阵的,MATLAB,函数是,triu(A,),。,triu(A,),函数也有另一种形式,triu(A,k,),,其功能是求矩阵,A,的第,k,条对角线以上的元素。例如,提取矩阵,A,的第,2,条对角线以上的元素,形成新的矩阵,B,。,下三角矩阵,在,MATLAB,中,提取矩阵,A,的下三角矩阵的函数是,tril(A,),和,tril(A,k,),,其用法与提取上三角矩阵的函数,triu(A,),和,triu(A,k,),完全相同。,75,4.4.2,矩阵的转置与旋转,1,矩阵的转置,转置运算符是单撇号,(),。,2,矩阵的旋转,利用函数,rot90(A,k),将矩阵,A,旋转,90,的,k,倍,当,k,为,1,时可省略。,76,3,矩阵的左右翻转,对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,,,依次类推。,MATLAB,对矩阵,A,实施左右翻转的函数是,fliplr(A,),4,矩阵的上下翻转,MATLAB,对矩阵,A,实施上下翻转的函数是,flipud(A,),。,77,4.4.3,矩阵的逆,对于一个方阵,A,,如果存在一个与其同阶的方阵,B,,使得:,AB=BA=I,(I,为单位矩阵,),则称,B,为,A,的逆矩阵,当然,,A,也是,B,的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在,MATLAB,中,求一个矩阵的逆非常容易。求方阵,A,的逆矩阵可调用函数,inv(A,),。,例,2-11,用求逆矩阵的方法解线性方程组,。,Ax=b,其解为:,x=A,-1,b,78,4.4.4,方阵的行列式,把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的,行列式的值,。在,MATLAB,中,求方阵,A,所对应的行列式的值的函数是,det(A,),。,79,4.4.5,矩阵的秩与迹,1,矩阵的秩,矩阵线性无关的行数与列数称为,矩阵的秩,。在,MATLAB,中,求矩阵秩的函数是,rank(A,),。,2,矩阵的迹矩阵的迹等于矩阵的对角线元素之和,,也等于矩阵的特征值之和。在,MATLAB,中,求矩阵的迹的函数是,trace(A,),。,80,4.5,关系运算和逻辑运算,4.5.1,逻辑运算,MATLAB,中逻辑型(,logical,)数据只有,“,1”,和“,0”,,,分别表示,true,和,false,两种状态,逻辑型变量只占,1,个字节。,函数,logical,可以用来将数值型转换为逻辑型,任何非零的数值都转换为逻辑,1,,数值,0,转换为逻辑,0,。,81,4.5,.2,关系运算,MATLAB,常用的,关系操作符,有,、,、,=,、,= =,(等于)、,=,(不等于)。,关系运算规则,:,如果比较的两个变量都是,标量,,则结果为,1,(,true,)或,0,(,false,);,如果比较的两个变量都是,数组,,则必须尺寸大小相同,结果也是同样大小的数组;,如果比较的是一个,数组,和一个,标量,,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组。,82,4.5,.3,逻辑运算,1.,元素的逻辑运算,元素的逻辑运算是将数组中的元素一一进行逻辑运算,常用的逻辑运算符:,&,(与)、,|,(或)、,(非)和,xor,(异或)。在逻辑运算中,非,0,元素表示,true,,,0,元素表示,false,。,2.,先决逻辑运算,先决逻辑运算符有:,&,(先决与),:,A&B,|,(先决或),:,A|B,83,比较两个语句的不同:,x=0, y=(x=0)&(100/x10),x=0, y=(x=0)&(100/x10),3.,位逻辑运算,位逻辑运算函数有:,bitand,(位与)、,bitor,(位或)、,bitcmp,(位非)和,bitxor,(位异或)。,练习,84,4.5,.4,运算符优先级,各类,运算符的优先级,为:,括号算术运算符关系运算符逻辑运算符,各符号优先顺序为:,括号,() ,转置, .,幂, . ,逻辑非, ,乘*,. *,除,/ ./ . ,加减,+ - ,冒号,: ,关系运算, = ,pi)&(x,pi&x, s1=,matlab,7.3,s1 =,matlab,7.3,第,5,章 字符串与多项式, s2=,字符串,s2 =,字符串,86,(,1,)直接赋值,用单引号,(),括起字符来直接赋值创建字符串。,使用两个单引号,(),输入字符串中的单引号, s3=,显示,matlab,s3 =,显示,matlab,(,2,)多个字符串组合, str2=s1;s2, ;s3,str2 =,matlab,7.3,字符串,显示,matlab,2.,字符数组的存储空间,MATLAB,在存储字符串时,每一个字符以,ASCII,码的形式存放,占用两个字节。,练习,87,5.1.2,字符串函数,1.,字符串合并,strcat,函数用于将字符串水平连接合并成一个新字符串。,语法格式如下:,strcat(s1,s2,)%,将,s1,,,s2,合并成一个长字符串,char(s1,s2,)%,将,s1,,,s2,合并成一个字符矩阵,strvcat(s1,s2,)%,将,s1,,,s2,合并成一个字符矩阵,88,2.,字符串与数值的转换,abs,将字符串转换为,ASCII,码数值,setstr,ASCII,转换成字符串,str2num,将字符串转换为数值,num2str,数字转换成字符串,3.,字符串的其他操作,MATLAB 7.3,还可以对字符串进行比较、查找、运行等操作。,89,练习,例,2-19,使用字符串函数进行运算。,str,=,a+b,c+d,str,=,a+b,c+d, n=,findstr(str,) %,查找字符串中,的位置,n =,4 8, str1=str(1:n(1) %,取第一个,前的字符串,str1 =,a+b,str1=str(n(1)+1:n(2) %,取第二个,前的字符串,str1 =,c+d,90,一个多项式按降幂排列为:,p(x,)=a,n,xn,+a,n-1,xn-1,+a,1,x+a,0,在,MATLAB,中用行向量来表示多项式的各项系数,使用长度为,n+1,的行向量按降幂排列,用,0,表示多项式中某次幂的缺项,则表示为:,p=an an-1 a1 a0,例如:,p(x,)=x,3,-4x,2,+3x+1,可表示为,p=1 -4 3 1,;,p(x,)=x,2,+5x3+2x,可表示为,p=1 5 2 0,。,5.2,多项式,91,5.2.1,多项式求根和求值,1.,多项式求根,使用,roots,函数来计算多项式的根,多项式的根以列向量的形式表示,;,多项式,p=x,4,-6x,3,+11x,2,-6x=x(x-3)(x-2)(x-1),2.,多项式求值,函数,polyvalm,可以用来计算多项式在给定变量时的值。,92,例 计算多项式的根并由根得出多项式。,p=1 -6 11 -6 0,p =,1 -6 11 -6 0, r=roots(p),r =,0,3.0000,2.0000,1.0000,多项式,:,p=x,4,-6x,3,+11x,2,-6x=x(x-3)(x-2)(x-1),93,例 计算多项式的值。, polyvalm(p,5),ans =,120, x=1 2;3 4,x =,1 2,3 4, polyvalm(p,x),ans =,48 64,96 144,多项式,:,p=x4-6x3+11x2-6x=x(x-3)(x-2)(x-1),94,练习:,已知,x=0:10,,则,x,有,_,个元素。,A. 10 B. 11,C. 9 D. 12,答案:,B,95,练习:,已知数组,a=,,则,a(:,2),是指,_,A.,所有元素,B.,第一行元素,C.,第二列元素,D.,第二行元素,答案:,C,96,练习,求解方程组,97,练习:,已知,s=,显示,hello,,则,s,的元素个数是,_,A. 12 B. 9,C. 7 D. 18,答案:,B,98,练习:,计算,x,从,0,到,20,间隔为,1,的行向量,,y=,sin(x,),中,,xpi)&(x4*pi),x=x1.*x,y=sin(x),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!