matlab综述报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB综述报告
1.MATLAB的简介和主要特点
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,
FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA 的支持。
2.在控制领域中的应用
在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。
MATLAB中,使用函数tf()建立控制系统的传递函数模型,或将控制系统的其它模型转换为传递函数模型,使用格式:sys=tf(num,den)。
早期的控制系统分析过程复杂而耗时,如想得到一个系统的冲激响应曲线,首先需要编写一个求解微分方程的子程序,然后将已经获得的系统模型输入计算机,通过计算机的运算获得冲激响应的响应数据,然后再编写一个绘图程序,将数据绘制成可供工程分析的响应曲线。MATLAB控制系统工具箱和SIMULINK辅助环境的出现,给控制系统分析带来了福音。控制系统的分析包括系统的稳定性分析、时域分析、频域分析及根轨迹分析等。
复域(根轨迹)分析:
(1)零极点图pzmap()函数用来绘制系统的零极点图,
调用格式如下:
●[p,z]=pzmap(sys):返回系统sys的极点向量p和零点向量z。
●pzmap(sys):自动绘制系统sys的零极点图。
(2)根轨迹图
①rlocus() 函数rlocus()用来计算并绘制开环系统的闭环根轨迹,调用格式如下:●r= rlocus (sys,k):其中sys为开环系统的传递函数模型或零极点模型,k为指定的根轨迹增益向量。函数返回值r为系统在各个增益点处对应的闭环极点值。
●[r,k]= rlocus (sys):此时增益向量k由MATLAB根据系统模型的特性自动生成。●rlocus (sys)、rlocus (sys,k)、rlocus (sys1,sys2,…sysN)或rlocus (sys1,sys2,…,sysN,k):自动绘制开环系统sys的闭环根轨迹。在这种自动绘制的对数频率特性曲线上单击任一点,可以得到该点的闭环增益Gain、闭环极点坐标Pole、阻尼比Damping、超调量Overshoot和频率Frequency等信息。注意,调用格式中若在sys前加“-”号(即为-sys),则相应计算并绘制零度根轨迹。②rlocfind() 函数rlocfind()用来计算给定根的根轨迹增益,调用格式如下:[k,p]=rlocfind(sys):要求在屏幕上先绘制好有关的根轨迹图,然后,执行此命令后将产生一个大光标,用来选择希望的闭环极点。命令执行结果:k为对应选择点处的开环根轨迹增益;p为此点处对应的所有系统闭环特征根。
复域(根轨迹)分析:
(1)单位阶跃响应函数step()用来求取系统的单位阶跃响应,调用格式如下:①y=step(sys,t):其中sys为系统的传递函数模型或零极点模型,t为指定的仿真时间向量,一般可由t=0:step:end等步长地产生。函数返回值y为系统在各个时间点上的响应值。②[y,x,t]=step(sys):此时时间向量t由MATLAB 根据系统模型的特性自动生成, 状态变量x返回为空矩阵。③step(sys)、step(sys,t)、step(sys1,sys2,…sysN)或step(sys1,…,sysN,t):自曲线上单击任一点,可以得到该点的坐标值。右键单击图形窗口中任一处,在弹出菜单“Characteristics”选项的右拉菜单中选择相应选项,然后把光标放在曲线上自动弹出的“●”
点上,可读出系统的性能指标:峰值响应Peak Response(包括最大值Peak amplitude、超调量Overshoot、峰值时间At time)、调节时间Settling Time、上升时间Rising Time和稳态值Steady State。
(2)单位脉冲响应和其它响应impulse():单位阶跃响应。initial():连续系统的零输入响应。lsim():连续系统对任意输入的响应(零状态响应)。对于离散系统只需在连续系统对应函数前加d就可以,如dstep,dimpulse等。上述函数的调用格式与step()类似,可以通过help命令查看。
3.总结
Matlab是一款十分实用而用途又十分广泛的软件。可应
用于应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。所以对于这款软件,我们应该十分努力的学习。
参考文献:百度文库