已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章MATLAB概述,MATLAB语言是20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了为解决“线性代数”课程的矩阵运算问题,减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。取名“MATLAB”即MatrixLaboratory,矩阵实验室的意思。1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。,MATLAB优势,友好的工作平台和编程环境简单易用的程序语言强大的科学计算机数据处理能力出色的图形处理功能应用广泛的模块集合工具箱实用的程序接口和发布平台应用软件开发(包括用户界面),MATLAB主要应用领域,MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。,第2章MATLAB语言程序设计基础,2.1MATLAB语言的基本使用环境MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些常用窗口外,还主要包括菜单栏和工具栏。,MATLAB用户界面,2.1MATLAB语言的基本使用环境,菜单栏:在MATLAB7.X主窗口的菜单栏,共包含File、Edit、Debug、Desktop、Window和Help6个菜单项。,MATLAB菜单栏,在MATLAB菜单栏,共包含File、Edit、View、Web、Window和Help6个菜单项。File:包括新建,打开文件,关闭,保存,打印,导入数据,设置路径及退出等操作。Edit:包括撤销,剪切、复制、粘贴等常见的操作。Debug:程序的调试。Desktop:用于设置MATLAB集成环境的显示方式。Window:用于关闭所有打开的编辑器窗口,在各窗口之间切换。Help:用于提供帮助信息。,MATLAB帮助系统,进入帮助窗口可以通过以下3种方法:单击MATLAB主窗口工具栏中的Help按钮;在命令窗口中输入helpwin、helpdesk或doc;选择Help菜单中的“MATLABHelp”选项。,MATLAB工具栏,工具栏:工具栏包括新建文件、打开文件、剪切,复制,粘贴等常用图标;显示MATLAB当前的路径,用户可以通过工具栏改变当前目录路径。,常用窗口,命令窗口(CommandWindow)历史命令窗口(CommandHistory)当前工作目录(CurrentDirectory)工作空间(Workspace)数组编辑器窗口(ArrayEditor)M文件编辑/调试器窗(Editor),1.命令窗口,1.命令窗口,作用:命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。在命令窗口中输入MATLAB命令和数据后按回车键,立即执行运算。命令窗口中的语句形式为:变量=表达式;,说明:命令窗口中的每个命令前会出现提示符“”,没有“”符号的行则是显示的结果”。,1.命令窗口,句末加分号;则不显示结果,例:a=3;b=4;c=a+b;cc=7,2.历史命令窗口,2.历史命令窗口,作用:在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录。当按下方向键时窗口会依次出现已输入命令。,2.历史命令窗口,用来记录并显示已经运行已经运行过的命令、函数和表达式。,3.当前工作目录,说明:当前工作目录用来设置当前目录,并显示当前目录下的M文件、MAT文件等文件信息,窗口中包含文件名称、类型、文件大小和修改时间等。,3.当前工作目录,当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是:(1)检查该命令是不是一个变量。(2)检查该命令是不是一个内部函数。(3)检查该命令是否当前目录下的M文件。(4)检查该命令是否MATLAB搜索路径中其他目录下的M文件。因此,当前目录设置是否正确,决定程序是否能正确运行。,4.工作空间,4.工作空间,说明:工作空间浏览器窗口用于显示内存中所有的变量名、数据结构、类型、大小和字节数。,5.数组编辑器窗口,启动数组编辑器窗口的方法有:1.在工作空间窗口中双击该变量;2.选择变量点击鼠标右键,选择“openselection”。,6.M文件编辑/调试窗口,打开M文件编辑/调试器窗口的方法:1点击工具栏新建图标;2点击菜单“File”“New”“M-File”;3.打开已保存的M文件。,2.2MATLAB语言的数据结构,2.2.1常量与变量标识符:是标志变量名、常量名、函数名和文件名的字符串的总称。字符包括全部的英文字母(大小写52个)、阿拉伯数字和下划线等符号,标识符中第一个字符必须是英文字母。例:变量A,a,A1,A_1变量1A,1a,_a,2.2.2赋值语句,矩阵及其元素的赋值赋值就是把数赋予代表常量或变量的标识符。在MATLAB中,变量都代表矩阵。列向量可被当作只有一列的矩阵;行向量也可被当作只有一个行的矩阵;标量应看作11阶的矩阵。赋值语句的一般形式为:变量表达式(或数),2.2.2赋值语句,例如:a=3;b=4;c=a+b;d=sin(t);,MATLAB内部特殊变量和常数,在MATLAB语言中为特定常数保留了一些名称,虽然这些常量可以被重新赋值,但在编程时尽量避免对这些量重新赋值。,MATLAB内部特殊变量和常数,变量ans:临时变量,通常指示当前的答案。常数eps:表示浮点相对精度;其值是从1.0到下一个最大浮点数之间的差值。变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准,esp=2-52近似为2.2204e-016。常数realmax:表示最大正浮点数;任何大于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmax略小于21024,近似为1.7977e+308。常数realmin:表示最小正浮点数;任何小于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmin略小于2-1024,近似为2.2251e-308。,MATLAB内部特殊变量和常数,常数pi:表示圆周率=3.1415926535897.。表达式4*atan(1)和imag(log(-1)产生相同的值。常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结果。如2/0,210000均产生结果:Inf;而log(0)产生结果:-Inf。虚数单位i,j:表示复数虚部单位,相当于。NaN:表示非数值。如当Inf-Inf,Inf/Inf,0*Inf,0/0均产生该结果。,(1)变量ans,a=3;b=4;a+bans=7,变量ans:临时变量,通常指示当前的答案。,常数eps,常数eps:表示浮点相对精度;其值是从1.0到下一个最大浮点数之间的差值。esp默认值为2.2204e-016,若某个量的绝对值小于eps,则从数值运算的角度可以认为这个量为0。,常数eps,epsans=2.2204e-016,常数realmax:,常数realmax:表示最大正浮点数;任何大于该值的运算都溢出。Realmax默认值为1.7977e+308。,常数realmax:,realmaxans=1.7977e+308,常数realmin:,常数realmin:表示最小正浮点数;任何小于该值的运算都溢出。Realmin默认值为2.2251e-308。,常数realmin:,realminans=2.2251e-308,常数pi:,pi:表示圆周率=3.1415926535897表达式4*atan(1)和imag(log(-1)产生相同的值。,常数pi:,常数Inf:,常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结果。如2/0,210000均产生结果Inf;而log(0)产生结果-Inf。,常数Inf:,虚数单位i,j,i,j:表示复数虚部单位,a=3+2ia=3.0000+2.0000ib=3+2jb=3.0000+2.0000i,NaN,NaN:表示非数值。如:Inf-Inf;0*Inf;Inf/Inf,0/0均产生该结果。,2.2.3矩阵的MATLAB表示,1赋值要求在输入矩阵时,应遵循以下规则:整个矩阵的值应放在方括号中;同一行中各元素之间以逗号“,”或空格分开;不同行的元素以分号“;”隔开。,2.2.3矩阵的MATLAB表示,a=12;34a=1234,a=1,2;3,4a=1234,例如:,2.2.3矩阵的MATLAB表示,一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如:p=15,m=35;p=15;m=35,2.2.3矩阵的MATLAB表示,如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。,2.2.3矩阵的MATLAB表示,a=3;b=2;c=1;d=a+b.-cd=4,2.2.3矩阵的MATLAB表示,2变量的元素的标注在MATLAB中,变量的元素(即矩阵元)用圆括号“()”中的数字(也称为下标)来注明,一维矩阵(也称数组)中的元素用一个下标表示,二维矩阵由两个下标数构成,以逗号分开,对三维矩阵则由三个下标数构成。,变量的元素的标注:一维矩阵举例,a=rand(1,3)a=0.89130.76210.4565b=a(2)b=0.7621,变量的元素的标注:二维矩阵举例,a=rand(2,3)a=0.61540.92180.17630.79190.73820.4057b=a(2,2)b=0.7382,变量的元素的标注:三维矩阵举例,a=rand(2,2,2)a(:,:,1)=0.93550.41030.91690.8936a(:,:,2)=0.05790.81320.35290.0099,b=a(2,2,1)b=0.8936,2.2.3矩阵的MATLAB表示,3赋值技巧利用冒号“:”给全行或部分元素赋值;(2)利用行、列标注构成新的矩阵。,(1)利用冒号“:”给全行的元素赋值,a=rand(2,2)a=0.13890.19870.20280.6038a(:,2)=1a=0.13891.00000.20281.0000,思考:如果接下来输入命令:a(1,:)=1那么a=?a=1.00001.00000.20281.0000,a=ones(4)a=1111111111111111a(2:4,3:4)=0a=1111110011001100,思考:2.10习题(2)A为5*4矩阵,B为4*6矩阵,1.求出乘积矩阵C,2.将C矩阵的右下角2*3的子矩阵赋给D矩阵。,利用冒号“:”给局部元素赋值,2.10习题(2),A=1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4A=12332357135732391894,B=1,4,3,6,7,8;2,3,3,5,5,4;2,6,5,3,4,2;1,8,9,5,4,3B=143678233554265342189543,2.10习题(2),C=A*BC=1452514041312510310377775924991007170512210811182796539114108939970,D=C(4:5,4:6)D=827965939970,(2)利用行、列标注构成新的矩阵,若要产生矩阵a=111121111,可以采用以下方法:a=ones(3,3)a=111111111a(2,2)=2,2.2.3矩阵的MATLAB表示,4特殊矩阵和数组(1)单位矩阵函数eye();(2)zeros函数、ones函数;(3)rand以及randn函数;(4)linspace函数。,1.eye(m,n),eye(m,n)产生对角线元素为1,其他元素为0的矩阵。例如:,eye(3,2)ans=100100,a=eye(3,3)a=100010001,2.zeros函数、ones函数,zeros(m,n):产生m行,n列矩阵,矩阵元素均为0。ones(m,n):产生m行,n列矩阵,矩阵元素均为1。,zeros(2,3)ans=000000,ones(3,2)ans=111111,3.rand以及randn函数,rand:产生随机矩阵,矩阵元素满足在0、1之间均匀分布。randn:产生随机矩阵,矩阵元素服从均值为0,方差为1的正态分布。,rand(3,3)ans=0.52520.83810.20260.01960.67210.6813,randn(3,2)ans=-1.1465-0.03761.19090.32731.18920.1746,4.linspace函数,linspace函数的调用格式如下:y=linspace(a,b,n)产生一个行矢量y,该矢量把a和b间的数等分n份而得到。,例:y=linspace(1,100,5)y=1.000025.750050.500075.2500100.0000,2.2.3矩阵的MATLAB表示,5复数的赋值方式MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示。对复数矩阵有两种赋值方法:(1)可将矩阵元逐个赋予复数;(2)将矩阵的实部和虚部分别赋值。,复数的赋值方式,逐个赋值:a=zeros(2,1);a(1,1)=1+2i;a(2,1)=2+2ia=1.0000+2.0000i2.0000+2.0000i,实、虚部分别赋值:b=1;2;c=2;2;d=b+cid=1.0000+2.0000i2.0000+2.0000i,2.2.3矩阵的MATLAB表示,6变量检查在程序调试或变量的赋值过程,往往需要检查工作空间中的变量、变量的阶数以及变量赋值内容。在检查变量及其阶数等内容时,既可用工作空间窗口,也可在命令窗口使用who或whos命令来完成检查。当查看某变量的赋值情况,可在命令窗口直接键入该变量名回车即可。,变量检查(who,whos),d=1.0000+2.0000i2.0000+2.0000i;whosNameSizeBytesClassd1x232doublearray(complex)Grandtotalis2elementsusing32byteswhoYourvariablesare:d,2.3MATLAB下矩阵的运算,2.3.1矩阵的代数运算(1)矩阵加减法“”:AB功能:两矩阵对应元素相加减。因此,A和B两矩阵必须有相同的大小,或其中之一为标量,标量可以与任意大小的矩阵相加。,(1)矩阵加减法“”:AB,相同大小矩阵相加:a=2,3;b=ones(1,2)b=11c=a+bc=34,矩阵与常数相加:a=2,3;b=1;c=a+bc=34
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版:供应链管理服务合同
- 2024年特种门采购合同范本3篇
- 2024年某企业关于知识产权许可的合同
- 马鞍山职业技术学院《安装工程计量计价实训》2023-2024学年第一学期期末试卷
- 2024年文化产业融资借款合同范本大全6篇
- 2025年货运从业资格证模拟试题题库及答案解析
- 2025年货运从业资格证考试题目和答案
- 2025年昆明考货运从业资格证考试题目
- 2024事业单位聘用合同教师(附教育质量监控与管理)3篇
- 2025建筑工程民工劳动合同范文
- 京瓷哲学培训课件
- 天猫电子商务案例分析
- 2022年1201广东选调生考试《综合行政能力测验》真题
- 有机肥料采购项目售后服务方案
- 综合实践活动(1年级下册)第3课时 感恩卡设计与制作-课件
- 2023河南省科学院招聘144人笔试参考题库(共500题)答案详解版
- (完整版)小学生英语百科知识竞赛题及答案
- 肥料、农药采购服务方案(技术方案)
- 脑卒中后吞咽障碍患者进食护理(2023年中华护理学会团体标准)
- 妊娠期高血压疾病诊治指南(2022版)解读
- 政府经济学网上作业-第2次任务-以“政府支出”为主题-撰写一篇不少于1000字的小论文
评论
0/150
提交评论