




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB基础与应用教程,授课人朱荣光单位石河子大学机械电气工程学院,目录,Matlab基础知识4学时Matlab程序设计图形绘制2学时线性代数中的数值计算2学时数据处理与多项式计算2学时数值微积分与常微分方程求解2学时符号计算2学时图形句柄图形用户界面设计Simulink仿真环境Matlab应用接口Matlab的学科应用2学时,第1章MATLAB基础知识,MATLAB是MathWorks公司开发的科学与工程计算软件,它以矩阵运算为基础,把计算、绘图及动态系统仿真等功能有机地融合在一起。同时,它又具有程序设计语言的基本特征。目前,MATLAB在工程计算与数值分析、控制系统设计与仿真、信号处理、图像处理、金融建模设计与分析等学科领域都有着十分广泛的应用。【本章学习目标】了解MATLAB的特点和主要功能。熟悉启动和退出MATLAB的方法。熟悉MATLAB的操作环境。掌握建立矩阵的方法。掌握MATLAB数据对象的特点和基本的运算规则。,1.1MATLAB的发展与主要功能MATrixLABoratory(矩阵实验室)1.1.1MATLAB的发展CleveMoler编写的使用Linpack和Eispack的接口程序MATLAB1992MATLAB4.0版1997MATLAB5.0版2000年10月MATLAB6.0版2004年7月MATLAB7.0版2005年9月MATLAB7.1版随后每年发布两次以年份命名的版本,如R2006a(MATLAB7.2)、R2006b(MATLAB7.3)、R2007a(MATLAB7.4)、R2007b(MATLAB7.5)、R2008a(MATLAB7.6)和最新的版本R2008b(MATLAB7.7)。,1.1.2MATLAB的主要功能1数值计算和符号计算功能例如,求解线性方程组:在MATLAB命令窗口输入命令:a=2,3,-1;3,-5,3;6,3,-8;b=7;8;9;x=inv(a)*b也可以通过符号计算来解此方程symsx1x2x3x1,x2,x3=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9),2绘图功能例如,分别绘制函数y=300sinx/x和y=x2的曲线x=-20:0.1:20;plot(x,300*sin(x)./x,:,x,x.2);,3程序设计语言功能MATLAB是解释性语言,程序执行速度较慢,而且不能脱离MATLAB环境而独立运行。MathWorks公司提供了将MATLAB源程序编译为独立于MATLAB集成环境运行的EXE文件以及将MATLAB程序转化为C语言程序的编译器。4扩展功能MATLAB包含两部分内容:基本部分和各种可选的工具箱。基本部分构成了MATLAB的核心内容,也是使用和构造工具箱的基础。工具箱扩展了MATLAB的功能。功能性工具箱学科性工具箱,1.2MATLAB的集成开发环境,1.2.1MATLAB操作界面1主窗口,2命令窗口命令窗口(CommandWindow)用于输入命令并显示除图形以外的所有执行结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如:x=720,y=86x=720y=86x=720;y=86y=86,如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。例如:z=1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)+1/(1*2*3*4*5),3工作空间窗口工作空间(Workspace)是MATLAB用于存储各种变量和结果的内存空间。4当前目录窗口对文件进行有效的组织和管理当前目录(CurrentDirectory)是指MATLAB运行时的工作目录,只有在当前目录或搜索路径下的文件、函数才可以被运行或调用。如果没有特殊指明,数据文件也将存放在当前目录下。,5命令历史窗口自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。6Start按钮,1.2.2MATLAB的搜索路径,MATLAB的文件是通过不同的路径进行组织和管理的。当用户在命令窗口输入一条命令后,MATLAB将按照下列顺序搜索所输入的命令。检查该命令是不是一个变量。检查该命令是不是一个内部函数。检查该命令是否为当前目录下的M文件。检查该命令是否为MATLAB搜索路径中其他目录下的M文件。2设置搜索路径(1)用path命令设置搜索路径例如,将用户目录c:mydir加到搜索路径下:path(path,e:matlabwork)(2)用对话框设置搜索路径在MATLAB的File菜单中选择SetPath命令或在命令窗口执行pathtool命令,1.3MATLAB的帮助功能,1.3.1帮助界面进入MATLAB帮助界面可以通过以下3种方法。单击MATLAB主窗口工具栏中的Help按钮。在命令窗口中输入“helpwin”、“helpdesk”或“doc”命令。选择Help菜单中的“MATLABHelp”选项。,1.3.2帮助命令1help命令help命令是查询函数语法的最基本方法,查询信息直接显示在命令窗口。在命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。例如,为了显示magic函数的使用方法与功能helpmagic2lookfor命令help命令可以帮助用户了解函数的用法。例如,输入命令lookforfourier,3其他帮助命令,1.3.3演示系统在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入“demos”,或者选择主窗口“Help”菜单中的“Demos”子菜单,打开的演示系统如图1.8所示。,1.4MATLAB的变量和数据操作,1.4.1变量与赋值1变量命名在MATLAB7.X中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。例如x、x_1、xy12在MATLAB中,变量名区分字母的大小写。例如addr、Addr和ADDR表示3个不同的变量。2赋值语句MATLAB赋值语句有两种格式:(1)变量=表达式;(2)表达式在第1种语句形式下,MATLAB将右边表达式的值赋给左边的变量,而在第2种语句形式下,将表达式的值赋给MATLAB的预定义变量ans。在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运算的结果。注释以%开头,【例1.1】当时,计算表达式的值,并将结果赋给变量y,然后显示出结果。在MATLAB命令窗口分别输入命令:x=sqrt(1+pi);y=(exp(x)+log(abs(sin(x)2-sin(x*x)/(x-5*i)y=0.5690+1.3980i其中,pi和i都是MATLAB定义的变量,分别代表圆周率和虚数单位。,3预定义变量,1.4.2变量的管理1内存变量的显示与删除显示在MATLAB工作空间中已经驻留的变量名清单。whowhoswhos在给出驻留变量名的同时,还给出它们的维数、所占字节数以及变量的类型。删除MATLAB工作空间中的变量clearMATLAB工作空间窗口专门用于内存变量的管理。变量编辑器,2内存变量文件利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。MAT文件是MATLAB保存数据的一种标准格式二进制文件,扩展名是.mat。MAT文件的生成和装入save文件名变量名表-append-asciiload文件名变量名表-ascii假定变量a和b存在于MATLAB工作空间中,输入以下命令便可将a和b保存于当前目录的mydata.mat文件中:savemydataab把mydata.mat中的内容装入MATLAB工作空间:loadmydata,1.4.3数据的输出格式用“format”命令设置数据输出格式format格式符“format”命令只影响数据输出格式,而不影响数据的计算和存储。例如输入为x=4/31.2345e-6在各种不同的格式符下的输出为短格式(short):1.33330.0000短格式e方式(shorte):1.333e+001.2345e-06长格式(long):1.333333333333330.00000123450000长格式e方式(longe):1.33333333333333e+0001.23450000000000e-006银行格式(bank):1.330.00十六进制格式(hex):3ff55555555555553eb4b6231abfd271+格式(+):+,1.5MATLAB矩阵及其基本运算,1.5.1矩阵的生成在MATLAB中,生成矩阵时无须对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。1直接输入法将矩阵的所有元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如,输入命令:A=1,2,3;4,5,6;7,8,9A=123456789矩阵元素也可以是表达式,MATLAB将自动计算结果。例如:B=10,5-sqrt(7),sin(pi/2);7,4*8,abs(-7)在MATLAB中,矩阵元素可以是复数。例如,建立复数矩阵:B=1,2+7i,5*sqrt(2)*i;3,2/5,3.5+6i也可以分别建立实部矩阵和虚部矩阵,再合起来构成复数矩阵。例如:R=1,2,3;4,5,6;I=1.1,2.2,3.3;4.4,5.5,6.6;ri=R+i*I,2利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件【例1.2】利用M文件建立mydata矩阵。(1)启动有关文本编辑程序或MATLAB的M-file编辑器(见第2章),并输入待建矩阵:mydata=1.11.21.31.41.51.61.71.81.9;2.12.22.32.42.52.62.72.82.9;3.13.23.33.43.53.63.73.83.9;(2)把输入的内容存盘(设文件名为matfund.m)。(3)在MATLAB命令窗口中输入matfund,即运行该M文件,就会自动建立一个名为mydata的矩阵,可供以后使用。,3利用数据文件建立指定矩阵用户能够通过load命令,将外部数据文件中的内容调入到工作空间中创建矩阵,外部文件的扩展名为.dat。例如,利用文本编辑器创建一个数据文件test.dat,包含下列数据:246863567325125在命令窗口输入:loadtest.dattest运行结果为,4利用已建好的矩阵建立更大的矩阵大矩阵可由已建好的小矩阵拼接而成。例如:A=1,2,3;4,5,6;7,8,9;B=11:13;14:16;17:19;A=1,2,3;4,5,6;7,8,9;C=A,B;B,A,1.5.2冒号表达式在MATLAB中利用冒号可以产生行向量。冒号表达式的一般格式为a:b:c其中,a为初始值,b为步长,c为终止值(ca)。冒号表达式可产生一个由a开始到c结束,以步长b自增的行向量。例如:t=0:2:10t=0246810在MATLAB中,还可以用linspace函数产生行向量。其调用格式为linspace(a,b,n)其中a和b是生成向量的第1个和最后一个元素,n是元素总数。当n省略时,自动产生100个元素。显然,linspace(a,b,n)与a:(ba)/(n1):b等价。例如:x=linspace(0,10,6)x=0246810,1.5.3矩阵的拆分1矩阵元素对矩阵的单个元素操作。例如,如果想将矩阵A的第2行第3列的元素赋为76,则可以通过下面语句来完成:A(2,3)=76这时将只改变该元素的值,而不影响其他元素的值。在MATLAB中,也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。矩阵元素按列编号,先第1列,再第2列,依次类推。例如:A=10,20,30;40,50,60;A(3)序号(Index)与下标(Subscript)是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。size(A)函数返回包含两个元素的向量,分别是矩阵A的行数和列数length(A):给出行数和列数中的较大者,(1)利用冒号表达式获得子矩阵A(m,n)表示取A矩阵第m行、第n列的元素,A(m,:)表示取A矩阵第m行的全部元素,A(:,n)表示取A矩阵的第n列全部元素。A(m1:m2,:)表示取A矩阵第m1m2行的全部元素,A(:,n1:n2)表示取A矩阵第n1n2列的全部元素,A(m1:m2,n1:n2)表示取A矩阵第m1m2行内,并在第n1n2列中的所有元素。A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,(2)利用空矩阵删除矩阵的元素在MATLAB中,空矩阵是指无任何元素的矩阵,表示形式为。给变量x赋空矩阵的语句为x=将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。例如:A=123456;789101112;131415161718;A(:,24)=其中第2条命令将删除A的第2列和第4列元素。,1.5.4算术运算1基本算术运算MATLAB的基本算术运算有:+(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。(1)矩阵加减运算运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。一个标量也可以和其他不同维数的矩阵进行加减运算。例如:x=2,-1,0;3,2,-4;y=x-1;y=y+x,(2)矩阵乘法矩阵A和B进行乘法运算,要求A的列数与B的行数相等,或称A和B两矩阵维数相容。如果两者的维数不相容,则将给出错误信息,提示用户两个矩阵是不可乘的。例如:A=1,2,3;4,5,6;B=A*A?Errorusing=mtimesInnermatrixdimensionsmustagree.在MATLAB中,还可以进行矩阵和标量相乘,标量可以是乘数也可以是被乘数。矩阵和标量相乘是矩阵中的每个元素与此标量相乘。(3)矩阵除法在MATLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。(4)矩阵的乘方一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。,2点运算两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。点运算符有.*、./、.和.。例如:A=1,2,3;4,5,6;7,8,9;B=-1,0,1;1,-1,0;0,1,1;C=A.*BC=-1034-50089如果A、B两矩阵具有相同的维数,则A./B表示A矩阵除以B矩阵的对应元素。B.A等价于A./B。,3MATLAB常用数学函数,(1)函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。例如:y=sin(0:pi/2:2*pi)y=01.00000.0000-1.0000-0.0000y=abs(y)y=01.00000.00001.00000.0000(2)abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。x=-3.14,3+4i;abs(x)ans=3.14005.0000,(3)用于取整的函数有fix、floor、ceil、round,要注意它们的区别。例如:x=fix(13.37),floor(13.37),ceil(13.37),round(13.37)x=13131413x=fix(-13.67),floor(-13.67),ceil(-13.67),round(-13.67)x=-13-14-13-14(4)rem与mod函数的区别。rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。当y0时,rem(x,y)=xy.*fix(x./y),而mod(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 退休职工互助组织合作协议
- 实验室生物安全感控培训计划
- 科研机构骨干教师创新能力培养计划
- 制造业存货管理优化计划
- 五年级上学期家长沟通会计划
- 内科部门2025年慢性病管理计划
- 2025-2030高端电吉他行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030雪茄行业市场发展分析及发展趋势与投资前景研究报告
- 2025-2030防水建筑材料行业市场发展分析及竞争格局与投资战略研究报告
- 2025-2030轻钢行业市场发展分析及发展趋势与规划建议研究报告
- 国能集团工会工作报告
- 河南大河网数字科技有限公司招聘笔试题库2025
- 补缴社保员工协议书
- 水电项目实施中的环境保护措施试题及答案
- 2025标准劳动合同范本及模板
- 2025届广东省佛山市顺德区龙江镇八下物理期末统考试题含解析
- 自动化办公试题及答案
- 2025年烘焙师职业资格考试真题卷:烘焙师职业竞赛与评价试题
- GB 7718-2025食品安全国家标准预包装食品标签通则
- 2025中考语文常考作文押题(10大主题+10篇范文)
- 安全工程安全系统工程课程设计
评论
0/150
提交评论