




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宿 州 学 院机械与电子工程学院课程教案 课程编码: SJ085408 总学时周学时: 16 / 16 开课时间: 2013年 5 月 6 日第 10 周至第 15 周 授课年级、专业、班级:2011级电子信息工程、自动化、电气工程及其自动化 使用教材: MATLAB7讲义 教研室: 自动化 授课教师: 温 艳 (2)课程进度计划表章 次内 容讲 授上 机 一MATLAB简介11二MATLAB的基本使用11三向量与数组及其基本运算11四矩阵的基本运算11五MATLAB程序设计11六字符串11七多项式11八图形处理11九十总学时88(3)教案正文专业软件实习(2)(MATLAB)第一章 MATLAB简介一、MATLAB的初步知识MATLAB最初是由Cleve Moler用Fortran语言设计的,有关矩阵的算法来自Linpack和Eispack课题的研究成果;现在的MATLAB程序是MathWorks公司用 C语言开发的。MATLAB作为美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。是目前最好的科学计算类软件二、MATLAB的主要应用领域(一)数值分析。(二)数值和符号计算。(三)工程与科学绘图。(四)控制系统的设计与方针。(五)数字图像处理。(六)数字信号处理。(七)通讯系统设计与仿真。(八)财务与金融工程。三、MATLAB的优点容易使用,可以由多种操作系统支持,丰富的内部函数,强大的图形和符号功能,可以自动选择算法,与其他软件和语言有良好的对接性。四、MATLAB的缺点 (一)运行效率较低由于MATLAB是一种合成语言,因此,与一般的高级语言相比,用MATLAB编写的程序运行起来时间往往要长一些。 (二)价格比较贵一般的用户可能支付不起它的高昂费用。但是,购买MATLAB的昂贵费用在很大程度上可以由使用它所编写的程序的价值抵消。 五、MATLAB 7的新功能提供了MATLAB、SIMULINK的升级以及其他最新的75个模块的升级,该版本不仅提高了产品质量,同时也提供了最新的用于数据分析、大规模建模、固定点开发和编码等新特征。六、MATLAB 7的安装过程用户在购买到正版MATLAB 7后,可以按照相关的说明进行安装,安装过程相对比较简单。这里不在赘述。安装MATLAB 7必须具有由Mathworks公司提供的合法个人使用许可,如果没有使用许可,用户将无法安装MATLAB。七、MATLAB 7用户界面概述(一) MATLAB 7的主菜单(二)MATLAB 7的工具栏(三)窗口包括:1.命令窗口(Command History):用于输入命令,为命令输入提示符。2.命令历史窗口(Command History):记录输入的命令。3.工作间管理窗口(Workspace):显示当前计算机内存中Matlab变量的名称。4.当前路径窗口(Current Directory):显示当前用户所在的路径。八、路径搜索MATLAB 7有一个专门用于寻找“.m”文件的路径搜索器。“.m”文件是以目录和文件夹的方式分布于文件系统中的,一部分“.m”文件的目录是MATLAB 7的子目录,由于MATLAB 7的一切操作都是在它的搜索路径(包括当前路径中进行的,所以如果调用的函数在搜索路径之外,MATLAB 7就会认为此函数并不存在。 (一)MATLAB 7的当前目录 在“命令”窗口中输入cd命令,并按Enter键确认,即显示当前MATLAB7工作所在目录。 cdd:MATLAB71work(二)查看安装路径 installpath=matlabrootinstallpath =D:MATLAB6p5(三)MATLAB 7的路径搜索设置 选择MATLAB的主窗口中File | Set Path命令 ,进入到设置路径搜索的对话框 ,用户可以设置新的路径九、Matlab帮助系统(一)help函数(二)lookfor函数练习:1. 简述MATLABA7的各个窗口的作用。2. 查看 MATLAB 7的当前目录和安装路径 3. 使用help函数查找det函数的用法4. 使用lookfor函数查找含用关键字norm的相关内容。第二章MATLAB的基本使用一、简单的数学运算 (一)最简单的计算器使用法 1.直接输入法 3*30+3*35+4*30+4*32ans = 4432.存储变量法 grade1=3*30grade1 = 90 grade2=3*35grade2 = 105 total=grade1+grade2total = 195(二)标点符号的使用标 点 符 号定 义标 点 符 号定 义;区分行,取消运行显示等.小数点以及域访问等,区分列,函数参数分隔符等连接语句:在数组中应用较多字符串的标识符号()指定运算优先级等=赋值符号矩阵定义的标志等!调用操作系统运算用于构成单元数组等%注释语句的标识二、数值运算符号符 号功 能实 例+加法1+2-减法1-2*乘法1*2/、除法1/2或是21乘方21例:光明小学一年级有4个班,每班30人,二年级有3个班,每班35人,求该小学一二年级一共有多少人。4*30+3*35三、常用的操作命令clc: 清除工作窗clear: 清除内存变量quit: 退出save: 保存内存变量到指定文件。clf: 清除图形窗口cd: 显示MATLAB工作所在目录。Installpath: 显示安装路径。四、常用函数三角函数:sin cos tan cot asin acos atan acot exp :指数函数 log:自然对数imag:复矩阵虚部real:复矩阵实部round:四舍五入mod:有符号求余rem:无符号求余sign :符号函数sqrt:平方根abs:模练习:1. 练习使用常用指令。2. 设,计算下列各题(1) (2 (3) 3. 在指令窗中输入下面一段程序,功能是:画出衰减振荡曲线y=(e-t/3)sin3t及其他的包络线y0=(e-t/3)。T的取值范围是0,4。t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)观察输出结果第三章 向量与数组及其基本运算一、向量的生成 (一) 向量的生成:在命令窗口中直接输入向量如:a=1,2,3,4a= 1 2 3 4 (二)等差元素向量的生成:如生成一个向量b=1,3,5,7,9b=1:2:9 b= 1 3 5 7 9 其中,为起始值,为公差,为终止值二、向量的基本运算(一) 加(减),向量中每个元素的加(减)例如: a=1,2; b=3,5; a+b ans= 4 7(二) 点积(dot)、叉积(cross)和混合积例1:求dot(a,b) ans= 13叉积,要求变量维数至少三维例2:,求cross(a,b) ans=-36-3例3:,求 c=5,1,2;dot(a,cross(b,c)ans= -15三、数组及其基本运算(一)数组的生成:可通过自定义或利用matlab函数生成例如:建立数组A=1,2,3,4,5,可直接在matlab命令行中定义A=1,2,3,4,5对于一些特殊的矩阵(如随机数据构成的矩阵)可利用相应的函数生成。例13随机生成一个数组A=rand(1,10)(二) 数组的运算数组的运算主要包括数组的排序、数值运算、关系运算和逻辑运算等1数组的排序:函数:sort;默认情况下对按升序排序。用法: sort(X):对数组X中的元素按升序排列dsort():降序例4,对X进行排列x=1,3,7,5,2sort(x)ans= 1 2 3 5 72数值运算数组运算符有矩阵运算符前面加一点来表示,数值运算包括:加(),减()乘()除(),乘方()。数组的加法(减法)与矩阵相同,因此运算符(,)既可以被矩阵接受也可以被数组接受。例15,求数组A于B的乘积A=1,2,3; B=2,3,4; A.*Bans= 2 6 12.关系运算关系运算包括:小于()、小于等于()、大于等于(=)、等于(=)、不等于(=)。比较两个元素大小时,结果为1表示关系式为真;结果为0表示关系式为假。如,A=1,2,B=1,3A=B04.逻辑运算 逻辑运算有三种:与(&)、或(|)、非()。与(&)、或(|)可以比较两个数组的,非()为一元操作符。逻辑运算针对数组或矩阵中的每一个元素。如:A=1,0A则为0,1练习:已知,c=9,-1,4(1)求a和b的点积(2)求b和c的点叉积(3)求a、b和c的混合积首先生成一个110的随机数组A然后将第5个和第8个元素取出,并对它们进行四则运算。设,求其特征值和特征向量A为5阶魔术矩阵,分别对A进行如下操作:(1)求A的逆;(2)求A的秩;(3)求A的迹设数组,求A与B的乘积第四章 矩阵的基本运算一、矩阵的生成(一)直接法:例1:如生成一个三阶矩阵:A=1,2,3;4,5,6;7,8,9:,表示一行中元素的分隔,;表示分行 A= 1 2 3 4 5 6 7 8 9(二)向量法:矩阵可以看成由多个向量的组合。如果向量内各数据之间成等差数列,则可利用冒号表达式建立一个向量,如例3。冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3其中e1为初始值,e2为步长,e3为终止值。如生成向量1,2,3则可表示为1:1:3矩阵 A可表示为:A=1:1:3;4:1:6;7:1:9二、矩阵的运算1.矩阵与矩阵的加(减)法:指矩阵各元素之间的加(减)法矩阵必须具有相同的阶加法用,减法用,数乘用*例2:,求,A=1,2;3,4; B=2,4;1,3; A+Bans= 3 6 4 7 3*A ans= 3 6 9 122.矩阵与矩阵的乘法:运算符号*,如果A是一个阶矩阵,D是一个阶矩阵,则为阶矩阵例3:,求A=1,2;3,4; D=1,2,3;4,5,6; A*D ans= 9 12 15 19 26 333.矩阵与矩阵的除法:一般情况下,AB:表示A*X=B的解;而B/A:表示x*A=B的解例4:,求及的解A=1,2;3,4;B=1,2,3;4,5,6;D=9,12,15;19,26,33;X=AD X= 1.0000 2.0000 3.0000 4,0000 5.0000 6.0000Y=D/B Y= 1.0000 2.0000 3.0000 4.00004.矩阵的特征参数运算矩阵的乘方Sqrtm矩阵的开方Expm矩阵的指数运算Logm矩阵的对数运算Det矩阵的行列式Inv矩阵的逆Rank矩阵的秩Trace矩阵的迹Eig或eigs矩阵的特征值和特征向量Norm计算矩阵的范数例5:,求 A=1,2;3,4;inv(A)ans= -2.0000 1.0000 1.5000 -0.5000例6:求矩阵A的特征值和特征向量用法一:E=eig(A) 生成有矩阵A的特征值所组成的一个列向量;用法二:V,D=eig(A) 生成两个矩阵,V:表示以矩阵A的特征向量作为列向量组成的矩阵,D:表示由矩阵A的特征值作为主对角线元素构成的对角矩阵E=eig(A)E= -0.3723 5.3723V,D=eig(A)V= -0.8246 -0.4160 0.5658 -0.9094D= -0.3723 0 0 5.3723 例7求矩阵A的范数;计算A的无穷范数norm(A,2)ans= 5.4650norm(A,inf)ans= 75.特殊矩阵的生成生成空矩阵Zeros生成矩阵Eye生成单位矩阵Ones生成全矩阵Diag生成对角矩阵Rand生成服从0-1分布的随机矩阵Randn生成服从正态分布的随机矩阵Vander生成范德蒙德矩阵例8生成4行5列的零矩阵zeros(3,5)ans= 0 0 0 0 0 0 0 0 0 00 0 0 0 0例9生成一个取值在之间的行列随机矩阵分析: rand(3),可生成01之间的矩阵,而,之间的差为,因此*rand(3)可之间的随机矩阵,需要生成510之间的随机矩阵,需要将矩阵5*rand(3)向右平移个单位,即5+5*rand(3) 5+5*rand(3)习题:已知,c=9,-1,4(1)求a和b的点积(2)求b和c的点叉积(3)求a、b和c的混合积首先生成一个110的随机数组A然后将第5个和第8个元素取出,并对它们进行四则运算。设,求其特征值和特征向量A为5阶魔术矩阵,分别对A进行如下操作:(1)求A的逆;(2)求A的秩;(3)求A的迹设数组,求A与B的乘积第五章 MATLAB程序设计一、 M文件的组成二、程序控制(一)顺序结构例1:a=1; b=2;c=3;s1=a+bs2=s1+cs3=s2/s1(二)选择语句:包含三种形式第1种形式为只有一种选择:结构如下if 表达式执行语句end第2种形式为只有两种选择:结构如下if 表达式执行语句1else执行语句2end第2种形式为只有3种或3种以上选择:结构如下if 表达式1表达式1为真时的执行语句1elseif表达式2表达式2为真时的执行语句2elseif表达式3表达式3为真时的执行语句3else所有的表达式都为假时执行语句end例1:%该程序用于演示有2种选择时if-else-end语句的使用function if two(x)if x0fprintf(%f is a positive numbern,x)elsefprintf(%f is not a positive numbern,x)end(三)分支语句switch 开关语句Case条件语句执行语句,执行语句Case条件语句1,条件语句2,条件语句3,执行语句,执行语句Otherwise,执行语句,执行语句endfunction lower1(method)switch methodcaselinear,bilineardisp(method is linear)case cubicdisp(method is cubic)case nearestdisp(method is nearest)otherwisedisp(Unknown method.)end将上边的程序以lower1.m为文件名保存,在命令窗口中运行该文件。a=linear;lower1(a)Method is linear(四)for 循环语句for i=表达式,执行语句,执行语句end例2:求1-10的平方 for i=1:1:10x(i)=i2;end xx = 1 4 9 16 25 36 49 64 81 100for 循环语句可嵌套使用,如求解:打开M文件编辑窗口,输入程序如下,并将函数命名为forsum。在命令窗口中输入forsum,即可得到如下结果。(五)while循环语句while 表达式执行语句end(六)人机交互命令break:中断命令:一般用在循环控制中。return:返回调用函数或键盘。continue:与break不同,系统只是不再执行相关的执行语句,而不会跳出当前循环。pause:暂停等待。input:提示用户从键盘输入数据、字符串或表达式。三、 函数(一)主函数:M文件中的第1个函数为主函数。如果同一个M文件中有多个函数,则通常对第1个函数进行定义,定义方式如下:function f()其中,function :为函数定义。f为函数名(二)子函数:子函数的定义与主函数相同。例3,编制一个函数,要求任意输入两个数值后,用两个子函数分别求出它们的和与它们的绝对值的和,再将这两个和相乘。练习: 1简述使用M文件与在MATLAB“命令”窗口直接输入命令有何异同。 2. for 循环语句可嵌套使用,如求3用forend循环,编程求出1+3+5+101的值。4用while循环计算习题25建立阶跃函数。6求和:s=1+2+nstr=this is a string另外,字符串内的单引号由两个连续的单引号来表示,例2如要表示:Its a stringstr=Its a stringstr= Its a string二、字符串操作 包括字符串元素的读取、连接、比较、查找、替换、转换等。(一)字符串元素的读取:因为字符串是数组,可用数组操作工具进行读取例3 读取字符串str的第6个元素str(6)ans= a例4 读取字符串str的第5-13字符str(5:13)ans= a string(二)字符串连接等操作例5连接字符串str1=This is 和字符串str2=a stingstr1=This isstr2= a stringstrcat(str1, str2)ans= This is a string由于Matlab是采用C语言开发的,因此它的字符串操作与C语言基本相同函数名函数用途函数名函数用途Strcat连接字符串strvcat垂直连接字符串strcmp比较字符串大小strncmp比较字符串的前n个字符findstr在其他字符串中查找该字符串strjust证明字符数组strmatch查找可能匹配的字符串strrep用其他字符串代替该串deblank删除字符串内的空格blacks生成空的字符串iscellstr字符串的单元检验stringsStrings函数的帮助(三) 字符串比较字符串的比较主要由两个函数strcmp,实现。其中,strcmp:比较两个字符串是否相等,当相等时,返回值为1,否则返回0。Strncmp:比较两个字符串前n个字符是否相等,当相等时,返回值为1,否则返回0。例6 words1=situate; words2=situp; N=strcmp(word1,word2) N= 0 (四)字符串的查找、替换 Matlab提供finstr、strfind等函数来实现查找和替换功能。findstr:会根据所给字符串中的字符来查找,返回字符的位置。如例7 在s=How much wood would a woodchuck chuck?,中查找字符a; s=How much wood would a woodchuck chuck?a1=findstr(s,a)a1= 21strfind(text,pattern):只能在text中查找pattern,并返回第一个相同字符的位置。 例8 在a中查找字符串s=How much wood would a woodchuck chuck?b1=strfind(a , s)b1= 返回结果为空,表示在a中不存在与s相同的字符串。(五)转换在matlab中,可利用num2str、int2str、str2num、str2double等函数实现字符串和数值之间的转换。例8 将数值2转换成字符2a=num2str(2)a=2输出结果中,a为字符型变量。练习:1 将字符串s1=this is a string, 中的字符a替换成A。2 将数值矩阵转换成字符矩阵。第七章 多项式包含多项式的表示,多项式的运算两部分。一、 多项式的表示方法在Matlab中多项式可通过向量来表示,对于多项式可以利用向量来表示。例1:利用Matlab表示多项式:。P=3,5,0,1,0,12然后利用poly2sym函数将该向量转换为多项式y=poly2sym(P)y= 3*x5+5*x4+x2+12二、 多项式的运算包括多项式求根、多项式的四则运算、多项式求导及积分等(一) 求根(1)利用roots函数求根。语法:r=roots(p)例2 求多项式的根p=1,0,3,12,-7p= 1 0 3 12 -7roots(p)ans= 0.7876+2.4351i 0.7876-2.4351i -2.0872 0.5121(2)利用poly求多项式的系数p=poly(r)p = 1.0000 0.0000 3.0000 12.0000 -7.0000(二)多项式的四则运算1.加法(减法):如果两个多项式的阶相同,可直接进行加减运算,否则,需要将低阶多项式前加0,变为同阶多项式例3两多项式a=14 3 8 9与多项式b=2 4 5相加a+0,dans= 14 5 12 142.乘法:使用函数conv对多相式进行相乘例4将多项式a=1,2,3,4与b=5,6,7,8相乘a=1,2,3,4b=5,6,7,8c=conv(a,b)c= 5 16 34 60 61 52 323.除法:由decon函数来完成(三)求导与积分求导函数:polyder;积分函数:polyint例4对多项式p=3,1,8,8分别求导p=3,1,8,8q=polyder(p)q= 9 2 8对q积分p1=polyint(q)p1= 3 1 8 0练习:用直接输入法创建多项式。2.求多项式的所有根以及由多项式的根得出系数。3.当多项式系数为a=8 2 2 8,b=6 1 6 1时,求其加法和减法。4.a=1 2 3 4,b=5 6 7 8,将其表示成多项式的形式,并求多项式的积。5.设,求的积分和导数。第八章 图形处理一、二维曲线的绘制(一)基本图形的绘制表8-1 绘制基本线性图的函数表函数名功能描述Plot在x轴和y轴都按线性比例绘制二维图形Plot3在x轴、y轴和z轴都按线性比例绘制三维图形Loglog在x轴和y轴都按对数比例绘制二维图形Semilogx在x轴按对数比例,y轴按线性比例绘制二维图形semilogy在y轴按对数比例,x轴按线性比例绘制二维图形plotyy绘制双y轴图形Plot(x) %以x为纵坐标的二维曲线。Plot(x,y) %以x为横坐标,y为纵坐标的二维曲线。例1 使用plot(x,y)命令绘制简单的二维图形,首先以增量0.01创建一个在0,2范围内的向量x,然后在该范围内求向量x的正弦值,生成向量y。MATLAB7.0将把向量x定位在X轴上,把向量y定位在Y轴上。解:在命令窗口中输入代码如下。x=0:pi/100:2*pi;y=sin(x);plot(x,y)所得图形如图6-1所示。例2使用plot函数绘制二维多线图形。首先以增量0.01创建一个在0,2范围内的向量x,然后在该范围内求向量x的正弦值,生成向量y1;然后求该范围内向量x-0.25的正弦值,生成向量y2;再求该范围内向量x-0.5的正弦值,生成向量y3。MATLAB7.0将把向量x定位在X轴上,把向量y1、y2和y3定位在y轴上。解:在命令窗口中输入代码如下。 x=0:pi/100:2*pi; y1=sin(x); y2=sin(x-0.25); y3=sin(x-0.5);plot(x,y1,x,y2,x,y3)所得图形如图6-2所示。例3 使用polar函数在极坐标下绘制函数的图形解:在命令窗口输入如下程序,并按Enter键确认输入,运行结果如图6-3所示。 %该程序介绍polar函数的用法 %t其中t为角度,s为半径 t=0:0.01:4*pi; s=abs(sin(2*t).*cos(2*t); polar(t,s,-r+);图6-1 正弦曲线图6-2 正弦曲线图6-3 polar函数的使用此外,可利用title()对图形加题标;利用xlabel (),xlabel ()给图形加坐标轴标注,text()函数进行文本标注,legend()进行图形的图例标注。图6-4 图形标注 polar(t,s,-r+); polar(t,s,-r+) x=linspace(1,100,100); y=log(x); plot(x,y) title(自然对数图); xlabel(x取值范围是1-100); ylabel(y=log(x);练习:1. plot指令的使用在commmand窗口键入以下指令:X=1:10Y=1 2 3 4 5 6 7 8Z=1:-1:-10Plot(x)Plot(y)Plot(x,z)观察指令窗及图形窗中的结果。2. subplot指令的使用;采样点数对绘图的影响的理解;title、axis指令的使用键入所以下指令:t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,r.),axis(0,pi,-1,1),title(子图(1)subplot(2,2,2),plot(t2,y2,r.),axis(0,pi,-1,1),title(子图(2)subplot(2,2,3),plot(t1,y1,t1,y1,r.)axis(0,pi,-1,1),title(子图(3)subplot(2,2,4),plot(t2,y2)axis(0,pi,-1,1),title(子图(4)观察指令窗及图形窗中的结果。3. 图形交互指令的使用在(2)的四个子图上用ginput指令分别获取其峰值;在(2)的四个子图中的 子图1上用gtext指令将“不太完整的离散图形”字符串放置到图形上。在子图2上用gtext指令将“完整的离散图形”字符串放置到图形上。在子图3上用gtext指令将“失真的连续图形”字符串放置到图形上。在子图4上用gtext指令将“正确的连续图形”字符串放置到图形上。t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,r.),axis(0,pi,-1,1),title(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新旧招投标管理办法
- 团支部预算管理办法
- 南昌公积金管理办法
- 劳模疗养费管理办法
- 客车gps管理办法
- 外卖派送点管理办法
- 城管协查员管理办法
- 村集体水井管理办法
- 发票管理办法追溯期
- 污水供水费管理办法
- 现场仪表维修课件
- 时空地理行业可信数据空间建设指引
- 创新人才考试试题及答案
- 中国乙型肝炎病毒母婴传播防治指南(2024年版)解读
- 天津市和平区五十五中2025届数学八下期末调研试题含解析
- 《医疗机构工作人员廉洁从业九项准则》解读
- 医学科研成果转化实践分享
- 新疆阿魏野生抚育种植技术规范-公示稿
- 2025-2030中国有机硅胶行业发展趋势与前景展望战略研究报告
- 中医体质养生之养生保健操课件
- 2025年安全生产考试题库(有限空间作业安全)真题及答案
评论
0/150
提交评论