《控制系统CAD与仿真-MATLAB语言及应用》,MATLAB程序设计教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制系统的仿真的基本过程包括:建立系统的数学模型,包括系统的不可变部分的数 学模型和控制器的数学模型,并得到整个闭环系统的数学模型;建立仿真模型,一般是对 系统的数学模型做离散化处理,得到相应的仿真模型;编制仿真程序并运行;分析仿真结 果,并得出相应的结论。
控制系统 CAD 就是根据给定的系统性能指标要求,借助计算机对系统的控制器进行 设计。显然,控制系统的计算机仿真是控制系统的计算机辅助设计的一个部分。这一过程 包括:建立数学模型;根据性能指标和控制算法编程求解控制器参数;对系统校正前后进 行仿真,并验证控制器的实际控制效果;修改控制器参数或结构,直到仿真结果满足设计 要求。
⑤语法限制不严格,程序设计自由度大。
例如:在 Matlab 里可以不用先定义或声明变量就可以使用它们。
⑥程序的可移植性好。
Matlab 程序几乎不用修改就可以移植到其它的机型和操作系统中运行。
2
⑦Matlab 的图形功能强大,支持数据的可视化操作,方便的显示程序的运行结果。 ⑧强大的工具箱。 Matlab 包含两个部分:核心部分和各种可选的工具箱。核心部分有几百个核心内部函 数,工具箱则是有各个领域的高水平专家编写的,所以用户不必编写该领域的基础程序就 可以直接进行更高层次的研究。例如:控制领域可以使用的工具箱就有 Control System (控制工具箱)、System Identification(系统辨识工具箱)、Robust Control(鲁棒控 制工具箱)、Optimization(最优化工具箱)等。 ⑨源程序的开发性,系统的可扩充能力强。 除了内部函数外,所有的 Matlab 核心文件和工具箱文件都提供了 Matlab 源文件,用 户可通过对源文件的修改生成自己所需要的工具箱。 ⑩Matlab 是解释执行语言。 Matlab 程序不用编译生成可执行文件就可以运行,解释执行时程序的执行速度较慢, 效率比 C 等高级语言要低,而且无法脱离 Matlab 环境运行 Matlab 程序,这是 Matlab 的 缺点。但是 Matlab 的编程效率远远高于一般的高级语言,这使我们可以把大量的时间花 费在对控制系统的算法研究上,而不是浪费在大量的代码上。 1.2.2 Matlab 集成环境的组成 Matlab 是一个软件平台,不仅仅是一门语言,下面简单介绍它的组成。 1、 Matlab 语言 2、 Matlab 工作环境
第一章 序 论
1.1 控制系统的 CAD 与仿真概述
随着科学技术的发展,控制理论和控制系统的研究显得越来越重要。在 20 世纪 40 年 代,控制理论作为一门独立的学科出现以来,已经取得了迅速发展。早期的控制系统的设 计可以由纸笔和计算器等工具轻易的人工计算出来,如 Ziegler 和 Nichols 在 1942 年提出 的 PID 经验公式就可以十分容易地设计出来。随着控制理论的迅速发展,对控制的性能要 求越来越高,控制的算法也越来越复杂,控制器的设计越来越困难,这样仅仅靠人工计算 是很难达到预期的效果的。尤其是在现代控制理论的一些学科中,如系统辨识、最优控制、 模糊控制、智能控制、鲁棒控制等领域,设计控制器需要大量的矩阵、向量方面的运算, 当系统阶次较高时根本无法手工计算。近年来随着计算机技术得到了飞速的发展,在控制 系 统 领域 出现 了 一门 新学 科 —控 制系 统 的计 算机 辅 助设 计( CSCAD-Control System Computer Aided Design),简称控制系统 CAD。
实现了对 3x3 矩阵的输入。
②数值算法稳定可靠,库函数十分丰富。
Matlab 的一个最大特点是强大的数值计算能力,它提供了许多调用十分方便的数学计
算的函数,使我们随意使用而不必考虑数值得稳定性。
例如:e=eig(A)
%求矩阵 A 的特征值
[L,U]=lu(A) %求矩阵 A 的 LU 分解,
polyder(b) %求多项式的微分
1
控制系统的计算机辅助设计的发展已经经历了 40 多年的历程,在这期间出现了许多 CACAD 软件包,如 Maple、MathCAD、Mathematica,它们都提供了强大的数值计算功能, 可以用于控制系统的计算机仿真和设计,现在流行最广泛的是美国 MathWorks 公司推出的 Matlab 软件,本书以 Matlab 软件作为控制系统分析、设计和仿真的工具。
都不断完善,并拥有很多应用在控制领域的工具箱,Matlab 已经成为当今国际控制界应用
最广也是最受人们喜爱的一种软件环境。
1.2.1Matlab 的语言特点
Matlab 被称为第四代计算机语言,利用其丰富的函数资源,可使编程人员从繁琐的代
码中解脱出来。Matlab 用更直观、符合人们思维习惯的代码,代替了 C 和 Fortran 语言的
由此可见,控制系统 CAD 和仿真主要依赖于强大的软件技术和控制理论,可以说软 件的功能越强大,进行辅助设计就越容易。控制系统 CAD 要求是编程简洁、数值计算能 力强、有针对不同控制领域的工具箱、有专门的仿真工具、有数据可视化工具,Matlab 软 件就是这样一种软件,它是当前控制领域工程师们普遍使用的 CSCAD 软件。
1.2 MATLAB 简介
Biblioteka Baidu
1980 年美国 Cleve Moler 博士研制的 MATLAB 语言从它一诞生,就引起了控制界学
者的注目,它的简洁和高效对后来控制理论以及计算机辅助设计起到了巨大的推动作用。
MATLAB 是以复数矩阵作为基本编程单元的一种程序设计语言,它提供了各种矩阵的运算
操作,并具有较强的绘图功能。随着新版本的不断推出,Matlab 无论在界面还是在内容上
控制系统 CAD 技术是对复杂控制系统进行分析和设计的重要方法和手段。在进行控 制系统的分析与综合的过程中,除了要进行理论分析外,还要对系统的特性进行实验研究, 研究系统的固有的动态特性,验算设计的控制器能否达到预期的性能指标,这个过程是设 计-实验-修改设计-再实验的过程。对于那些在实际运行过程中风险很大或者实验费用 昂贵的系统,一般不允许对设计好的系统进行直接实验或者反复实验,而没有经过实验验 证的系统是无法投入使用的,这样只有借助于计算机才能对系统进行仿真实验研究。所谓 控制系统的计算机仿真就是以控制系统的数学模型为基础,借助计算机对控制系统的动态 特性进行实验研究。
③运算符丰富。
Matlab 是用 C 语言编写的,所以 Matlab 提供了和 C 语言几乎一样多的丰富的运算符,
而且还重载了一些运算符,给它们赋予了新的含义。
例如:C=A*B
%矩阵的乘法
B=C’
%求矩阵 C 的共轭复转置
x=A\b
%求 Ax=b 的最小二乘解
④Matlab 既具有结构化的控制语句(if、for、while),又支持面向对象的程序设计。
冗长代码,给用户带来的是最直观、最简介的程序开发环境。一下简要介绍 Matlab 的主
要有点:
①语言简洁紧凑,使用方便灵活。
Matlab 程序的书写格式自由,数据的输入、输出语句简洁,很短的代码就可以完成其
它语言要经过大量代码才能完成的很复杂工作。例如:A=[1 2 3;4 5 6;7 8 9]一条语句
相关文档
最新文档