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

合集下载

控制系统计算机辅助设计-MATLAB语言和应用

控制系统计算机辅助设计-MATLAB语言和应用

2018/10/16
控制系统计算机辅助设计-MATLAB语言与应用
11

我国较有影响的控制系统仿真与计算机辅助设计 成果是中科院系统科学研究所韩京清研究员等主 持的国家自然科学基金重大项目开发的CADCSC 软件。 清华大学孙增圻、袁曾任教授的著作和程序。 以及北京化工学院吴重光、沈成林教授的著作和 程序等。
控制系统计算机辅助设计-MATLAB语言与应用
13


2018/10/16

系统仿真领域有很多自己的特性,如果能选择一种 能反映当今系统仿真领域最高水平,也是最实用的 软件或语言介绍仿真技术,使得读者能直接采用该 语言解决自己的问题,将是很有意义的。
实践证明,MATLAB 就是这样的仿真软件,由于 它本身卓越的功能,已经使得它成为自动控制、航 空航天、汽车设计等诸多领域仿真的首选语言。 所以在本书中将介绍基于 MATLAB/Simulink的控 制系统仿真与设计方法及其应用。
控制系统计算机辅助设计-MATLAB语言与应用
2
2018/10/16
1.1 控制系统计算机辅助设计 技术的发展综述

早期的控制系统设计可以由纸笔等工具容易地计算 出来,如 Ziegler 与 Nichols 于1942年提出的 PID 经 验公式就可以十分容易地设计出来。
随着控制理论的迅速发展,光利用纸笔以及计算器 等简单的运算工具难以达到预期的效果,加之在计 算机领域取得了迅速的发展,于是很自然地出现了 控制系统的计算机辅助设计 (computer-aided control system design , CACSD)方法。
控制系统计算机辅助设计-MATLAB语言与应用
18

2018/10/16

控制系统仿真_薛定宇第二章_MATLAB语言程序设计基础

控制系统仿真_薛定宇第二章_MATLAB语言程序设计基础

控制系统仿真与CAD 国家级精品课程
2014-12-31
24/70 24
2.4.4 匿名函数与inline函数

不用编写*.m,定义函数的方法
可以动态地定义函数,在科学运算中有用 二者功能重复,后者远差于前者,不再使用


匿名函数: 举例
控制系统仿真与CAD 国家级精品课程
2014-12-31

控制系统仿真与CAD 国家级精品课程
2014-12-31
3/70 3
2.1.1 常量与变量

常量(保留字符串)
eps: 机器的浮点运算误差限,默认值 i和j:虚数单位,-1的平方根,i=sqrt(-1) Inf: 无穷大量,-Inf为负无穷大 NaN:不定式(Not a Number) pi:圆周率p的双精度浮点表示
25/70 25
2.5 二维图形绘制



可以绘制出各种二维曲线 可以由数据绘图,也可以由格式绘图 本节主要内容
基本二维图形绘制语句 带有其他选项的绘图函数 二维曲线的标注方法 在MATLAB图形上添加文字标注 特殊图形绘制函数及举例 隐函数的曲线绘制

控制系统仿真与CAD 国家级精品课程


符号型数据结构

syms 命令申明符号变量
控制系统仿真与CAD 国家级精品课程
2014-12-31
5/70 5

vpa(A) 显示符号变量

例2-1 显示e的前300位 其他数据结构



int8() 、int16() 、int32() 、uint16() 和 uint32() 字符串型数据:MATLAB字符串是用单引号括起来的 多维数组:三维数组是一般矩阵的直接拓展。 单元数组:多变量系统的频域响应数据存储 类与对象:传递函数对象、状态方程对象

控制系统计算机辅助设计MATLAB语言与应用教学设计

控制系统计算机辅助设计MATLAB语言与应用教学设计

控制系统计算机辅助设计MATLAB语言与应用教学设计背景介绍随着科学技术的不断发展,计算机在各个领域的应用越来越广泛,控制系统也不例外。

计算机辅助设计能够帮助控制系统工程师快速进行系统设计,提高设计效率和精度,降低错误率。

而MATLAB语言作为控制系统领域广泛应用的工具,能够更好地满足工程师的需求。

因此,本文将介绍控制系统计算机辅助设计MATLAB语言与应用教学设计。

教学目标1.熟练掌握MATLAB语言和控制系统的基础知识;2.能够设计控制系统的模型并进行仿真;3.能够分析和优化控制系统的性能参数;4.能够利用MATLAB工具进行控制系统实验。

教学内容本教学设计分为基础篇和进阶篇两部分。

基础篇MATLAB基础1.MATLAB语言环境搭建;2.熟悉MATLAB语言基本语法,如变量、函数、数组等;3.掌握MATLAB的数据类型、运算符及其使用方法;4.掌握MATLAB的流程控制语句;5.掌握MATLAB的图形化操作方法。

控制系统基础1.理解控制系统模型的基本概念;2.熟悉各种控制系统模型及其特点;3.理解闭环控制系统和开环控制系统;4.了解调节器和控制器的基本原理和分类;5.掌握各种控制系统的性能指标,如稳态误差、超调量、调节时间等。

控制系统模型设计与仿真1.构建控制系统模型;2.利用MATLAB进行控制系统建模;3.对控制系统模型进行仿真;4.分析控制系统仿真结果,如阶跃响应、脉冲响应等;5.通过仿真结果优化控制系统模型。

进阶篇PID控制1.理解PID控制器的基本原理和作用;2.了解PID控制器的数学模型及其参数调节方法;3.掌握MATLAB工具在PID控制系统设计中的应用;4.利用MATLAB对PID控制器进行参数优化。

其他控制算法1.了解其他常见控制算法的基本原理,如PI控制、PD控制等;2.掌握MATLAB工具在其他控制算法中的应用;3.对其他控制算法进行仿真和优化。

控制系统实验1.设计控制系统实验方案;2.利用MATLAB工具进行实验数据分析;3.分析实验结果,优化控制系统模型参数。

《MATLAB与控制系统。。仿真》实验报告

《MATLAB与控制系统。。仿真》实验报告

《MATLAB与控制系统仿真》实验报告班级:学号:姓名:时间:2013 年 6 月目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB环境的熟悉与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。

2.掌握MATLAB常用命令表1 MATLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符| Or 逻辑或~ Not 逻辑非Xor逻辑异或符号功能说明示例符号功能说明示例:1:1:4;1:2:11 .;分隔行..,分隔列…()% 注释[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四.实验程序及结果1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。

3、学习使用help命令。

4、窗口命令closeclose allclchold onhold off5、工作空间管理命令whowhosclear6、随机生成一个2×6的矩阵,观察command window、command history和workspace等窗口的变化结果,实现矩阵左旋90°或右旋90°的功能。

控制系统CAD-基于MATLAB语言第二版教学设计 (2)

控制系统CAD-基于MATLAB语言第二版教学设计 (2)

控制系统CAD-基于MATLAB语言第二版教学设计概述控制系统CAD (Control System Computer-ded Design) 是指利用现代计算机技术实现控制系统设计、分析、仿真和优化的一种方法。

控制系统CAD已成为现代控制系统设计的主要手段。

MATLAB语言是现代控制系统CAD的主要工具之一。

本教学设计旨在帮助学生掌握控制系统CAD的基本原理和MATLAB语言的应用。

通过本教学设计,学生将学会使用MATLAB工具进行控制系统CAD的分析、仿真和优化,并能够理解控制系统CAD在实际工程中的应用。

教学内容第一部分:MATLAB语言基础1.MATLAB语言简介2.MATLAB基础语法3.MATLAB矩阵运算4.MATLAB绘图第二部分:控制系统CAD基础1.控制系统基础知识2.系统建模与表示3.传递函数与状态空间表示4.系统响应分析第三部分:MATLAB在控制系统CAD中的应用1.系统仿真2.模型优化3.控制器设计4.系统分析与鲁棒性分析教学方法本教学设计主要采用讲授、实验和讨论相结合的教学方法。

具体来说,每个教学单元设置理论环节和实践环节。

理论环节主要讲解控制系统CAD原理和MATLAB 语言的应用,实践环节则通过实验来帮助学生应用MATLAB工具进行建模、仿真、优化和控制器设计。

在讲授环节,教师将主要采用演示、讲解、提问等多种形式,通过示例来帮助学生理解控制系统CAD的基本原理和MATLAB语言的应用。

在实践环节,教师将通过实验指导学生使用MATLAB工具进行模型建立、仿真、优化和控制器设计,帮助学生加深对控制系统CAD的理解。

在讨论环节,教师将主要采用小组讨论或全班讨论的形式,引导学生讨论控制系统CAD的应用、问题和挑战,激发学生的思考和创新能力。

实验设计本教学设计中设置了多个实验环节,主要包括:1.绘制2D图形和3D图形2.求解线性方程组3.建立传递函数和状态空间模型4.分析系统的稳态与瞬态特性5.用MATLAB工具进行系统仿真6.用MATLAB工具进行系统优化与控制器设计通过实验环节,学生将能够熟练使用MATLAB工具进行控制系统CAD的建模、仿真和优化,并能够理解控制系统CAD在实际工程中的应用。

《控制系统仿真与CAD》课程设计指导书

《控制系统仿真与CAD》课程设计指导书

《控制系统仿真与CAD》课程设计指导书一、目的和任务配合《控制系统仿真与CAD》课程的理论教学,通过课程设计教学环节,使学生掌握当前流行的演算式MATLAB语言的基本知识,学会运用MATLAB语言进行控制系统仿真和辅助设计的基本技能,有效地提高学生实验动手能力。

基本要求:1、利用MATLAB提供的基本工具,灵活地编制和开发程序,开创新的应用。

2、熟练地掌握各种模型之间的转换,系统的时域、频域分析及根轨迹绘制。

3、熟练运用SIMULINK对系统进行仿真。

4、掌握PID控制器参数的设计。

二、设计要求1、编制相应的程序,并绘制相应的曲线。

2、对设计结果进行分析。

3、撰写和打印设计报告(包括程序、结果分析、仿真结构框图、结果曲线)。

三、设计内容1、本次设计有八个可以选择的题目,至少选择两个题目进行设计。

2、“设计报告”要按规定的格式撰写(对于存在“逻辑混乱”、“文字不清”、“作图潦草”等问题的报告,将予以退回重新撰写)。

3、无论计算机录入/打印还是手工书写,均要求用标准A4纸进行撰写,以便于报告最终的批阅与存档。

四、时间安排1、课程设计时间为一周。

2、第1天布置设计题目,讲授设计的要求。

3、第2~4天学生进行设计。

4、第5天教师验收,然后学生撰写和打印设计报告。

选题一:二阶弹簧—阻尼系统的PID 控制器设计及参数整定考虑弹簧-阻尼系统如图1所示,其被控对象为二阶环节,传递函数()G s 如下,参数为M=1kg ,b=2N.s/m ,k=25N/m ,()1F s =。

设计要求:(1)控制器为P 控制器时,改变比例系数大小,分析其对系统性能的影响并绘制相应曲线。

(2)控制器为PI 控制器时,改变积分系数大小,分析其对系统性能的影响并绘制相应曲线。

(例如当Kp=50时,改变积分系数大小)(3)设计PID 控制器,选定合适的控制器参数,使闭环系统阶跃响应曲线的超调量σ%<20%,过渡过程时间Ts<2s, 并绘制相应曲线。

Matlab在控制系统设计和仿真中的应用

Matlab在控制系统设计和仿真中的应用

Matlab在控制系统设计和仿真中的应用控制系统在工程领域中扮演着至关重要的角色。

它们用于调节、监控和稳定各种物理和工业过程,以确保系统的正常运行。

Matlab是一种强大而灵活的数学软件工具,被广泛应用于控制系统设计和仿真中。

在本文中,我们将探讨Matlab在控制系统的应用,以及它为工程师和科学家们带来的益处。

1. 控制系统的建模和仿真控制系统的建模是设计和分析的基础。

Matlab提供了丰富的工具箱和函数,用于生成系统的数学模型。

这些模型可以是连续时间的,也可以是离散时间的,以及线性或非线性的。

通过使用Matlab的控制系统工具箱,工程师可以根据实际过程的物理特性和参数,准确地建立系统模型。

一旦模型被建立,仿真就成为了非常有用的工具。

Matlab提供了强大的仿真功能,可以帮助工程师评估系统的性能和稳定性,甚至预测其行为。

通过输入不同的控制策略和参数,工程师可以验证不同方案的有效性,以及系统在不同条件下的响应。

2. 控制系统设计在控制系统设计过程中,Matlab可以起到关键的作用。

Matlab提供了广泛的控制设计工具箱,可以帮助工程师选择合适的控制算法和方法。

PID控制器是最常用的控制器之一。

通过Matlab的PID工具箱,工程师可以进行PID控制器的参数调整和性能评估。

此外,Matlab还提供了其他高级控制算法,如模型预测控制(MPC)和自适应控制,以满足不同应用的需求。

Matlab的优化工具箱也为控制系统设计提供了极大的帮助。

工程师可以使用这些工具来优化控制算法的性能和参数,以实现系统的最佳响应和稳定性。

3. 控制系统实现和验证控制算法的实现是控制系统设计的最终目标。

Matlab不仅可以帮助工程师在仿真环境中验证控制算法的有效性,还可以直接生成嵌入式代码,用于在硬件设备上实现控制。

这大大简化了控制系统的部署和实际应用过程。

4. 控制系统故障诊断和故障恢复控制系统故障是不可避免的。

Matlab提供了多种工具和算法,用于故障诊断和故障恢复。

MATLAB与控制系统的数字仿真及CAD课程设计

MATLAB与控制系统的数字仿真及CAD课程设计

MATLAB与控制系统的数字仿真及CAD课程设计引言MATLAB是一种高性能计算软件,广泛应用于科学计算、信号处理、图像处理、数据分析、控制工程等领域。

控制系统是MATLAB中应用广泛的一类工程实践。

数字仿真是利用计算机对各类物理、化学、机械、电气、通信等各类系统进行模拟,以求得对系统性能的认识和分析的一种有效方法。

此文档旨在介绍MATLAB与控制系统的数字仿真及CAD课程设计。

MATLAB数字仿真MATLAB数字仿真是一种基于MATLAB软件平台的模拟方法,可以有效模拟和分析电子系统、传感器、组装等各类系统的工作性能。

MATLAB软件有强大的数值计算和可视化工具,使得控制系统的数字仿真具有高精度的仿真结果和优秀的用户体验。

仿真工具箱MATLAB提供了很多工具箱,包括信号处理工具箱、图像处理工具箱等,控制系统仿真工具箱也是其中之一。

控制系统仿真工具箱提供了包括连续时间系统、离散时间系统、多变量系统、无线系统在内的多种控制系统模型,并提供了丰富的仿真方法,例如最小二乘法、维纳滤波等。

用户可以通过编写脚本或使用图形化界面操作控制系统仿真工具箱,实现自己想要的仿真结果。

建立仿真模型在进行数字仿真前,需要先建立仿真模型。

对于控制系统而言,建立仿真模型需要明确系统的输入、输出、各组件之间的关系以及系统的初始条件等。

建立好仿真模型后,可以对系统的工作过程进行仿真和分析。

以温度控制系统为例,建立仿真模型。

该温度控制系统包含温度感应器作为输入,控制器和加热器作为输出。

建立好模型后,系统可以对不同的工作条件下进行仿真和分析,例如调节感应器灵敏度、控制器输出功率等。

控制系统CAD设计控制系统的CAD设计是指利用计算机辅助设计软件(Computer-ded Design,简称CAD)进行控制系统的三维模型设计、仿真、优化等工作。

控制系统CAD设计可以有效降低设计成本,提高设计效率和质量。

CAD软件常用的CAD软件有AutoCAD和SolidWorks。

控制系统计算机辅助设计MATLAB语言与应用第三版教学设计

控制系统计算机辅助设计MATLAB语言与应用第三版教学设计

控制系统计算机辅助设计MATLAB语言与应用第三版教学设计课程简介《控制系统计算机辅助设计MATLAB语言与应用》是一门针对控制系统理论与应用的课程,通过教学设定和实践操作让学生掌握MATLAB软件在控制系统设计中的应用。

本门课程主要内容包括控制系统基础、控制系统分析方法、MATLAB软件基础、MATLAB在控制系统设计中的应用等方面。

通过本课程学习,学生将深入掌握控制系统理论和计算机辅助设计方法,熟悉MATLAB语言的使用,掌握MATLAB在控制系统设计中的应用技巧。

教学目标本门课程的教学目标包括:1.掌握控制系统基本概念和控制系统设计原理2.熟悉MATLAB软件的基本操作和函数使用方法3.掌握控制系统仿真分析方法和MATLAB在控制系统设计中的应用技巧4.能够用MATLAB软件完成控制系统设计与仿真分析5.具备独立思考和解决实际问题的能力教学内容本门课程的教学内容主要包括以下几个部分:第一章:控制系统基础•控制系统概述•控制系统分类•控制系统组成结构•控制系统信号与变量•控制系统模型第二章:控制系统分析方法•系统时域分析方法•系统频域分析方法•系统稳定性分析方法第三章:MATLAB软件基础•MATLAB软件界面介绍•MATLAB基本命令与语法•MATLAB数据类型与数据结构第四章:MATLAB在控制系统分析与仿真中的应用•MATLAB在控制系统建模中的应用•MATLAB在控制系统分析与设计中的应用•MATLAB在实时控制中的应用第五章:课程实践项目•课程设计项目介绍•使用MATLAB完成控制系统设计和仿真分析总结本门课程旨在帮助学生掌握控制系统理论和计算机辅助设计方法,提升学生的实际操作能力和解决问题的能力。

通过课程学习与实践操作,可以让学生深入理解控制系统设计原理和MATLAB软件的使用方法,从而在实际工作中发挥出更高的效能。

控制系统MATLAB仿真与应用课程设计 (2)

控制系统MATLAB仿真与应用课程设计 (2)

控制系统MATLAB仿真与应用课程设计一、课程设计背景控制系统在现代工业中发挥着至关重要的作用,尤其是在制造业和航空航天等领域中,控制系统是保证工业自动化和安全性的重要手段。

因此,掌握控制系统理论和工具的应用成为了工程类学生必备的技能之一。

MATLAB是一款用于科学计算和数据可视化的强大工具,在控制系统仿真和设计中具有广泛的应用。

本课程设计旨在通过MATLAB的应用,帮助学生深入理解控制系统的原理以及如何进行仿真和调试。

二、课程设计任务1. 设计要求本课程设计要求学生能够掌握MATLAB在控制系统仿真和设计中的应用,具体要求如下:1.学生需选择一个控制系统,进行仿真设计。

2.学生需掌握MATLAB图形界面设计方式和仿真工具箱使用。

3.学生需设计控制器并进行仿真调试。

4.学生需记录仿真数据并分析仿真结果。

2. 设计步骤本课程设计的设计步骤如下:1.设计控制系统模型–系统建模2.设计控制器并进行仿真调试–控制器设计–仿真调试3.记录仿真数据并进行结果分析–仿真结果导出–结果分析三、MATLAB应用实例1. 实例背景某生产线上有一台温度控制器,其目标是控制加热元件输出功率,使得温度保持在给定范围内。

因需求设计一个PID控制器。

2. 实例步骤以下为实例步骤:1.建立控制系统模型–根据温控器特性建立传递函数:$$ G(s)=\\frac{1}{(s+1)} $$2.设计PID控制器–设计传统PID控制器:$$ K_p=1.2,\\quad K_i=1.2,\\quad K_d=0.5 $$3.进行仿真调试–选择仿真时间为50秒,步长设置为0.1秒4.记录仿真数据并进行结果分析3. 记录仿真数据设计完成后,使用MATLAB仿真工具箱进行控制器测试和调试,记录测试结果,例如温度的变化曲线等。

具体操作步骤如下:1.设置仿真参数,包括仿真时间、控制器类型等。

2.运行仿真程序,得到仿真数据。

3.将仿真结果可视化,例如绘制仿真结果的图表。

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

MATLAB程序设计及应用第2版课件全全书教学教程完整版电子教案最全幻灯片

第1章 MATLAB入门与基本操作
1.3 MATLAB的安装启动 与操作桌面简介
1.3.1 MATLAB的安装和启动
MATLAB 可以在Windows环境下直接安装。在
MATLAB安装完成后,会在Windows桌面上自动生成
MATLAB的快捷方式图标

1.3.1 MATLAB的安装和启动
双击图标
1.3.2 MATLAB默认窗口简介
• 指令窗(Command Window) 该窗口是进行各种MATLAB操作的最主要窗口。它位于 MATLAB默认窗口的正中间。用户可以在该窗口中提示符 “fx>>”后直接键入指令,按“Enter”键后,即可运行并 显示除窗口外的所有运行结果。当指令窗口提示符为 “fx>>”时,表示系统已经准备好,用户可以输入指令、函 数、表达式,按“Enter”键后便可执行。
1.4 MATLAB指令窗操作入门
,就打开了如图1.1所示的MATLAB默认窗口
(Desktop)。
图1.1
1.3 MATLAB的安装启动 与默认窗口简介
1.3.2 MATLAB默认窗口简介
图1.1所示的MATLAB默认窗口分为5个区域:指令窗、 当前目录窗、历史指令窗、工作空间窗和Details窗。 另外,在MATLAB默认窗口的上方,还嵌入了菜单栏 和工具栏,如图1.1所示。它们的使用及选择方式与 Windows环境中的相同。
图1.2
第1章 MATLAB入门与基本操作
1.4 MATLAB指令窗操作入门
1.4.1 MATLAB指令窗简介
MATLAB指令窗位于MATLAB默认窗口的正中间,如图 1.1所示。如果用户希望得到脱离默认窗口的几何独立的指 令窗,只要单击图1.2中的图标 ,并在下拉菜单中选择

控制系统的MATLAB仿真课件(99页)

控制系统的MATLAB仿真课件(99页)
b= u1
x1 1 x2 0 x3 0 x4 0 c=
x1 x2 x3 x4 y1 6 12 6 10 d=
u1 y1 0 Continuous-time model.
19
第7章
控制系统的MATLAB仿真
由以上数据可写出系统的状态空间模型为:
?
?? 2 ? 3 ? 1 ? 1?
?1?
? ??X?(t)?
series()函数命令还可以将多个环节按两两串联的形式多 次递归调用加以连接,进行等效化简。
sys= series(sysl,sys2命) 令可以用命令 sys=sys1*sys2* …*sysn取代,不仅省掉“series(”)字符,且 可以实现多个环节的串联等效传递函数的求取。
23
第7章
控制系统的MATLAB仿真
形式之一。控制系统的环节串联及其化简就是模块方框图模 型的串联及其化简。可以用MATLAB 的函数命令series(将) 串 联模块进行等效变换。
使用series(函) 数命令不必做多项式的乘除运算即可实现 两个环节传递函数的串联连接。如果令sys1= tf(num1,den1) , sys2= tf(num2,den2) ,其命令格式为: sys= series(sysl,sys2)
zp2tf
将系统零极点增益模型转换为传递函数模型
15
第7章
控制系统的MATLAB仿真
【例7.2】 已知某系统的传递函数为: G (s)? 12s3 ? 24s2 ? 12s ? 20 2s4 ? 4s3 ? 6s2 ? 2s ? 2
试用MATLAB 语言求出该系统的传递函数模型、状态空 间模型和零极点增益模型。
22
第7章
控制系统的MATLAB仿真

控制系统matlab仿真与设计

控制系统matlab仿真与设计

控制系统matlab仿真与设计
控制系统matlab仿真与设计
控制系统是现代工业领域中必不可少的一部分。

它能够控制各种
机械、电子及其他工程系统的工作,从而使其能够按照我们的意图去
运作。

控制系统matlab仿真与设计是控制系统中非常重要的一项工作,通过它我们能够更好的了解系统的性能、优化系统的控制方法,并减
少实际操作时的风险。

步骤一:模型建立
模型建立是控制系统matlab仿真与设计的重要步骤。

在这一步
骤中,我们需要根据系统的特征和数据建立一个合适的模型。

模型通
常是一个数学公式或者是一张流程图。

建立模型需要我们对系统非常
熟悉,有着一定的专业知识。

步骤二:仿真设计
在模型建立之后,我们需要进行仿真设计。

这一步是通过matlab 仿真软件对我们建立的模型进行仿真运行,并获得系统的反馈。

在仿
真设计的过程中,我们能够调整模型参数,使系统的工作效率更高、
更加稳定。

步骤三:系统控制
在控制系统matlab仿真与设计的最后一步,我们需要根据仿真
的结果对系统进行实际的控制。

这一步通常是对系统的运行进行调整
和优化。

我们可以通过改变控制系统中的参数,对系统进行优化来提
高系统的工作效率和稳定性。

控制系统matlab仿真与设计非常便于工程人员分析系统,优化
控制策略。

它可以帮助工程师们快速掌握系统的特性以及改进策略,
降低生产成本,提高工作效率。

《控制系统计算机辅助设计:MATLAB语言与应用(第2版)》薛定宇_课后习题答案

《控制系统计算机辅助设计:MATLAB语言与应用(第2版)》薛定宇_课后习题答案

第1章节制系统计算机辅助设计概述之袁州冬雪创作第2章 MATLAB语言程序设计基础第3章线性节制系统的数学模子第4章线性节制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章节制系统计算机辅助设计第1章节制系统计算机辅助设计概述【1】已阅,略已阅,略【3】已经掌握help饬令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则否则,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面成果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲摹拟信号(3)输入激励为时钟信号(4)输入激励为随机信号(5)输入激励为阶跃信号δδδ结论:随着非线性环节的死区增大,阶跃响应曲线的范围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应发生.所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量.死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3 +2i,2+3i,4+i,1+4i]B =>> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出饬令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB饬令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行成果可以看出,该饬令的成果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 2931 37 41Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1];y=sin(1./t);plot(t,y);grid on;【15】(1) >> t=-2*pi:0.01:2*pi;r=1.0013*t.^2;polar(t,r);axis('square')(2) >> t=-2*pi:0.001:2*pi;r=cos(7*t/2);polar(t,r);axis('square')(3)>> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')(4) >> t=-2*pi:0.001:2*pi;r=1-cos(7*t).^3;polar(t,r);axis('square')【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);(1)z=sin(xy)>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);第3章线性节制系统的数学模子【1】(1)>> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4)) Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6) Transfer function:---------------------------------------【2】(1)该方程的数学模子>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模子的零极点模子>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模子可以直接写出系统的传递函数模子【5】(1)>> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)【8】(1)闭环系统的传递函数模子>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:--------------------------------------------------------------(2)状态方程的尺度型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x2 4 0 0 0 0x3 0 2 0 0 0x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5d =u1y1 0Continuous-time state-space model.(3)零极点模子>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3 *G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3* H4*G4+G5*G4*H3*G3*G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0. 01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0 .085*s),0.0044/(1+0.01*s))Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s---------------------------------------------------------------------------4.357e-014 s^10 + 2.422e-011 s^9 +5.376e-009 s^8 +6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s第4章线性节制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3)>> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.1414分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',);abs(eig(H)')ans =分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',);abs(eig(H)')ans =分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1)>> A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10];eig(A)ans =分析:由以上信息可知,该持续线性系统的A矩阵的所有特征根的实-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…21.896,3;11,18.0898,25,2.356,9];abs(eig(F)')ans =分析:由以上信息可知,该团圆系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2];B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2]; D=[0 0;0 0];G=ss(A,B,C,D);tzero(G)pzmap(G)ans =【5】>> s=tf('s'); Go=sscanform(G,'obsv') a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 0.4 0.2 0 0d =u1y1 0Continuous-time state-space model.a =x1 x2 x3 x4b =u1x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.【9】(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =1.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t+(-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40)*e-3t+(182/45)*e-2t+(-7561/2520)*e-t(3) >> syms t;u=sin(3*t+5);Us=laplace(u)Us =(3*cos(5) + s*sin(5))/(s^2 + 9)>> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den);Y=Us*G;num=Y.num{1};den=Y.den{1};[R3,P3,K3]=residue(num,den);[R3,P3]ans =1.1237 -8.00000.9559 -7.0000-0.1761 -6.0000-0.6111 -5.00002.1663 -4.0000。

《控制系统仿真与CAD》课程教学大纲

《控制系统仿真与CAD》课程教学大纲

《控制系统仿真与CAD》课程教学大纲一、课程基本信息二、理论教学内容及基本要求1 控制系统仿真与计算机辅助设计概述(1.5学时)1.1 为什么采用MATLAB语言?1.2 课程的主要结构1.3 控制系统计算机辅助设计方法概述2 MATLAB 必备基础知识(2.5学时)2.1 MATLAB 语言程序设计基础了解MATLAB 数据结构并掌握基本语句结构,包括直接赋值语句和函数调用语句。

了解并掌握循环语句结构、条件语句结构、开关语句结构以及与众不同的试探语句。

2.2 MATLAB 语言图形绘制方法掌握二维图形和三维图形绘制命令与函数与各种图形的绘制方法,可以将实验结果和仿真结果用可视的形式显示出来。

2.3 图形用户界面设计技术3 科学运算问题的MATLAB求解(4学时)掌握MATLAB 语言在线性代数问题、微分方程问题及最优化问题中的应用,系统地了解数学运算问题的MATLAB 求解方法。

4 线性控制系统的数学模型(7学时)4.1 线性连续系统的数学模型输入了解基本的数学模型,并掌握这些模型在MATLAB 环境下的表示方法及多变量系统的表示方法。

4.2 线性离散系统的数学模型输入了解基本的数学模型,并掌握这些模型在MATLAB 环境下的表示方法。

4.3 系统模型的相互转换掌握基于MATLAB 的系统模型转换方法,如连续与离散系统之间的相互转换和状态方程转换成传递函数模型的方法,以及转换成状态方程模型的各种实现方法。

4.4 方框图模型的化简了解三类典型的连接结构:串联、并联和反馈连接,并掌握模块输入、输出从一个节点移动到另一个节点所必需的等效变换及复杂系统的等效变换和化简。

4.5 线性系统的模型降阶了解线性系统的模型降阶的原理与实现。

4.6 线性系统的模型辨识了解线性系统的模型辨识的原理与实现。

5 线性控制系统的计算机辅助分析(5学时)5.1 线性系统定性分析了解系统稳定性的判定方法和系统的可控性和可观测性等系统性质的分析,并掌握其他的各种标准型实现。

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

《控制系统CAD与仿真-MATLAB语言及应用》,MATLAB程序设计教程
控制系统的仿真的基本过程包括:建立系统的数学模型,包括系统的不可变部分的数 学模型和控制器的数学模型,并得到整个闭环系统的数学模型;建立仿真模型,一般是对 系统的数学模型做离散化处理,得到相应的仿真模型;编制仿真程序并运行;分析仿真结 果,并得出相应的结论。
控制系统 CAD 就是根据给定的系统性能指标要求,借助计算机对系统的控制器进行 设计。显然,控制系统的计算机仿真是控制系统的计算机辅助设计的一个部分。这一过程 包括:建立数学模型;根据性能指标和控制算法编程求解控制器参数;对系统校正前后进 行仿真,并验证控制器的实际控制效果;修改控制器参数或结构,直到仿真结果满足设计 要求。
控制系统 CAD 技术是对复杂控制系统进行分析和设计的重要方法和手段。在进行控 制系统的分析与综合的过程中,除了要进行理论分析外,还要对系统的特性进行实验研究, 研究系统的固有的动态特性,验算设计的控制器能否达到预期的性能指标,这个过程是设 计-实验-修改设计-再实验的过程。对于那些在实际运行过程中风险很大或者实验费用 昂贵的系统,一般不允许对设计好的系统进行直接实验或者反复实验,而没有经过实验验 证的系统是无法投入使用的,这样只有借助于计算机才能对系统进行仿真实验研究。所谓 控制系统的计算机仿真就是以控制系统的数学模型为基础,借助计算机对控制系统的动态 特性进行实验研究。
变量查看器
图 1-2 程序编辑/调试器窗口
4
在 MATLAB 中,工作空间(Workspace )是一个重要的感念。工作空间指运行 MATLAB
的程序或命令所生成的所有变量和 MATLAB 提供的常量构成的空间,是一个比较抽象的
概念。启动 MATLAB 后,会自动建立一个工作空间,工作空间在 MATLAB 运行期间一直
3
数,同时历史命令窗口记录了曾经执行过的命令,并可以重新执行或者转存为 M 文件。在 工作空间窗口可以观测当前工作空间中的变量情况,从操作台窗口可以寻求相关的帮助信 息。

《控制系统CAD及仿真语言》实验指导书

《控制系统CAD及仿真语言》实验指导书

《控制系统CAD与仿真》实验指导书计算机与控制学院自动化系实验一 Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句;3、熟悉Matlab程序设计的基本方法;二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;(5)方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列3、多项式(1)求多项式3()24p x x x =--的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] , 求矩阵A 的特征多项式;求特征多项式中未知数为20时的值; 把矩阵A 作为未知数代入到多项式中; 4、 基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的最大n 值;(2)编写函数文件:分别用for 和while 循环结构编写程序,求2的0到n 次幂的和。

(3)如果想对一个变量x 自动赋值。

当从键盘输入y 或Y 时(表示是),x 自动赋为1; 当从键盘输入n 或N 时(表示否),x 自动赋为0;输入其他字符时终止程序实验二 Matlab 数据可视化一、实验目的1、熟悉Matlab 绘图命令及基本绘图控制 二、实验内容 1. 基本绘图命令绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t ∈[0,2π] (1)、在一幅图上绘制两条曲线; (2)、在一个图形窗口绘制两幅图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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