ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:631.68KB ,
资源ID:9217491      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9217491.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab概述.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

matlab概述.docx

1、matlab概述MATLAB结课论文 班级电子142学号140404059姓名王娟 日 期: 2016.10.31摘 要 MATLAB(MATrix LABoratory)是MathWorks公司于1984年开发的科学与工程计算软件。它以矩阵运算为基础,将高性能的数值计算和符号计算功能、强大的绘图功能、动态系统仿真功能以及为数众多的应用工具箱集成在一起,是颇具特色和影响的科学计算软件,在科学研究以及工程设计领域有着十分广泛的应用。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科

2、学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

3、简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个

4、领域的重要原因。关键词:矩阵运算;仿真功能;工具;绘图功能 目 录第1章 绪论 11.1 MATLAB的发展概况 11.2 MATLAB的主要功能 2第2章 数值计算与多项式计算 12.1 数值计算 12.2 多项式计算 3第3章 图形绘制 53.1 二维曲线的绘制 53.2 二维统计分析图的绘制 63.3 三维图形的绘制 83.3.1 三维曲线 83.3.2 三维曲面 8第4章 Simulink仿真 114.1 常用仿真模块库介绍 114.2 仿真实例 144.2.1 单相半波可控整流电路(电阻性负载) 144.2.2 单相全波可控整流电路(电阻性负载) 16第5章 控制系统中的应用 205

5、.1 系统的时域分析法 205.2 根轨迹 215.3 系统的频域分析法 225.3.1 绘制极坐标图 225.3.2 绘制Bode图 23参考文献 24第1章 绪论1.1 MATLAB的发展概况20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和 EISPACK库程序的通俗易用的接口,此即用Fortran编写的萌芽状态的MATLAB。尽管功能十分简单,但当作免费软件,还是吸引了大批使用者。经过几年的校际流传,在John Little、Cleve Moler、和Steve Bangert合作,于1984年

6、成立了MathWorks公司,并正式推出MATLAB第1版(DOS版)。从这时起,MATLAB的核心采用C语言编写,功能越来越强,除原有的数值计算功能外,还新增了图形处理功能。Math Works公司于1992年推出了具有划时代意义的MATLAB 4.0版,该版本可以配合Windows一起使用,随之推出的符号计算工具包和用于动态系统建模、仿真、分析的集成环境Simulink,并加强了大规模的数据处理能力,使之应用范围越来越广。1997年春,MATLAB 5.0版问世,该版本支持了更多的数据结构,如单元数据、结构数据、多维数组、对象与类等,使其成为一种更方便,更完善的编程语言。2000年10月,

7、MATLAB 6.0版问世,在操作界面上有了很大的改观,为用户的使用提供了很大方便;在计算性能方面,速度变得更快,数值性能也更好;在图形用户界面设计上也更趋合理;与C语言的接口和转换的兼容性也更强;与之配套的Simulink 4.0版的新功能也特别引人注目。2002年6月又推出了MATLAB 6.5版和Simulink 5.0版,在计算方法、图形功能、用户界面设计、编程手段、工具等方面都有了重大改进。2004年7月,Math Works公司推出了MATLAB 7.0版;2005年9月,Math Works公司推出了MATLAB 7.1版。随后每年发布两次以年份命名的版本。MATLAB的工具箱,

8、为不同领域内使用MATLAB的研究开发者提供了一条捷径。当控制界正致力于研究线性矩阵不等式时,当信号处理界正沉浸在回味小波变换之余时,当模糊理论、神经网络发展迅速时,Math Works公司适应时代发展的需求及时的推出了LMI控制工具箱、小波工具箱、模糊逻辑工具箱、神经网络工具箱等。MATLAB的工具箱不仅种类繁多而且功能强大,吸引了广大的使用者。到目前为止,MATLAB的工具箱已有几十种,内容包括:数学、化学、电力系统、图像处理、信号处理、自动控制等许多领域。1.2 MATLAB的主要功能MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、

9、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。目前 MATLAB 产品族可以用来进行数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与方针、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程。MATLAB 是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言M语言,利用M

10、语言可以通过编写脚本或者函数文件实现用户自己的算法。第2章 数值计算与多项式计算2.1 数值计算1求最大值和最小值max(A):如果A是向量,则返回向量A的最大值。如果A中包含复数元素,则按模取最大值。如果A是矩阵,则返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。Y,U=max(A):如果A是向量,则返回向量A的最大值存入Y,最大值的序号存入U。如果A中包含复数元素,则按模取最大值。如果A是矩阵,则Y向量记录A的每列的最大值,U向量记录每列最大值的行号。max(A, ,dim):仅用于矩阵。dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列

11、向量,其第i个元素是A矩阵的第i行上的最大值。2求和与求积数据序列求和的函数是sum。sum函数的调用格式如下。sum(A):如果A是一个向量,则返回向量各元素的和。如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的元素和。sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。数据序列求积的函数是prod,其用法和sum完全相同。3平均值和中值数据序列的平均值指的是算术平均值。中值是指在数据序列中其值的大小恰好处在中间的元素。例如数据序列2,5,7,9,12的中值为7如果数据为偶数个,则中值等于中间的两

12、项之平均值。例如,数据序列2,5,6,7,9,12中,处于中间的数是6和7,故其中值为此两数之平均值6.5。求数据序列平均值的函数是mean,mean函数的调用格式如下。mean(A):如果A是一个向量,则返回向量的算术平均值。如果A是一个矩阵,则返回一个行向量,其第i个元素是A的第i列的算术平均值。mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。求数据序列中值的函数是median,其用法和mean完全相同。4累加和与累乘积所谓累加和或累乘积,是指从数据序列的第1元素开始直到当前元素进行累加或累乘,作为结

13、果序列的当前元素值。在MATLAB中,使用cumsum和cumprod函数求得向量和矩阵元素的累加和与累乘积向量。cumsum函数的调用格式如下。cumsum(A):如果A是一个向量,则返回向量的累加和。如果A是一个矩阵,则返回一个矩阵,其第i列是A的第i列的累加和向量。cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时,返回一个矩阵,其第i行是A的第i行的累加和向量。求累乘积的函数是cumprod,其用法和cumsum完全相同。5标准方差与相关系数(a)求标准方差方差描述了一组数据波动的大小,方差越小,数据波动越小。在MATLAB中,提供了计算数据序列

14、的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为Y=std(A,flag,dim)其中flag取0或1,当flag=0时,按1所列公式计算标准方差;当flag=1时,按2所列公式计算标准方差。dim取1或2,当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。默认flag=0,dim=1。(b)相关系数相关系数用来衡量两组数据之间的线性相关程度。 corrcoef函数用于求数据的相关系数矩阵。corrcoef(X,Y):求向量X和Y的相关系数

15、。corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。它把矩阵X的每列作为一个变量,然后求它们的相关系数。6排序MATLAB提供了对向量X进行排序的函数sort(X),函数返回一个对X中的元素按升序排列的新向量。sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为 Y,I=sort(A,dim,mode)其中Y是排序后的矩阵,而I记录Y中的元素在A中的位置。dim指明对A的列还是行进行排序,若dim=1,则按列排;若dim=2,则按行排。mode指明按升序还是降序排序,ascend为升序,descend为降序。dim默认取1,mode默认取ascend。2.2 多项式计算(1)

16、多项式的加减运算在MATLAB中,多项式的加减运算就是其所对应的系数向量的加减运算。如果多项式的次数不同,则应该把低次的多项式系数不足的高次项用0补足,使同式中的各多项式具有相同的次数。例如,计算(x32x2+5x+3)+(6x1),命令如下:a=1,-2,5,3;b=0,0,6,-1;c=a+b c = 1 -2 11 2(2)多项式乘除运算函数conv(P1,P2)用于求多项式的乘积,其中P1、P2是两个多项式的系数向量。函数Q,r=deconv(P1,P2)用于对多项式作除法运算,其中P1、P2是两个多项式的系数向量,返回值Q是商式的系数向量,r是余式的系数向量。(3).多项式的导函数对

17、多项式求导数的函数如下。p=polyder(P):求多项式P的导函数p=polyder(P,Q):求PQ的导函数p,q=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。上述函数中,参数P、Q是多项式的系数向量,结果p、q也是多项式的系数向量。(4).多项式的求值MATLAB提供了两种求多项式值的函数:polyval与polyvalm,它们的输入参数均为多项式系数向量P和自变量x。两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。(a)代数多项式求值polyval函数用来求代数多项式的值,其调用格式为Y=polyval(P,x)若x为一数值,则求多项式在该点

18、的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。(b)矩阵多项式求值polyvalm函数用来求矩阵多项式的值,其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,它以方阵为自变量求多项式的值。设A为方阵,P代表多项式,那么polyvalm(P,A)的含义为A*A*A5*A*A+8*eye(size(A)而polyval(P,A)的含义为A.*A.*A5*A.*A+8*ones(size(A)(5).多项式求根roots函数用于求多项式的全部根,其调用格式为x=roots(P)其中P为多项式的系数向量,求得的根赋给向量x,即x(1),(2),x(n)分

19、别代表多项式的n个根。若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为P=poly(x)其中x为具有n个元素的向量。poly(x)建立以x为其根的多项式,且将该多项式的系数赋给向量P。第3章 图形绘制3.1 二维曲线的绘制+二维曲线是将平面上坐标上的数据点连接起来的平面图形。除直角坐标系外,还可采用对数坐标、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。二维曲线的绘制是其他绘图操作的基础。(1)plot函数plot(x,y)其中x和y为大小相同的向量,分别用于存储x坐标和y坐标数据。(a)当x和y是同维矩阵时,配对的x、y按对应列元素为横、纵坐标分别绘制曲

20、线,曲线条数等于矩阵的列数。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令为x=0:pi/10:2*pi; y=sin(x);plot(x;x;x,y;y*2;y*3)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根曲线,曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成: x=0:pi/10:2*pi;y=sin(x);plot(x,y;y*2;y*3)(b)当plot函数只有一个输入参数时,即plot(y)若y是实型向量,则以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线;若y是复数向量,则分别以向量元

21、素实部和虚部为横、纵坐标绘制一条曲线。若y是实矩阵,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数;若y是复数矩阵,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。(c)当plot函数有多个输入参数,且都为向量时,即plot(x1,y1,x2,y2,xn,yn)其中,x1和y1,x2和y2,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。例如,在同一坐标中绘制3条幅值不同的正弦曲线,命令也可以写成: x=0:pi/10:2*pi;y=sin(x);plot(x,y,x,y*2,x,y*3) 【

22、例3.1】绘制曲线 及其包络线。程序如下: t=(0:pi/100:pi); y1=sin(t)*1,-1; %包络线函数值y2=sin(t).*sin(9*t); plot(t,y1,y2)grid on; %加网格线box on; %加坐标边框axis equal %坐标轴采用等刻度 (2).具有两个纵坐标标度的图形绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。这种图形有利于图形数据的对比分析。 plotyy(x1,y1,x2,y2)其中,x1和y1对应一条曲线,x2和y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1、y1数据对,右纵坐标用于x2、y

23、2数据对。3.2 二维统计分析图的绘制(1)条形图。MATLAB中提供了多个函数可绘制各种条形图,bar函数绘制柱形图,barh函数绘制水平条形图,stem函数绘制杆图,errorbar函数绘制误差条图。下面以bar函数为例,说明条形图函数的用法。bar函数的基本用法与plot函数相似,其调用格式为bar(x,width,style):当x是mn阶的矩阵时,绘制的条形图以分组或堆积的形式表现。矩阵中每一行元素绘制在一组中,每一列元素绘制在每组中相对应的位置上。其中,width设置条形的相对宽度和控制在一组内条形的间距,默认值为0.8,style指定条形的排列模式,类型有group(分组)和 s

24、tack(堆积),默认时采用group模式。 (2)饼图。饼图能反映每一数值相对于总数值的大小。MATLAB中绘制饼图的函数是pie,其调用格式为pie(x,explode)pie函数使用x中的数据绘制一个饼图,x可以是向量或矩阵。explode是与x同等大小的向量或矩阵,与explode的非零值对应的部分将从饼图中心分离出来。默认explode时,饼图是一个整体。【例3.2】表3.1所示为某公司3类产品个季度的销售额(万元),分别按季度绘制簇状形图和堆积条形图。用饼图分析例3.10中产品A该年度各季度的产品销售情况。表3.1 产品全年销售额(单位:万元)x=51,82,34,47;67,78

25、,68,90;78,85,65,50; subplot(1,2,1);bar(x,group);title(Group);axis(0 5 0 100);subplot(1,2,2);barh(x,stack);title(Stack);pie(x(:,1),0 0 0 1)title(饼图);legend(一季度,二季度,三季度,四季度);(3)散点图。散点图是数据点在直角坐标系平面上的分布图。MATLAB中绘制散点图的函数是scatter,其调用格式为scatter(x,y,s,c,filled)其中,x、y、s和c为同等大小的向量。x和y用于定位数据点;s指定绘图点的大小,s也可以是一个

26、标量,则所有数据点同等大小;c指定绘图所使用的色彩,c也可以是一个标量,所有数据点使用同一种颜色;filled表示填充绘图点,默认时,数据点是空心的。3.3 三维图形的绘制第1章 第2章 第3章 3.1 3.2 3.3 3.3.1 三维曲线最基本的三维图形函数为plot3,其调用格式为plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,xn,yn,zn,选项n) 其中,每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x、y、z是同维向量时,则x、y、z对应元素构成一条三维曲线;当x、y、z是同维矩阵时,则以x、y、z对应列元素绘制三维曲线,曲线条数等于矩阵列

27、数。【例3.3】绘制三维曲线。程序如下: t=0:pi/10:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t); z=t;plot3(x,y,z);axis(-30 30 -30 30 0 35) title(Line in 3-D Space);xlabel(X);ylabel(Y);zlabel(Z);grid on;3.3.2 三维曲面MATLAB中绘制三维网格图和曲面图,先要生成在xy平面的网格数据,再以一组z轴的数据对应到这个二维的网格,然后调用绘图函数绘制。(1)产生三维数据在MATLAB中产生三维图形数据的方法是:将x方向区间a,b分成m份,

28、将y方向区间c,d分成n份,由各划分点分别作平行于两坐标轴的直线,将区域a,bc,d分成mn个小矩形,生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后求对应网格坐标的Z矩阵。MATLAB中的meshgrid函数可以将向量转换为矩阵。meshgrid函数的调用格式为 X,Y=meshgrid(x,y); 其中x、y为向量。(2)绘制三维曲面的函数MATLAB提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用于绘制三维网格图;surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式为mesh(x,y,z,c) surf(x,y,z,c)一般情况

29、下,x、y、z是维数相同的矩阵。x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c默认时,MATLAB认为c=z,即颜色的设定是正比于图形的高度的,这样就可以画出层次分明的三维图形。当x,y是向量时,要求x的长度等于z矩阵的列,y的长度等于z矩阵的行,x、y向量元素的组合构成网格点的x、y坐标,z坐标则取自z矩阵,然后绘制三维曲面图。【例3.4】绘制三维曲面图z=sinx2+cosy2,x0,y0,/2。程序如下: x,y=meshgrid(0:pi/100:pi, 0:pi/100:pi/2);z=sin(x.2)+cos(y.2); mesh(x,y,z);

30、axis(0 4 0 1.8 -1.5 1.5); (3)标准三维曲面(a)sphere函数。sphere函数用于绘制三维球面,其调用格式为x,y,z=sphere(n)该函数将产生(n+1)(n+1)矩阵x、y、z,采用这3个矩阵可以绘制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出参数,则直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20。若n值取得较小,则将绘制出多面体表面图。(b)cylinder函数。cylinder函数用于绘制柱面,其调用格式为x,y,z= cylinder(R,n)其中,R是一个向量,存放柱面各个等间隔高度上的半径;n表示在圆柱圆周上有n个间隔点,默认时表示有20个间隔点。例如,cylinder(3)生成一个圆柱,cylinder(10,1)生成一个圆锥,而 t=0:pi/100:4*pi;R=sin(t);cylinder(R,30)生成一个正弦型柱面。(c)peaks函数。peaks函数(多峰函数)常用于三维曲面的演示。该函数可以用来生成绘图数据矩阵,例如:z = peaks(30);将生成一个3030的矩阵z,即分别沿x和y方向将区间3,3等分成29份,并计算这些网格点上的函数值。默认参数时将生成一个4949的矩阵。也可以根据网格坐标矩阵x、y重新计算函数值矩阵。例如:x,y=meshgrid(-5:0.1:5);z=pea

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2