实验一 Matlab仿真软件的基本应用

上传人:e****s 文档编号:243539024 上传时间:2024-09-25 格式:PPT 页数:78 大小:1.41MB
返回 下载 相关 举报
实验一 Matlab仿真软件的基本应用_第1页
第1页 / 共78页
实验一 Matlab仿真软件的基本应用_第2页
第2页 / 共78页
实验一 Matlab仿真软件的基本应用_第3页
第3页 / 共78页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验一 应用仿真软件进行数值计算和数据可视化,1、掌握MATLAB在线帮助功能的使用;2、熟悉MATLAB运行环境和MATLAB语言的 主要特点;3、掌握MATLAB语言的基本语法规则及基本操 作命令的使用;4、学会M文件的建立和使用方法以及应用 MATLAB实现二维和三维图形的绘制方法;5、具有使用MATLAB语言编程和调试的能力。,实验目的,参考书目,精通版 张志涌等编著 北京航空航天大学出版社,MATLAB电子仿真与应用 韩利竹等编著 国防工业出版社,MATLAB控制系统设计 欧阳黎明 编著 国防工业出版社,应用MATLAB建模与仿真 陈桂明 等编著 科学出版社,MATLAB扩展编程 何强,何英编著 清华大学出版社,MATLAB应用程序接口指南 刘志坚编著 科学出版社,MATLAB高级应用图形图像处理 清源计算机工作室编著 机械工业出版社,MATLAB简介,一、MATLAB的发展史,MATLAB,名字由,MATrix,和,LABoratory,两词的前三个字母组合而成。那是,20,世纪七十年代,时任美国新墨西哥大学计算机系主任的,Cleve,Moler,出于减轻学生编程负担的动机,为学生设计了一组调用,LINPACK,和,EISPACK,矩阵软件工具包库程序的的“通俗易用”的接口,此即用,FORTRAN,编写的萌芽状态的,MATLAB,。,1984,年由,Little,、,Moler,、,Steve,Bangert,合作成立,MathWorks,公司,并把,MATLAB,正式推向市场。从这时起,,MATLAB,的内核采用,C,语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,1997,年春,,版问世,紧接着是,、,,以及和,1999,年春的,版直到现在的,和,版。现今的,MATLAB,拥有更丰富的数据类型和结构、更友善的面向对象、更快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。,二、,MATLAB,语言的主要特点,(,1,)具有丰富的数学功能,包括矩阵各种运算(正交变换、三角分解、特征值等)、各种特殊函数(贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数)、各种数学运算功能(微积分、插值、求极值、方程求根、,FFT,、解常微分方程等)。,(2)具有很好的图视系统,可方便地画出两维和三维图形。,高级图形处理:色彩控制、句柄图形、动画等。,图形,用户界面,GUI,制作工具,可以制作用户菜单和控件。使用者可以根据,自己的需求编写出满意的图形界面。,(,3,)可以直接处理声音和图形文件,声音文件(如:,WAV,文件)、图形文件(如:,bmp,、,gif,、,pcx,、,tif,、,jpeg,等文件)。,(,4,)具有若干功能强大的应用工具箱,SIMULINK,、,COMM,、,DSP,、,SIGNAL,等。,(5)使用方便,具有很好的扩张功能。,(6)具有很好的帮助功能,可以,M,文件转变为独立于平台的,EXE,可执行文件。,使用,MATLAB,语言编写的程序可以直接运行,无需编译。,提供十分详细的帮助文件(,PDF,、,HTML,、,demo,文件)。,联机查询指令:,help,指令,(例:,help,elfun,,,help exp,,,help,simulink,),,lookfor,关键词(例:,lookfor,fourier,)。,MATLAB,的应用接口程序,API,是,MATLAB,提供的十分重要的组件,由一系列接口,指令,组成。用户就可在,FORTRAN,或,C,中,把,MATLAB,当作计算引擎使用。,购买(下载),Matlab,软件,Matlab,的安装,插入光盘,自动运行; 或点击安装程序,三、MATLAB运行环境介绍,(一)MATLAB 提供两种运行方式,(1)命令方式,直接在命令窗口输入命令来实现计算或作图功能,(2)M文件运行方式,单击,FILE,NEW,M-FILE,打开,M,文件输入运行界面,输入程序文件。(具体又分为,脚本文件和函数文件,两种方式)。该运行方式优点是可以调试也可以重复使用。,(二) MATLAB中的窗口简介,(1)命令窗口(Command Window),a . 启动MATLAB命令窗口,双击,MATLAB,图标,就可进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。,b. MATLAB语句形式,变量=表达式,;,键入回车键时,该语句被执行。窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号 “,;,”,c. 命令行编辑器,方向键和控制键可以编辑修改已输入的命令,回调上一行命令 回调下一行命令,命令窗口的分页输出,more off,:,不允许分页,more on,:,允许分页,more(n),:,指定每页输出的行数,回车前进一行,空格键显示下一页,,q,结束当前显示。,多行命令(,),如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。,如:,S=1-12+13+4+,9-4-18;,(2)M文件窗口,(3)起始面板(Launch Pad),(4)工作空间窗口(Workspace),(5)命令历史窗口(Command History),(6)当前目录窗口(Current Directory),(7)图形窗口(Figure No),(8)GUI制作窗口,(三)变量和数值显示格式,1、变量,(1)变量的命名:,变量的名字必须以,字母,开头(不能超过31个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。,(2)一些特殊的变量,ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率,nargin:函数的输入变量个数 eps:计算机的最小数,nargout:函数的输出变量个数 inf:无穷大,realmin:最小正实数 realmax:最大正实数,nan:不定量 flops:浮点运算数,(3)变量操作,在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a,2、数值显示格式,任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。,format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:,format short 短格式(5位定点数),format long 长格式(15位定点数),format short e 短格式e方式 9.9123e+001,format long e 长格式e方式,format bank 2位十进制,format hex 十六进制格式,(四)简单的数学运算,1、常用的数学运算符,,*(乘),/(左除),(右除),(幂),在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。,2、常用数学函数,abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等,(五)MATLAB的工作空间,1、MATLAB的工作空间包含了一组可以在命令窗口中调用的参数,who,:显示当前工作空间中所有变量的一个简单列表,whos,:则列出变量的大小、数据格式等详细信息,clear,:清除工作空间中所有的变量,clear,变量名:清除指定的变量,(六)MATLAB指令中常用标点功能小结,(七)MATLAB指令窗的常用控制指令,what,:显示当前目录下所有与matlab相关的文件及它们的路径。,cd path,:由当前目录进入path目录,cd .,:返回上一级目录,cd,:显示当前目录,delete filename,:删除文件filename,(八)Current Directory、,路径设置器和文件管理,1、Current Directory,它可展示当前目录下最完整的文件目录列表,具有:运行文件,装载MAT文件,边界文件等功能。,路径设置,(,1,)建立用户目录,可用,md,指令或图形窗口指令。,(,2,)把用户目录设置成当前目录,方法一:可通过,matlab,窗口中“目录设置栏”和“浏览键”设置。,方法二:通过,cd,指令设置,假设待设置的用户目录是,c:mydir,,,则可通过指令,cd,c:mydir,将其设置为当前目录。,3 当前路径的扩展和修改,(1)若用户有多个目录需同时与matlab交换信息,则应将它们放置在matlab的搜索路径上,使得该目录上的文件可被调用。,(2)设置方法,通过路径设置对话框,(引出该对话框法),在指令窗中运行pathtool;,在matlab桌面菜单中选择【File:SetPath】,注:此方式下路径修改可有当前有效修改和永久有效修改两种状态。,利用,path,指令,格式如下:,path(,path,c:mydir,),把,c:mydir,设置在搜索路径尾端,Path(c:mydir,path,),把,c:mydir,设置在搜索路径首端,注:此法仅有当前有效修改状态,(九)Workspace Browser和Array Editor,1 Workspace 现场菜单的应用,2 Array Editor数组编辑器和大数组的输入,点亮Workspace浏览器中的任意一数组,双击,或选现场菜单【Open Selection】就可引出数组编辑器。如下,大,数组的输入,在指令窗向一个新变量赋“空”阵,在,Workspace,浏览器中双击该变量,打开数组编辑器。,在数组编辑器上方输入行数和列数,逐格填写元素,直到完成。,(十)帮助系统,1、在命令窗口中利用,help,命令显示,MATLAB的所有函数都是以逻辑群组方式进行组织的,而MATLAB的目录结构就是以这些群组方式来编排的。,help help:显示如何使用help,lookfor,命令:返回包含指定关键词的那些项,help matfun :矩阵函数数值,线性代数,help general:通用命令,help graphics:通用图形函数,help elfun,:基本的数学函数,help elmat:基本矩阵和矩阵操作,help datafun:数据分析和傅立叶变换函数,help ops:,操作符和特殊字符,help polyfun:多项式和内插函数,help lang:语言结构和调试,help strfun:字符串函数,help control:控制系统工具箱函数,2、“导航/浏览器”交互界面帮助,可用helpwin( helpdesk )、窗口菜单或工具条帮助图标引出。该界面由帮助导航器(Help Navigator)和帮助浏览器(Help Browser)两部分组成。,3、PDF帮助,(为让用户获得高质量的可打印帮助),4、,演示帮助(demos),运行Desktop Enviroment中的示例,矩阵的直接排列输入,矩阵用方括号“, ,”,括起,例:,A = 1 2 3; 4 5 6; 7 8 9,矩阵同一行中的元素之间用,空格,或,逗号,分隔,矩阵行与行之间用,分号,分开,直接输入法中,分号可以用,回车,代替,例:,向量与矩阵运算,Matlab,的,操作对象是,矩阵,矩阵元素可以是任何数值表达式,例:,x=-1.3, sqrt(3), (1+2+3)*4/5 ,矩阵元素赋值,矩阵元素的单独赋值,例:,x(5)=abs(x(1),例:,x(5)=abs(x(6),?,注:,Matlab,自动将向量 x 的长度扩展到 5,,并将未赋值部分置零。,大矩阵可以把小矩阵作为其元素,矩阵元素赋值,例:,A = A; 11 12 13 ,在原矩阵的下方加一行,单个元素的引用,例:,A(2,3),矩阵元素的引用,多个元素的引用:,冒号的特殊用法,利用小括弧和元素所在的位置(下标),x(,i,):向量,x,中的第,i,个元素,A(,i, j,):矩阵 A 中的第,i,行,第,j,列元素,a:b:c,产生一个由,等差序列,组成的向量; a 是首项,b 是公差,c,确定,最后一项;若 b=1,则 b 可以省略。,例,:,x=1:2:5,y=1:2:6,例,:,x=2:1:5,y=2:5,例,:,x=3:2:1,多个元素的引用(续),例:,x(1:3),矩阵元素的引用,A(3,1:3),A(,i,:,j,m,:,n,) 表示由矩阵 A 的第,i,到第,j,行和第,m,到第,n,列交叉线上的元素组成的,子矩阵,。,可利用冒号提取矩阵 的整行或整列。,例:,A(1, :),A(:, 1:2),A(:, :),冒号的作用,提取矩阵的部分元素: 冒号运算符,A(:),A,的所有元素,A(:,:),二维矩阵,A,的所有元素,A(:,k),A,的第,k,列,,A(k,:),A,的第,k,行,A(k:m),A,的第,k,到第,m,个元素,A(:,k:m),A,的第,k,到第,m,列组成的子矩阵,可利用,Matlab,自带函数来生成一些特殊的矩阵,例:,C=magic(3),常见的矩阵生成函数,zeros,(m,n),生成一个,m,行,n,列的零矩阵,,m=n,时可简写为 zeros(,n,),ones,(m,n),生成一个,m,行,n,列的元素全为 1 的矩阵,m,=,n,时可写为 ones(,n,),eye,(m,n),生成一个主对角线全为 1 的,m,行,n,列矩阵,m=n,时可简写为 eye(,n,),即为,n,维单位矩阵,diag,(X),X为矩阵时,diag(X) 为 X 的主对角线向量; X 是向量时,diag(X) 产生以 X 为主对角线的对角矩阵,rand,(m,n),产生 01 间均匀分布的随机矩阵,m,=,n,时简写为 rand(,n,),矩阵的转置,矩阵的转置与共轭转置,共轭转置,.,转置,矩阵元素不取共轭,例,:,A=1 2;2i 3i,B=A,C=A.,点与单引号之间不能有空格,!,改变矩阵的形状,改变矩阵的形状:,reshape,reshape(A,m,n),将原矩阵按,列方向,进行排列成一个,mn,的新矩阵,重组后得到的新矩阵的元素个数,必须与原矩阵元素个数相等!,矩阵的大小,查看矩阵的大小:,size,size(A),列出矩阵,A,的,行数和列数,size(A,1),返回矩阵,A,的,行数,size(A,2,),返回矩阵,A 的,列,数,例,:,A=1 2 3; 4 5 6,size(A),size(A,1),size(A,2),length(x,),返回,向量,X,的,长度,length(A,),等价于,max(size(A,),矩阵基本运算,矩阵的加减,:,对应分量进行运算,要求参与加减运算的矩阵具有 相同的维数,例,:,A=1 2 3; 4 5 6; B=3 2 1; 6 5 4,C=A+B; D=A-B;,矩阵的普通乘法,要求参与运算的矩阵满足线性代数中矩阵相乘的原则,例,:,A=1 2 3; 4 5 6; B=2 1; 3 4;,C=A*B,矩阵基本运算,矩阵的,除法,:,/,、,右除和左除,若,A,可逆方阵,则,AB,A,的逆左乘,B,inv(A)*B,B/A,A,的逆右乘,B,B*inv(A),若,A,是方阵,,p,是正整数,则,Ap,表示,A,的,p,次幂,即,p,个,A,相乘。,矩阵的,乘方(幂),:,矩阵的数组运算,数组运算:,对应元素进行运算,点与算术运算符之间不能有空格!,数组运算包括:,点乘、点除、点幂,相应的数组运算符为:,.*,,,./,,,.,,,.,参与运算的对象必须具有相同的形状!,例,:,A=1 2 3; 4 5 6; B=3 2 1; 6 5 4;,C=A.*B; D=A./B; E=A.B; F=A.B;,线性方程的组的求解,我们将线性方程的求解分为两类:一类是方程组求唯一解或求特解,另一类是方程组求无穷解即通解。可以通过系数矩阵的秩来判断:,若系数矩阵的秩r=n(n为方程组中未知变量的个数),则有唯一解,若系数矩阵的秩rn,则可能有无穷解。,线性方程组的无穷解 = 对应齐次方程组的通解+非齐次方程组的一个特解;其特解的求法属于解的第一类问题,通解部分属第二类问题。,求线性方程组的唯一解或特解,利用矩阵除法求线性方程组的特解(或一个解),方程:AX=b,解法:X=Ab,例 求方程组,的解,解:在Matlab编辑器中建立M文件:,A=5 6 0 0 0,1 5 6 0 0,0 1 5 6 0,0 0 1 5 6,0 0 0 1 5;,B=1 0 0 0 1;,R_A=rank(A) %求秩,X=AB %求解,运行后结果如下,R_A =,5,X =,这就是方程组的解。,求非齐次线性方程组的通解,非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。因此,,步骤为:第一步:判断AX=b是否有解,若有解则进行第二步,第二步:求AX=b的一个特解,第三步:求AX=0的通解,第四步:AX=b的通解= AX=0的通解+AX=b的一个特解。,matlab 绘图,matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,一、二维绘图,(一)plot 最基本的二维图形指令,plot的功能:,plot命令自动打开一个图形窗口Figure,用直线连接相邻两数据点来绘制图形,根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示,plot的调用格式,plot(x) 缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图,plot(x,y) 基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x 为自变量,作出m条曲线,plot(x1,y1,x2,y2) 多条曲线绘图格式,plot(x,y,s) 开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如,yellowyel表示等。,或plot(x1,y1,s1,x2,y2,s2,),S的标准设定值如下:,字母 颜色 标点 线型,y 黄色 点线,m 粉红 圈线,c 亮蓝 线,r 大红 字线,g 绿色 实线,b 蓝色, 星形线,w 白色 : 虚线,k 黑色 (-) 点划线,1. 单窗口单曲线绘图,例1:x=0, 0.48,0.84,1,0.91,0.6,0.14,plot (x),2. 单窗口多曲线绘图,例2:t=0:pi/100:2*pi;,y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);,plot(t,y,t,y1,t,y2),y,y1,y2,例 3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,y,y1,y2,y3,y4,y5),y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);,plot(t,y3);hold on; plot(t,y4); plot(t,y5);,5.可任意设置颜色与线型,例 4(例2):plot(t,y,r-,t,y1,g:,t,y2,b*),6.图形加注功能,将标题、坐标轴标记、网格线及文字注,释加注到图形上,这些函数为:,title 给图形加标题,xlable 给x,轴加标注,ylable 给y,轴加标注,text 在图形指定位置加标注,gtext 将标注加到图形任意位置,grid on(off) 打开、关闭坐标网格线,legend 添加图例,axis 控制坐标轴的刻度,例:t=0:0.1:10,y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);,x=1.7*pi;1.6*pi;,y=-0.3;0.8;,s=sin(t);cos(t);,text(x,y,s);,title(正弦和余弦曲线);,legend(正弦,余弦),xlabel(时间t),ylabel(正弦、余弦),grid,axis square,2,4,6,8,10,时间t,(三)特殊二维绘图函数,bar,绘制直方图,polar, 绘制极坐标图,hist 绘制统计,直方图,stairs 绘制阶梯图,stem 绘制火柴杆图,rose 绘制统计扇形图,comet 绘制彗星曲线,errorbar 绘制误差棒图,compass 复数向量图(罗盘图),feather 复数向量投影图(羽毛图),quiver 向量场图,area 区域图,pie 饼图,convhull 凸壳图,scatter 离散点图,例,绘制阶梯曲线,x=0:pi/20:2*pi;y=sin(x);stairs(x,y),例:绘制极坐标绘图,t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y),例:绘制火柴杆绘图,t=0:0.2:2*pi; y=cos(t); stem(y),例:绘制直方图,t=0:0.2:2*pi; y=cos(t); bar(y),二、三维绘图,三维绘图的主要功能:,绘制三维线图,绘制等高线图,绘制伪彩色图,绘制三维网线图,绘制三维曲面图、柱面图和球面图,绘制三维多面体并填充颜色,(一)三维线图,plot3 基本的三维图形指令,调用格式:,plot3(x,y,z) x,y,z是长度相同的向量,plot3(X,Y,Z) X,Y,Z是维数相同的矩阵,plot3(x,y,z,s) 带开关量,plot3(x,1,y,1,z,1,s,1, x,2,y,2,z,2,s,2, ),二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴,大小,axis(x,min,x,max,y,min,y,max,z,min,z,max,),grid on(off) 绘制三维网格,text(x,y,z,string) 三维图形标注,子图和多窗口也可以用到三维图形中,例:绘制三维线图,t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),r:),十一 典型实例演示,计算结果的可视化,【例1】画出衰减振荡曲线 及其它的包,络线 。t的取值范围是 。,t=0:pi/50:4*pi; %,定义自变量取值数组,y0=exp(-t/3);%,计算与自变量相应的,y0,数组,y=exp(-t/3).*sin(3*t);,%,计算与自变量相应的,y,数组,plot(t,y,-r,t,y0,:b,t,-y0,:b)%,用不同颜色、线型绘制曲线,grid%,在“坐标纸”画小方格,图,1,-1,衰减振荡曲线与包络,【例2】画出 所表示的三维曲面。x,y的,取值范围是-8,8。,clear;x=-8:0.5:8;%,定义自变量,x,的一维刻度向量,y=x;%,定义自变量,y,的一维刻度向量,X=ones(size(y)*x;,%,计算自变量平面上取值点坐标的二维数组,Y=y*ones(size(x),%,计算自变量平面上取值点坐标的二维数组,R=sqrt(X.2+Y.2)+eps;%,计算中间变量,Z=sin(R)./R;%,计算与自变量二维数组相应的函数值,mesh(Z);%,绘制三维网格图,colormap(hot) %,指定网格图用,hot,色图绘制,图,1-2,三维网线图,End,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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