MATLAB及工程运用使用教材及参考书:1.MATLAB程序设计及应用,蒋珉编著,20102.MATLAB原理及工程运用,高会生等译,20023.MATLAB程序设计与应用,刘卫国主编,2006考核要求:平时成绩30%,考试成绩70%教学目的:使学生能够运用MATLAB解决一般的科学及工程计算,掌握MATLAB的基本运用,为将来从事工程技术方面的产品开发,工程计算打下一定的基础。本课程内容:第一章MATLAB入门与基本操作第二章数值数组及其运算第三章字符串、元胞和结构数组第四章数据和函数的可视化第五章MATLAB程序设计基础第六章数值计算第七章符号运算简介第八章SIMULINK交互式集成仿真环境第九章MATLAB在工程中的应用第一章MATLAB入门与基本操作Matlab简介:MATLAB的发展历程及影响、特点及应用领域工作界面与基本操作CommandWindow运行入门CommandWindow操作要旨CommandHistory历史指令窗CurrentDirectory、路径设置器和文件管工作空间浏览器和变量编辑器Editor/Debugger和脚本编写初步帮助系统及其使用MATLAB的发展历程及影响MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。20世纪七十年代后期:美国新墨西哥大学计算机科学系主任CleveMoler教授出于减轻学生编程负担的动机,用FORTRAN编写一组“通俗易用”的接口,此即用的萌芽状态的MATLAB。1984年由Little、Moler、SteveBangert合作,成立了MathWorks公司,并把MATLAB正式推向市场。MATLAB以商品形式出现后,以其良好的开放性和运行的可靠性,逐渐占领市场。在20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。MathWorks公司于1986年推出基于DOS的版本3.X;此后又逐渐升级到基于WINDOWS版本的4.0(1993),5.0(1997),6.X,7.x,R2008a,现在R2011a(7.12)为最新版本。拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。MATLAB已经成为大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。Matlab语言特点:1.编程效率高:它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题——通俗地称为演算纸式科学算法语言。2.用户使用方便:把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度。3.扩充能力强:高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。另外,为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran,C语言程序,混合编程,方便地调用有关的Fortran,C语言的子程序。4.语句简单,内涵丰富:Mat1ab语言中最基本最重要的成分是函数,其一般形式为[a,b,c……]=fun(d,e,f,……),即一个函数由函数名,输入变量d,e,f,……和输出变量a,b,c……组成,同一函数名F,不同数目的输入变量及不同数目的输出变量,代表着不同的含义。5.高效方便的矩阵和数组运算:Matlab语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“.”就可用于数组间的运算,另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便。6.方便的绘图功能:Matlab的绘图十分方便,它有一系列绘图函数,如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数,在图上标出图题、XY轴标注,格绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。数据分析;数值与符号计算;工程与科学绘图;控制系统设计;航天工业;汽车工业;生物医学工程;语音处理;图像与数字信号处理;财务、金融分析;建模、仿真及样机开发;新算法研究开发;图形用户界面设计。MATLAB工作界面MATLAB工作界面CommandWindow运行入门数值、变量和表达式1.数值的记述:MATLAB的数值采用习惯的十进制表示,可以带小数点或负号,数值范围10-308~10308。。2.变量命名规则:变量名、函数名是对字母大小写敏感的!变量名的第一个字符必须是英文字母,最多可包含63个字符(英文、数字和下连符)。3.MATLAB默认的预定义变量:4.工作空间与变量管理5.运算符和表达式6.面向数组设计的运算默认的预定义变量运算符和表达式工作空间与变量管理:Who、whos、clear、clc等的用法6.面向数组设计的运算在MATLAB中,不必事先对数组维数及大小做任何说明,内存将自动配置。二维数组输入的三大要素:数组标识符“[]”;元素分隔符空格或逗号“,”;数组行间分隔符分号“;”或“回车键”。注意:所有标点符号都是“英文状态的符号”!在全部键入一个指令行内容后,必须按下[Enter]键,该指令才会被执行。CommandWindow操作要旨1.指令窗的显示方式:默认的输入显示方式、运算结果的显示、显示方式的永久设置。2.指令中的标点符号:3.常用控制指令4.常用键盘控制指令窗的显示方式指令中的标点符号常用控制指令常用键盘控制帮助系统及其使用常用帮助指令help列出所有函数分组名(TopicName)helpTopicName列出指定名称函数组中的所有函数helpFunName给出指定名称函数的使用方法helpwin列出所有函数分组名(TopicName)helpwinTopicName列出指定名称函数组中的所有函数helpwinFunName给出指定名称函数的使用方法docToolboxName列出指定名称工具包中的所有函数名docFunName给出指定名称函数的使用方法第二章数值数组及其运算第二章数值数组及其运算数值数组的创建、标识、查询和定位数组的运算和操作“无穷大”、“非数”和“空”数组关系操作和逻辑操作数值数组的创建和寻访一维数组的创建冒号生成法:X=a:inc:b线性(或对数)定点法:x=linspace(a,b,n)x=logspace(a,b,n)逐个元素输入、函数生成法二维数组的创建直接输入数组编辑器创建.m文件创建函数创建:diageyemagicrandrandnoneszerosrandomrandsrcgallery二维元素的标识和寻访全下标法:A(r,c),A(r,:),A(:,c)单下标法:A(:),A(S)逻辑标识法:A(L)数组的查询和定位find、length、size数组运算数组运算的规则两个同维同大小的数组A=[aij]mXn、B=[bij]mXn的算术运算结果为数组C=[cij]mXn,则C数组的第(i,j)元素是数组A和B相同位置元素进行的指定的算术运算的结果,即cij=aij#bij设标量a和数组B=[bij]mXn进行算术运算的结果是cij=a#bij函数f(.)的数组运算规则是指“该函数对数组的逐个元素起作用”(表2.2常用数组运算函数)数组操作技法综合diag、repmat、reshape、flipud、fliplr、rot90“无穷大”“非数”和“空”数组“无穷大”:有一个非零数除以0得到或者在计算中出现数值上溢产生。inforInf非数:,NaN或nanNaN参与运算所得结果也是NaN,既具有传递性;非数没有“大小”概念,因此不能比较两个非数的大小非数的作用:记录运算结果,避免运算中断;在测量数据处理中表示非正常点;在数据可视化中,用来裁剪图形。000,,000,,例:(1)非数的产生:a=0/0,b=0*log(0),c=inf-inf(2)非数的传递性0*a,sin(a)(3)非数的属性判断class(a)isnan(a)空数组:空数组的作用:在没有“空”数组参与运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运算“空”数组对其他空数组赋值,可以使数组变小,但不能改变那维数组的维数。注:空数组不是全零数组,确实存在。例:(1)创建“空”数组的几种方法a=[]b=ones(2,0),c=zeros(2,0),d=eye(2,0),f=rand(2,3,0,4)(2)“空”数组的属性class(a)isnumeric(a)isempty(a)ndims(a)size(a)(3)“空”数组用于子数组的删除和大数组的大小收缩A=reshape(-4:5,2,5)A(:,[2,4])=[]关系操作和逻辑操作(5.3节)MATLAB约定在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,而只有0才被认为是“逻辑假”所有关系表达式和逻辑表达式的计算结果是0和1的“逻辑数组”逻辑数组是一种特殊的数值数组。常用的关系操作符:、=、、=、==(等于)、~=(不等于)。关系运算规则:如果比较的两个变量都是标量,则结果为1(true)或0(false);如果比较的两个变量都是数组,则必须尺寸大小相同,结果也是同样大小的数组;如果比较的是一个数组和一个标量,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组。逻辑操作常用的逻辑运算符:&(与)、|(或)、~(非)和xor(异或)。在逻辑运算中,非0元素表示true,0元素表示false。标量可以与任何维数数组进行逻辑运算。当逻辑运算中没有标量时,参与运算的数组必须维数相同。在MATLAB表达式中同时出现多种运算符时,优先级按:括号()→转置'.'幂^.^→一元加减+-逻辑非~→乘*.*除/./\.\→加减+-→冒号:→关系运算====~=→元素逻辑运算与&→元素逻辑运算或|→先决逻辑运算与&&→先决逻辑运算或||常用逻辑函数all---数组A不含0元素,返回1any---数组A不是全0元素,返回1false----truelogicalisempty作业1、2、3、4、5、6、7、8、9、10、11、12、14第三章字符串、元胞和结构数组字符串数组元胞数组结构数组字符串字符串由多个字符组成,是1×n的字符数组;每一个字符都是字符数组的一个元素,以ASCII码的形式存放并区分大小,而显示的形式则是可读的字符。字符串创建:单引号(英文状态),使用两个单引号(‘’)输入字符串中的单引号创建字符串s1='matlab7.3's1=matlab7.3(1)直接赋值s3='显示''matlab'''s3=显示‘matlab’(2)多个字符串组合str2=[s1;s2,'';s3]str2=matlab7.3字符串显示'matlab'2.字符数组的存储空间MATLAB在存储字符串时,每一个字符以ASCII码的形式存放,占用两个字