资源描述
北京理工大学2014届本科生毕业设计(论文)
一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)
工作基础:了解计算机控制系统课程涉及的基本内容,熟练使用MATLAB 7软件。
研究条件:基于MATLAB 7的GUI(图形用户接口)程序设计。
应用环境:基于MATLAB 7的计算控制系统课程图形化的仿真平台的设计。
工作目的:熟练掌握MATLAB M文件的编写。
掌握计算机控制系统课程所涉及的最小拍有纹波、最小拍无纹波系统以及大林算法等基本内容。
完成基于MATLAB 7的GUI仿真平台程序M文件设计。
二、参考文献
[1]邵年华. 水文时间序列几种预测方法比较研究[D]. 西安理工大学 2010.
[2]王莹. 基于MATLAB的永磁风力发电机动态仿真[D]. 大连理工大学 2009.
[3]李兴毓. 基于MATLAB的CFG桩复合地基优化设计研究[D]. 武汉理工大学 2009.
[4]黄师娟. 基于小波分析的时间序列预测模型及其应用研究[D]. 西安理工大学 2009.
[5]张宇. 嵌入式电脑横机可视化数据处理系统研究[D]. 东华大学 2009.
[6]吕辉榜. 基于MATLAB快速控制原型的磁悬浮控制系统研究[D]. 武汉理工大学 2008.
[7]朱会. 基于MATLAB的旋风分离器内气固两相流场的数值模拟[D]. 北京化工大学2007.
[8]丘允阳.嵌入式GUI系统的研究与实现[D]. 电子科技大学 2007.
[9]韩雄振.基于统计学的预测结构域间相互作用方法的研究[D]. 吉林大学 2006.
[10]王震. 嵌入式GUI构件库的设计与实现[D]. 浙江大学 2006.
三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)
1、掌握大林算法、最小拍有纹波、最小拍无纹波系统的算例仿真。
2、利用MATLAB 7中的GUI工具箱完成仿真环境的平台框架搭建。
3、对任一用户设定被控对象依据算法以及调节器的具体设定参数输出系统运行结果。
4、能够对实验平台的输出结果做出效果评价。
指导教师(签字)
年 月 日
审题小组组长(签字)
年 月 日
天津大学仁爱学院本科生毕业设计(论文)开题报告
课题名称
基于MATLAB的计算机控制系统仿真平台的设计
系 名
信息工程系
专 业
自动化
学生姓名
杜 蓉
指导教师
扈书亮
一、 课题来源及意义
计算机控制系统(Computer Control System,简称CCS)是应用计算机参与控制并借助一些辅助部件与被控对象相联系,以获得一定控制目的而构成的系统。这里的计算机通常指数字计算机,可以有各种规模,如从微型到大型的通用或专用计算机。辅助部件主要指输入输出接口、检测装置和执行装置等。与被控对象的联系和部件间的联系,可以是有线方式,如通过电缆的模拟信号或数字信号进行联系;也可以是无线方式,如用红外线、微波、无线电波、光波等进行联系。被控对象的范围很广,包括各行各业的生产过程、机械装置、交通工具、机器人、实验装置、仪器仪表、家庭生活设施、家用电器和儿童玩具等。控制目的可以是使被控对象的状态或运动过程达到某种要求,也可以是达到某种最优化目标。
控制系统仿真是建立在控制系统模型基础之上的控制系统动态过程试验,目的是通过试验进行系统方案论证,选择系统结构和参数,验证系统的性能、指标等。如果这种试验是在计算设备上实现的,就称为计算机仿真。
基于MATLAB 7的GUI(图形用户接口)程序设计,实现对计算机控制系统仿真平台的设计。
二、国内外发展现状
计算机控制系统虽然控制规律灵活多样,改动方便;控制精度高,抑制扰动能力强,能实现最优控制;能够实现数据统计和工况显示,控制效率高;控制与管理一体化,进一步提高自动化程度。但是由于经典控制理论主要研究的对象是单变量常系数线性系统,它只适用于单输入单输出控制系统。系统的数学模型采用传递函数表示,系统的分析和综合方法主要是基于根轨迹法和频率法。现代控制理论主要采用最优控制、系统辨识和最优估计、自适应控制等分析和设计方法。而系统分析的数学模型主要用状态空间描述。随着要研究的对象和系统越来越复杂,依赖于数学模型的传统控制理论难以解决复杂系统的控制问题:
(一)不确定性的模型传统控制是基于模型的控制,模型包括控制对象和干扰模型。传统控制通常认为模型是已知的或经过辨识可以得到的,对于不确定性的模型,传统控制难以满足要求。
(二)高度非线性在传统的控制理论中,对于具有高度非线性的控制对象,虽然也有一些非线性控制方法可供使用,但总的来说,到2010年为止,非线性控制理论还很不成熟,有些方法又过于复杂,无法广泛应用。
(三)复杂的任务要求在传统的控制系统中,控制任务往往要求输出量为定值或者要求输出量跟随期望的运动轨迹,因此控制任务比较单一。但过于复杂的控制任务是传统的控制理论无能为力。
三、研究目标
基于MATLAB7的GUI(图形用户接口)程序设计,实现对计算机控制系统仿真平台的设计。
四、研究内容
主要研究基于MATLAB的计算机控制系统仿真平台的设计。了解计算机控制系统课程涉及的基本内容,熟练使用MATLAB 7软件以及基于MATLAB 7的GUI(图形用户接口)程序设计。并基于MATLAB 7的计算控制系统课程图形化的仿真平台的设计。
五、研究方法与手段
理论基础:计算机控制系统,自动控制原理,MATLAB辅助控制系统设计与仿真,电气控制与可编程控制器的原理与应用。
研究方法与手段:充分了解MATLAB 7的计算控制系统课程图形化的仿真平台的设计,熟练使用MATLAB 7软件以及基于MATLAB 7的GUI(图形用户接口)程序设计。熟练掌握MATLAB M文件的编写。掌握计算机控制系统课程所涉及的最小拍有纹波、最小拍无纹波系统以及大林算法等基本内容。完成基于MATLAB 7的GUI仿真平台程序M文件设计。
六、进度安排
1、2014.12.12—2015.03.05 查找资料,通过书籍和网络了解基于MATLAB的计算机控制系统仿真平台的基本原理及研究方法,完成开题报告。
2、2015.03.06—2015.03.31 熟练掌握MATLAB 7的计算控制系统仿真平台的设计, 以及基于MATLAB 7的GUI(图形用户接口)程序设计。
3、2015.04.01—2015.04.16 完成基于MATLAB 7的计算控制系统仿真平台的设计。
4、2015.04.17—2015.05.17 对仿真结果进行分析,并得出结论。
5、2015.05.17—2015.06.05 撰写论文,准备答辩。
七、主要参考文献
[1]邵年华. 水文时间序列几种预测方法比较研究[D]. 西安理工大学 2010.
[2]王莹. 基于MATLAB的永磁风力发电机动态仿真[D]. 大连理工大学 2009.
[3]李兴毓. 基于MATLAB的CFG桩复合地基优化设计研究[D]. 武汉理工大学 2009.
[4]黄师娟. 基于小波分析的时间序列预测模型及其应用研究[D]. 西安理工大学 2009.
[5]张宇. 嵌入式电脑横机可视化数据处理系统研究[D]. 东华大学 2009.
[6]吕辉榜. 基于MATLAB快速控制原型的磁悬浮控制系统研究[D]. 武汉理工大学 2008.
[7]朱会. 基于MATLAB的旋风分离器内气固两相流场的数值模拟[D]. 北京化工大学2007.
[8]丘允阳. 嵌入式GUI系统的研究与实现[D]. 电子科技大学 2007.
[9]韩雄振. 基于统计学的预测结构域间相互作用方法的研究[D]. 吉林大学 2006.
[10]王震. 嵌入式GUI构件库的设计与实现[D]. 浙江大学 2006.
选题是否合适: 是□ 否□
课题能否实现: 能□ 不能□
指导教师(签字)
年 月 日
选题是否合适: 是□ 否□
课题能否实现: 能□ 不能□
审题小组组长(签字)
年 月 日
天津大学仁爱学院2015届本科生毕业设计(论文)
摘 要
《计算机控制系统》是自动化专业的一门必修课程,其研宄对象为线性或近似线性的离散系统。在研宄该系统物理模型过程中,首先需要解决其数学描述、模型建立以及分析工具的问题,但在实际教学过程中,发现学生较难理解计算机控制理论的数学模型——脉冲传递函数,所以迫切的需要增加实验环节,将枯燥的理论知识进行可视化,增加学生对计算机控制理论的感性认识,提高学习效果。然而搭建计算机控制系统的实验平台,需要购买特定的实验仪器,这将大大地增加教学成本。但随着科学技术水平的发展,一种综合了计算机技术、软件工程技术、数字信号处理技术的仿真技术的出现,提供了新的解决途径。可以运用计算机强大的计算功能和图像处理能力,建立起计算机控制虚拟实验系统完成教学实验。
计算机控制虚拟实验系统选用了MATLAB作为开发环境,并结合使用了控制设计与仿真工具包,利用该软件在图形化编程方式以及交互式仿真方面的优势,完成虚拟实验系统的开发。
该虚拟实验系统配置要求低、操作简单容易,并完全配合《计算机控制系统》的教学内容,其展示的结果和曲线都是根据输入的参数计算获得,在可视性、互动性和科学性方面具有突出优势。现已开始应用于教学当中,并收到了良好的效果。因此,利用计算机为本科教学设计和开发一个合适和综合的计算机控制理论虚拟教学实验系统是具有实际意义的,并且可作为大学实验室的未来发展趋势。
关键词:计算机控制系统;脉冲传递函数;MATLAB;
ABSTRACT
The course of "Computer Control System", a required course for Electrical Engineer, is about linear and quasi-linear discrete system. The prime problems to be solved during the research on the physical model of this system are its mathematical narrative, model building and analytical tools. In practice, it is observed that students find it hard to master the mathematical model of computer control theory, namely, the pulse transfer function. Hence it is essential to visualize the abstract theories through experiments, and thus deepen student's understanding of computer control system. However, Building the corresponding platform of these experiments requires some specific instruments, which greatly increases the cost of instruction. Thanks to the development of science and technology, a virtual instrument technology that combines the technologies of computer science, digital signal processing, software engineering and standard bus, has provided a new solution. We could take advantage of the powerful computer and image processing capabilities of computers, and use them to build up a virtual experiment system of computer control theory for instructional use.
The virtual experimental system of computer control system has MATLAB as its development environment with the combined usage of control design and simulation toolkit, and uses this software's advantage on graphical programming to complete the virtual experiment development of the system.
This virtual experimental system requires low configuration, and it is to easy operate. Moreover, it is fully compatible with the course covered by "Computer Control System". Its output results and curves are all based on input parameters, and it has remarkable advantages on visibility, interaction and scientific reliability. The system has already been applied into instructions, and has received satisfying feedback. Therefore, it is practically meaningful to design and develop a virtual experiment system of "Computer Control System" for the undergraduates. This is the direction of future development to the universities' laboratory.
Key words: Computer Control System;Pulse transfer Function; MATLAB
目 录
第一章 绪论 1
1.1 题目背景、研究意义 1
1.1.1 计算机控制理论的发展 1
1.1.2 计算机控制系统课程教学MATLAB仿真的特点 1
1.2 国内外相关研究情况 2
1.3 本文的主要内容和结构安排 3
第二章 基于MATLAB的控制系统仿真 5
2.1 MATLAB简介 5
2.1.1 MATLAB工作环境 6
2.1.2 变量和字符串 7
2.1.3 基本运算符号和常用函数 7
2.1.4 向量、矩阵与数组 8
2.1.5 M文件的编辑与运行 9
2.1.6 关系与逻辑运算、符号运算和M控制命令 10
2.2 MATLAB的绘图功能 13
2.2.1 二维图形 13
2.2.2 三维图形 14
第三章 基于MATLAB的计算机控制系统仿真平台的设计 15
3.1 主界面分析 15
3.2 直接数字控制系统的脉冲传递函数 15
3.3 最小拍有纹波系统的仿真 16
3.4 最小拍无纹波 24
3.5 大林算法 30
第四章 总结和展望 36
4.1 研究内容总结 36
4.2 工作展望 36
参考文献 37
外文资料
中文翻译
致 谢
1
北京理工大学2014届本科生毕业设计(论文)
第一章 绪论
1.1 题目背景、研究意义
1.1.1 计算机控制理论的发展
在现代工业控制体系中,随着工业产品设计的复杂化、多样性、人性化,使得人们对生产控制系统的要求更加复杂化,准确化,高效化,然而传统连续化控制方法己无法满足系统控制要求。随着计算机技术的发展,计算机的成本大幅度降低,另一方面计算机控制系统理论的分析方式和设计方法正不断地日臻完善,因此运用计算机进行机械系统的离散控制方法逐渐代替传统连续化控制方法成为未来发展方向。
计算机控制系统理论是以脉冲传递函数为基础,对线性或近似线性的数字离散控制系统进行分析与设计的理论。早在上世纪50年代,己经形成了采样控制系统的理论,随着计算机控制技术的推广和应用,人们不断总结和提高,逐步形成了较完善的计算机控制系统理论。其发展过程中几个重要的成果有,1948年Bell实验室工作的香农(C.shanone)证明了离散系统采样值复现原有信号的条件,随后发表了专著《通信的数学理论》,创立了信息论;1947年MIT Radiation Laboratory的霍尔维兹(W.Hurewicz)研究SCR-584雷达控制系统的过程中,提出通过引入了一种变换方法进行离散序列的处理方法,大大简化了运算步骤,进而发展起了脉冲控制系统理论;1958年美国的朱利((E.I. Jury)发表了《数字控制系统》(Sampled-Data Control System)的论文,建立了数字控制以及数字信号处理的基础。上世纪70年代,随着美国的M.E.Merchant提出计算机集成制造的概念以及美国初步建成ARPA计算机网络,使得计算机控制理论在更多领域的应用获得了成功。
1.1.2 计算机控制系统课程教学MATLAB仿真的特点
计算机控制技术是计算机技术与自动控制理论、自动化技术以及检测与传感技
术、通信与网络技术紧密结合的产物,主要研究应用计算机技术和控制理论设计出满足工业生产过程需求的计算机控制系统。
控制系统意味着通过它可以按照所希望的方式保持和改变机器、机构或其他设备内任何感兴趣或可变化的量。控制系统同时是为了使被控制对象达到预定的理想状态而实施的。控制系统仿真是建立在控制系统模型基础之上的控制系统动态过程试验,目的是通过试验进行系统方案论证,选择系统结构和参数,验证系统的性能指标等。如果这种试验是在计算设备上实现的,就称为计算机仿真。
MATLAB它具有丰富的可用于控制系统分析和设计的函数,MATLAB的控制系统工具箱提供对线性系统分析、设计和建模的各种算法;MATLAB提供了交互式操作的动态系统建模、仿真、分析集成环境。
计算机控制理论不仅形象直观地表现教学内容借助MATLAB仿真较强的交互性和丰富的表现力, 输出各种参数、曲线和图表,还使得原来抽象、难以理解的各种控制算法变得生动形象。对于实际控制系统, 利用其提供的各种模块搭建数学模型,可以在示波器中迅速显示出精确的响应曲线,有利于观察系统的输出和中间过程,并同时得到各种信号的数值解, 使得课程内容更简洁直观地表达出来, 加深了学生对知识点的理解。同时,“计算机控制技术”课程内容涵盖众多的数学理论和运算,具有绘图工作量大、概念抽象、理论与实践密切结合等特点。从教学和创新人才培养的角度上讲,由于课程中的很多作业往往需要复杂的数值计算,笔算解答较为繁琐甚至无法实现, 而利用MATLAB快速精确地对控制系统进行仿真设计、调试和分析,避免了教学中将大量精力停留在复杂的数学表达式上, 有助于学生理解抽象的概念,理清解题思路和方法,接收到更多的信息,有效地增大课堂容量,在和谐和充满启发的教学氛围中, 提高课程的实践效果和效率。
1.2 国内外相关研究情况
计算机控制系统是自动化专业的一门重要的专业基础课,是学习和掌握控制理论与自动化技术的基础课程。学生在学习“计算机控制系统”课程的过程中,通常需要完成多个实验。由于实验硬件电路较复杂,学生初次做实验时不但存在着一定的盲目性,而且容易造成硬件电路的损坏。因此,有必要在实验前使学生对实验原理、控制系统模型、可调参数等有足够的了解。基于MATLAB的计算机控制系统虚拟实验平台的开发是为了此目的而设计的。本文介绍了该实验平台主要内容、表现形式、软件设计方法及操作流程。
系统数字仿真是一门新兴学科,是计算机科学、计算数学、控制理论和专业应用技术等学科的综合。生产和科学技术的发展使完成某种特定功能的各事物相互之间产生了一定的联系,形成各种各样的系统。
仿真是对真实事物的模拟,它形成于40年代二战末期对火炮及飞行控制动力学系统的研究,1948年电子微分分析器在美国的BELL实验室的研制成功开创了计算机仿真的新纪元。50年代至60年代初对洲际导弹和宇宙飞船姿态及轨道控制动力学的研究,促进了混合仿真技术的发展。70年代,系统工程被广泛用于社会、经济、生态等非工程系统,促进了离散事件系统仿真技术的发展。
仿真技术是以相似原理、系统技术、信息技术、网络技术及其应用领域有关的专业技术为基础,以计算机和各种物理效应设备为工具,利用系统模型对真实的或设想的系统进行动态试验研究的一门学科综合性技术。控制系统仿真是系统仿真技术在控制领域的应用。其重要作用可以概括为如下几点:
(1)在系统尚未建立之前利用仿真技术可以论证系统方案及其可行性,可以避免许多不必要的挫折并为系统设计打下扎实的基础;
(2)在系统设计过程中利用仿真技术可以帮助设计人员建立系统的模型,进行模型验证与模型简化并进行最优化设计;
(3)在系统建成后,利用仿真技术可以分析系统工作的状况,寻求系统改进的途径,以及找出最佳运行参数,尤其对于复杂控制系统,要采用智能的高级控制算法,而每一种算法在建立前是不成熟的.这就需要采取仿真技术改进算法,并进行优化设计。
控制系统仿真经历了物理模型仿真,模拟计算机仿真和数字计算机仿真三个过程。物理模型仿真是以物理过程相似、几何尺寸相似及环境条件相似为基础的仿真。数学仿真是以综合参数比例相似及信息规律传递相似为基础的仿真。物理仿真的优点是能最大限度地反映系统的物理本质,具有直观性及形象化的特点,它能将模型中发生的综合过程在模型中全面反映出来。但它的缺点是为建造物理模型所需的费用高、周期长、技术复杂等。而数学仿真不仅经济、方便、而且通用性强,在一定程度上满足了小系统或简单系统的仿真。但是对于复杂的系统,数字仿真的局限性就明显表现出来,首先它建立的数学模型描述能力有局限性,它不能或难以描述复杂系统的某些问题或现象:它所使用的仿真方法主要是近似的数值解法,缺少知识推理、逻辑判断和学习训练等智能特性。因此,把仿真技术和人工智能技术相结合发展智能仿真技术,成为仿真技术发展的一个新的焦点。
当前仿真研究的前沿课题主要有:仿真与人工智能技术的结合,分布式仿真与仿真模型的并行处理,图形与动画仿真,建模环境与仿真支持系统等。
计算机控制系统虽然控制规律灵活多样,改动方便;控制精度高,抑制扰动能力强,能实现最优控制;能够实现数据统计和工况显示,控制效率高;控制与管理一体化,进一步提高自动化程度。但是由于经典控制理论主要研究的对象是单变量常系数线性系统,它只适用于单输入单输出控制系统。系统的数学模型采用传递函数表示,系统的分析和综合方法主要是基于根轨迹法和频率法。现代控制理论主要采用最优控制、系统辨识和最优估计、自适应控制等分析和设计方法。而系统分析的数学模型主要用状态空间描述。随着要研究的对象和系统越来越复杂,依赖于数学模型的传统控制理论难以解决复杂系统的控制问题:
(一)不确定性的模型传统控制是基于模型的控制,模型包括控制对象和干扰模型。传统控制通常认为模型是已知的或经过辨识可以得到的,对于不确定性的模型,传统控制难以满足要求。
(二)高度非线性在传统的控制理论中,对于具有高度非线性的控制对象,虽然也有一些非线性控制方法可供使用,但总的来说,到2010年为止,非线性控制理论还很不成熟,有些方法又过于复杂,无法广泛应用。
(三)复杂的任务要求在传统的控制系统中,控制任务往往要求输出量为定值或者要求输出量跟随期望的运动轨迹,因此控制任务比较单一。但过于复杂的控制任务是传统的控制理论无能为力。
1.3 本文的主要内容和结构安排
本文采用模型建立→算法选择→系统仿真的三段式步奏,完成最小拍有纹波、最小拍无纹波、大林算法等仿真设计。
全文共分四章,具体安排如下:
第一章是绪论,阐述了基于MATLAB的计算机控制系统仿真平台设计的 背景和意义,对计算机和MATLAB的发展及现状作了简要的回顾和划分。对仿真平台做了简单的分析,并由此指出了本次研究的主要内容。
第二章对MATLAB软件进行了介绍。MATLAB领域中高效便捷的运算和简易直观的特点,以及优秀而强大的仿真功能,使得它成为自动化领域中最为常用的工具。
第三章为基于MATLAB的计算机控制系统仿真平台的设计,对MATLAB进行了仿真和比较。
第四章是对本课题的总结与展望,分析该设计的不足并提出改进措施。
第二章 基于MATLAB的控制系统仿真
2.1 MATLAB简介
MATLAB是MATrix和LABoratory两词的前三个字母组合而成,简称为矩阵实验室,被誉为“巨人肩上的工具”,它是一种以矩阵运算为基础的交互式程序语言。它作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。它建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化,矩阵是MATLAB的核心。MATLAB的应用非常广泛,在很多领域都有着重要的地位,在大学高等数学教学上可以作为辅助工具来进行教学。概括的讲,整个MATLAB系统由两部分组成,即MAI'LAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能。其语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言。
MATLAB 是国际上最流行的科学与工程计算的软件工具,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。本文简要提及了MATLAB的发展史以及其基本知识,对MATLAB的矩阵计算、数值计算尤其是图形处理做了详细阐述, 包含了大量操作实例。在工程技术数值运算领域中,MATLAB软件是一套高效强大的系统仿真软件,它普遍应用于现代的汽车制造、半导体制造、航空航天、电子通讯、医学研究等范畴,被称之为“巨人肩膀上的工具”。MATLAB系统由五个重要部分组成:MATLAB的语言体系、MATLAB的工作环境、图形系统、MATLAB的数学函数库、MATLAB的应用程序接口(API)。MATLAB软件提供了一个可以集成化的开发环境,用户可以利用这个集成环境方便地进行设计仿真模型,执行仿真过程,并分析仿真结果。它具有以下几个特点:
1.利用MATLAB软件编程效率高,易于使用:MATLAB语言被称作“演算纸式”的科学计算语言,它将编辑、编译、连接和执行结合在一起。能够灵活地排除在程序流程中的编写错误、语法错误以及语义错误,从而使得用户编写、改正和调试程序的速度得以加快。
2.扩充能力强,语句简便,内涵非常丰富:在MATLAB中的用户文件可用做库函数来调用,用户可根据自身开发的需要方便地简历和扩充新的库函数,以提高其使用效率和扩充它的功能。并且同一个函数名fun,不同数目的输入变量(包括无输入变量)及不同数目的输出变量分别代表着不同的含义[5],这不仅使得MATLAB的库函数功能更丰富,同时大大降低了磁盘空间的需要,使得其编写的M文件简单短小,快速高效。
3.高效便捷的矩阵和数组运算、方便的绘图功能等:在MATLAB中,运算符大部分无需改变,可以照搬到数组间的运算,它不需要定义数组位数,并且包含有关于矩阵函数、特殊矩阵等专门的库函数,使之在求解信号处理、建模和系统识别、控制等问题时更为简捷、高效。它还具备一系列的绘图函数,比如对数坐标、线性坐标、极坐标和半对数坐标等,均只要调用不同的绘图函数。还有在图中标出斜轴标注、图题、格(栅)绘制等也只需要调用相对应的命令即可,简单易行。
其他特点:
(1)运算符和库函数极其丰富,语言简洁,编程效率高。
(2)既具有结构化的控制语句,如for循环、while循环、break语句、if语句和switch语句;又有面向对象的编程特性。
(3)图形功能强大。具有丰富的绘图命令,可以绘制二维、三维图形,以及
对图形进行处理和修饰。
(4)独具特色的应用工具箱。主要为:功能性工具箱和学科性工具箱。
(5)扩展性强。用户可自由地开发自己的应用程序。
MATLAB主要功能包括:
(1)数据分析、可视化
(2)数值和符号计算
(3)工程与科学绘图
(4)控制系统与通讯系统的设计与仿真
(5)数字图像处理和信号处理技术
2.1.1 MATLAB工作环境
在桌面上双击MATLAB图标即可启动MATLAB系统。在屏幕上默认打开的MATLAB窗口,主要包括:
(1)命令窗(Command Window)程序的运行都需在此窗口中发生,“》”
为运算提示符,表示MATLAB处于准备状态,当在“》”后输入一段运算程序,然后按enter健,命令窗口就会直接显示运算结果。
(2)工作空间游览器(Workspace)工作空间窗口是MATLAB一个变量管理中心,可以显示变量的名称、数学结构、该变量的字节数及其类型,同时用不同的图标表示矩阵、元胞数组、字符数组、构架数组等变量类型。
(3)历史命令窗口(Command History)你已执行过的每条命令会在此窗口中显示,并注明了执行时间,方便你的查询。
(4)当前路径窗口(Current Directory)当前路径窗口显示着当前用户工作所在的路径。在此窗口用户可以查看、重命名、或删除当前路径文件或文件夹,也可以更改文件默认保存路径,还可以对文件进行打开、执行等一系列操作。
(5))帮助游览器(Help Browser ) MATLAB7.0的帮助窗口非常全面,该软件
的所有内容选择MATLAB主窗口中Help下拉菜单中的前四项命令中的任何一项,
几乎均可进入帮助窗口。
2.1.2 变量和字符串
1.常量
在MATLAB中有一些变量被预定了某个特定的值,我们把它们称为常量。这些常量主要有:
Pi:圆周率
ans:用作结果的默认变量名
eps:浮点数相对误差
inf:无穷大
i和j:虚数单位
NaN或nan:不定数
2.变量
变量是MATLAB的基本元素之一,在MATLAB语言中,变量的命名有如下规则-
(1)变量名必须以字母开头,后面可以为其他字符;
(2)变量名区分大小写;
(3)变量名长度不超过31位,超过31位的字符系统将忽略不计。
需要注意的是,用户如果在对某个变量赋值时,该变量已经存在,系统则会自动使用新值代替旧值。
3.字符串
MATLAB当中的字符串是由单引号括起来的简单文本。在字符串中的每个字符是数组里的一个元素,因为字符串是数值数组,所以可以使用一些函数来实现字符串和数值之间的相互转换。见表2-1所示。
表2-1 字符串和数值转换函数
函数
功能
函数
功能
eval
求字符串的值
num2str
数值转换成字符串
feval
求由字符串给定的函数值
Setstr
将ASCII码转换成字符串
blanks (n)
创建有n个字符串的空格
str2num
将字符串转换成数值
deblank
去掉字符串的尾部空格
lower
将字符串的字母转换成小写
int2str
将整数转换成字符串
upper
将字符串的字母转换成大写
2.1.3 基本运算符号和常用函数
1.数值运算符号如表2-2所示。
表2-2 数值运算符号表
符号
功能
+
加法
-
减法
*
乘法
/
除法
\
左除
2.常用标点符号如表2-3所示。
表2-3 常用标点符号表
标点符号
意义
;
取消运行显示
,
区分列
()
指定运算优先级别
...
续行号
“
字符号的标示符号
%
注释语句
2.1.4 向量、矩阵与数组
1. 向量的生成
在MATLAB中,生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“[]”括起来,元素之间用空格、逗号或者分号相隔,用空格或逗号生成行向量;用分号生成列向量。
2. 矩阵的生成
矩阵的生成有多种方式,通常使用的有四种方法:
(1) 在命令窗口中直接输入矩阵
(2) 通过语句和函数产生矩阵
(3) 在M文件中建立矩阵
(4) 从外部的数据文件中导入矩阵
其中在命令窗口中直接输入矩阵是最简单、最常用的创建数值矩阵的方法。把矩阵的元素直接排列到方括号中,每行内的元素用空格或逗号相隔,行与行之间的内容用分号相隔。特殊矩阵生成函数如表2-4所示。
表2-4 特殊矩阵生成函数
函数
功能
eye(m,n)
生成单位矩阵
zeros(m,n)
生成零矩阵
ones(m,n)
生成全1的矩阵
rand(m,n)
生成随机元素的矩阵
3. 数组的创建
(1)一维和二维数组直接元素输入
X=[l 2 3 4 5 6]生成1x6行向量;x=[l 2 3;4 5 6]生成2x3二维数组;
(2)x=a:increment:b创建从a开始,加increment记数,到b结束的行向量(increment省略便是默认1);
(3)x= (a,b,n)创建从a幵始,到b结束有n个元素的行向量。
4. 数组寻址、排序和赋值
A.数组寻址
由于数组是由多个元素组成,因此,在访问数组中的单个或是多个元素时,有必要对数组进行寻址运算。
(1)A⑴表示访问数组A的第i个元素;
(2)A (2: 6)表示访问数组A中的第2到第6个元
展开阅读全文