Matlab控制系统计算机辅助设计
基于MATLAB的控制系统计算机辅助分析ppt

包权
人书友圈7.三端同步
加入以下MATLAB语句可以求系统在阶跃函数作用下的给 定稳态误差终值еsr:
E(s) R(s) C(s) R(s) (s)R(s) 1 (s)R(s)
1
1
G(s) G(s)
R(s)
1
1 G(s)
.R(s)
ess
lim sE(s) s0
Transfer function: 2 s^3 + 4.5 s^2 + s
1 G(s)
若 G s. G0 N (s) ,则结果esr为求系统扰动稳态误差终值;
1 G(s)
补充知识:MATLAB基础Ⅲ
一.MATLAB中的图形工具 LTI Viewer
以【例4.3】系统为例来说明怎样使用MATLAB中,LTI Viewer求系 统的各种性能指标。 ①在买的VIP时长期间,下载特权不清零。
100W优质文档免费下 载
VIP有效期内的用户可以免费下载VIP免费文档,不消耗下载特权,非会员用户需要消耗下载券/积分获取。
部分付费文档八折起 VIP用户在购买精选付费文档时可享受8折优惠,省上加省;参与折扣的付费文档均会在阅读页标识出折扣价格。
⑦ 对建好的系统结构图模型按“zhang4sys1.mdl”命名并存盘
【例4.1】已知二阶系统的超调量σ%=20%,求系统的阻尼比ξ。 【解】程序: sigma=0.2; zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2) zeta =
0.4559 即求得系统阻尼比ξ=0.4559
【例4.2】已知二阶系统的ξ=0.46,求系统的超调量σ%。 【解】程序: zeta=0.46; sigma=2.7182^(-pi*zeta/(1-(zeta)^2)^(1/2))
控制系统计算机辅助分析的MATLAB实现方法

第8卷 第2期集美大学学报(自然科学版)V ol.8 N o.2 2003年6月Journal of Jimei U niv ersity(Natural Science)Jun.2003[文章编号]1007-7405(2003)02-0145-04控制系统计算机辅助分析的M AT LAB实现方法罗成汉,张富忠,江小霞(集美大学信息工程学院,福建厦门361021)[摘要]阐述了描述控制系统的四种主要数学模型,以及控制系统计算机辅助分析的M A T LAB实现方法,尤其是用Simulink建模,利用L T I V iewer进行系统的辅助分析的方法,该方法能实现从系统建模到系统的分析和仿真,全过程都是可视化操作.[关键词]控制系统;数学模型;计算机辅助分析[中图分类号]T P273[文献标识码]A0 引言控制系统计算机辅助分析是以控制系统的数学模型为基础,以计算机为工具,对控制系统进行实验和研究的一种方法,它为控制系统的设计提供强大的分析工具,可检验控制系统的设计效果.计算机辅助分析必须根据系统的数学模型编制相应的仿真程序.MATLAB语言是一种面向科学与工程计算的高级语言,具有强大的计算功能、计算结果和编程可视化及极高的编程效率,并提供了许多强大功能的工具箱,而且M ATLAB语言易学易用,不要求使用者具备高深的数学与程序的知识,不需要使用者深刻了解算法与编程技巧.因此,在此方面,MATLAB有一般高级语言难以比拟的优势,从而为传统的控制系统辅助分析与设计开辟新的方法与途径提供了充分的条件[1].1 控制系统的数学模型控制系统的数学模型对于控制系统的分析、设计具有十分重要的意义,可以通过解析法、实验法建立系统的数学模型.在M ATLAB中,可用四种数学模型描述线性定常时不变控制系统,包括传递函数模型、零极点增益模型、状态空间模型以及基于传递函数获得的图形化形式———动态结构图,也就是MATLAB里的Simulink结构图模型[2].在MAT LAB中,提供了许多函数建立系统的数学模型,函数tf()建立传递函数模型,函数zpk()建立零极点增益模型,函数ss()建立状态空间模型,这三种系统模型之间可以用函数: ss2tf(a,b,c,d),ss2zp(a,b,c,d),tf2ss(num,den),tf2zp(num,den),zp2ss(z,p,k),zp2tf(z,p,k)来转换.对于结构图模型,可在Simulink工作窗里画出动态结构图模型,其中,输入与输出环节必须采用模块库浏览中“signal and system”中的“in1”与“out1”模块(因为进行何种仿真是由命令确定的),并取扩展名为mdl的某一文件名并存盘.该模型可用linmod()、linmod2()、dlinmod()函数命令将从所保存结构图模型中,提取一个在某一平衡工作点处的线性模型,也将其转换成LTI对象的状态空间模型. [收稿日期]2002-07-03[作者简介]罗成汉(1970-),男,讲师,从事测控系统的教学、科研工作.2 控制系统辅助分析及其相关MA T LAB 函数控制系统辅助分析方法主要有:时域分析、频域分析、稳定性分析、根轨迹分析四种方法.2.1 稳定性分析由控制理论的一般规律可知,对线性系统而言,若一个连续系统的所有极点都位于s 平面的左平面,则该系统为一个稳定的系统;若一个离散系统的所有极点都位于z 平面的单位圆内,则该系统是一个稳定系统.在MATLAB 中,采用直接求根的方法很容易实现.2.2 时域分析时域分析法是根据自动控制系统微分方程,用拉普拉斯变换求解动态响应的过程曲线的方法.典型响应有单位阶跃响应、单位脉冲响应等.时域分析的另外一个目的是求解响应的性能指标,响应的性能指标主要有:峰值时间、超调量、调节时间及上升时间.M ATLAB 跃响应函数step ()、dstep (),脉冲响应函数impluse ()、dim pluse (),也可通过这些函数,可方便地求取系统的相应响应,编写相应的程序求取系统的性能指标.2.3 频域分析频域分析法是自动控制中应用一种数学工具———频率特性来研究系统控制过程性能(稳定性、快速性及稳态精度)的方法,不必直接求解系统的微分方程,而是间接地用系统的开环频率特性曲线,来分析闭环系统的响应,是一种图解的方法.频域分析主要用到三种图:Bode 图、Nyquist 曲线图、Nichols 曲线图.其中Bode 图可以用于分析系统的相角稳定裕度、幅值稳定裕度、剪切频率、-π穿越频率、带宽、扰动抑止及稳定性等.Nyquisrt 与Nichols 曲线图,可以用来分析系统的相角稳定裕度、幅值稳定裕度及其稳定性等.MAT -LAB 提供了求取系统Bode 图函数:bode ()、dbode (),求取系统Nyquist 曲线图函数:nyquist ()、dnyquist (),求取系统Nichols 曲线图函数:nichols ()、dnichols (),求取系统的频域性能指标函数margin (),通过这些函数可方便地绘制相应的曲线图.2.4 根轨迹分析根轨迹分析法是分析与设计线性定常系统特别有效的图解方法,它根据根轨迹法则,迅速地作出近似的根轨迹图,直观地反映系统参数变化时对根分布位置的影响.M ATLAB 提供了绘制根轨迹的相关函数,其中有绘制系统零极点图的函数pzmap ()、求系统根轨迹的函数rlocus (),计算系统根轨迹增益函数rlocfind ().3 控制系统的辅助分析的MA T LAB 实现方法3.1 编程实现应用MATLAB 提供的函数与其他函数、命令、语句,针对实现控制系统各种辅助分析方法,可编制相应的MATLAB 程序.可以在MATLAB 指令窗口中直接输入程序,或者在MATLAB 编辑窗口输入程序,并取扩展名为M 的某一文件名并存盘,运行时只需在MATLAB 指令窗口直接输入该文件名.该方法需要编写大量的程序,并且用户界面不友好,操作不方便.3.2 利用线性定常系统分析工具(LTI Viewer )来实现M ATLAB 控制系统工具箱针对线性定常系统提供了分析工具LTI View er ,它是具有良好图形用户界面(GUI )的交互式LTI 模型分析工具.利用LTI Viewer 可以在图形方式下交互地进行LTI 模·146·集美大学学报(自然科学版)第8卷型的各种时域和频域特性分析,并能直观观察图形方式的结果.LTI View er 允许从MATLAB Workspace 或Simulink 中输入系统的模型.3.2.1 从MATLAB Workspace 输入系统模型首先在MATLAB 的工作区建立LTI 模型,对于传递函数模型、零极点增益模型、状态空间模型可直接在MATLAB 工作区域建立;对于Simulink 的结构图模型,可先转化成状态空间模型,再在M ATLAB 工作区域建立.接着打开LTI View er ,在其File 菜单中,选择import ,在出现对话框中选择模型,把LTI 模型对象从MATLAB 工作空间引入到LTI Viewer 工作空间,同时在LTI View er 窗口中按照缺省设置画出LTI 模型的阶段响应曲线;最后在图形窗口中按下鼠标右键,出现一个上下文菜单,该菜单主要用来调整图形窗口的显示,利用LTI Viewer 能方便地对控制系统进行各种辅助分析,并能求取相应响应曲线的特征值.该方法适合版本较低的M ATLAB ,其LTI View er 不能直接从Simulink 中输入系统的模型,对于版本较高的MA TLAB 采用直接从Simulink 中输入系统的模型更方便.3.2.2 直接从Simulink 中输入系统的模型LTI Viewer 也允许从Simulink 环境中输入系统的结构图模型,这样一来,从系统建模到系统的分析和仿真,全过程都是可视化操作,尤其是对于大型控制系统来说,非常直观、方便.操作流程如下:首先通过Simulink 建立结构图模型并存盘.然后进入LTI Viewer 中设置输入点和输出点:在Simulink 的tools 菜单中,选择Linear analysis ,将出现imput point 、output point 元件窗口,这是LTI View er 提供的元件,其功能是在LTI View er 仿真界面和Simulink 系统模型之间传递信息.元件im -put point 、output point 是LTI Viewer 与Simulink 系统结构图的接口,系统的仿真信息是通过这两个元件在两界面之间传递,具体输入函数的类型和输出方式需在LTI Viewer 仿真界面下设置,现在只需将这两个元件拷贝到Simulink 界面下,用元件imput point 取代模型输入环节in1模块,用元件output point 取代模型输出环节out1模块.最后在LTI Viewer 仿真界面的菜单项Simulink 中,选择get linearized model ,就能对系统进行分析.若建模不是采用in1、out1模块,而是直接采用Control system 工具箱中imput point 、output point 元件,操作更方便,在Simulink 的tools 菜单中,选择Linear analysis ,再在LTI Viewer 仿真界面的菜单项Simulink 中,选择get linearized model ,就能对系统进行分析.4 仿真实例选取某一典型二阶系统的模型:G (s )=16s 2+4s +16,以它为例说明使用LTI View er 对其进行系统分析的步骤:1)在Simulink 中建立如图1所示系统的结构图模型.2)利用控制系统分析工具LT I Viewer 对其进行系统分析,系统分析工具LTI Viewer 的分析界面如图2所示.3)单击Plo t Type 菜单,根据分析需要可选择Step 或Bode 等命令项,方便得到仿真结果,如图3所示的阶跃响应曲线和图4所示的波德图,还可通过设置Characteristics 菜单,对不同类型响应曲线标出相关的特征值,如图3所示,能得到峰值响应.5 结论基于MATLAB 控制系统辅助分析的方法,通过编程实现,需要编写大量程序,并且用户界面不友好,操作不方便;Simulink 非常适合复杂系统的动态建模,LTI View er 是功能十分强大的线性定常系统分析工具,通过Simulink 建模,利用LTI Viewer 直接从Simulink 环境中输入系统的模型,对·147· 第2期罗成汉等:控制系统计算机辅助分析的M AT LA B 实现方法系统进行辅助分析,该方法从系统建模到系统的分析和仿真,全过程都是可视化操作,尤其对于大型控制系统来说,非常直观、方便,为控制系统的设计提供了强大的分析工具.[参考文献][1]张志涌.精通MA T LAB 5.3[M ].北京:北京航空航天大学出版社,2000.[2]黄忠霖.控制系统M A T LAB 计算及仿真[M ].北京:国防工业出版社,2001.Realizing Method for Computer -aided Analysis of ControlSystem Based on MATLAB LanguageLUO Cheng -han ,ZHANG Fu -zhong ,JIANG Xiao -xia(School of I nformation Engineering ,Jimei U niversity ,Xiamen 361021,China )A bstract :Four kinds of major mathematical model of control sy stem are presented ,and how to realize computer -aided analysis of control system based on MAT LAB language is discussed in the paper .The com -pl e te proc ess of operation ,from system model building to system analysis and simulation ,is visual with this method ,that is for building model by use of simulink and computer -aided analysis by use of LTI viewer .Key words :control sy stem ;mathematical model ;computer -aided analy sis ·148·集美大学学报(自然科学版)第8卷。
控制系统计算机辅助设计---MATLAB语言与应用

系统可控性判定
MATLAB 求解
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
29
Gram 矩阵满足 Lyapunov 方程 对偶问题
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
30
Kalman 规范分解
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
61
例4-12 带有复数极点的系统 阶跃响应解析解 解析解
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
62
解析解的进一步化简
基于 Euler 公式的化简
其中 新 MATLAB 函数
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
63
新 MATLAB 函数清单
38
得出 Leunberge 变换矩阵
编写 leunberge.m 函数
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
39
MATLAB 函数清单
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
40
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
56
解析解求解 解析解求解结果
稳定性
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
57
连续系统的解析解法
无重根时部分方式展开
2021/6/22
控制系统计算机辅助设计---MATLAB语言与应用
58
由 Laplace 反变换求解析解 有重根时 相应项的解析解为
控制系统计算机辅助设计-MATLAB语言与应用

20
国际上出版了关于 MATLAB及 CACSD 的专著和教材,但它们大都是MATLAB的
入门教材,并没有真正深入、系统地探讨 CACSD 技术及 MATLAB实现,将MATLAB
的强大功能与控制领域成果有机结合是本 书力图解决的主要问题。
2020/4/12
控制系统计算机辅助设计-MATLAB语言与应用
2020/4/12
控制系统计算机辅助设计-MATLAB语言与应用
17
除了经典的多变量频域方法之外,还出现了一些 基于最优化技术的控制方法,其中比较著名的是 英国学者 John Edmunds 提出的多变量参数最优化 控制方法和英国学者 Zakian 提出的不等式控制方 法等。
与此同时,美国学者似乎更习惯于状态空间的表 示与设计方法。此方法往往又称为时域方法 (timedomain),首先在线性二次型指标下引入了最优控 制的概念,并在用户的干预下(如人工选择加权矩 阵)得出某种最优控制的效果,这样的控制又往往 需要引入状态反馈或状态观测器新的控制概念。
辨识工具箱、鲁棒控制工具箱、多变量频域设计工 具箱、µ分析与综合工具箱、神经网络工具箱、最 优化工具箱、信号处理工具箱、以及仿真环境
Simulink。
2020/4/12
控制系统计算机辅助设计-MATLAB语言与应用
16
1.5 控制系统计算机辅助设计 领域的新方法
早期的 CACSD 研究侧重于对控制系统的计算机辅 助分析上,开始时人们利用计算机的强大功能把 系统的频率响应曲线绘制出来,并根据频率响应 的曲线及自己的控制系统设计经验用试凑的方法 设计一个控制器,然后利用仿真的方法去观察设 计的效果。
2020/4/12
控制系统计算机辅助设计-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.分析实验结果,优化控制系统模型参数。
第4章 基于MATLAB的控制系统计算机辅助分析

(2)用LTI Viewer图形工具求系统阶跃响应的性能指标。
四.滞后系统的时域响应分析
该系统的闭环传递函数为:
Gc ( s )G0 ( s )e s Y (s) (s) U ( s ) 1 Gc ( s )G0 ( s ) H ( s )e s
(一)滞后系统的近似时域分析 典型n阶pade近似传递函数模型为: s 1 p1 (s) 2 p 2 (s) 3 (1) n p n 1 (s) n 2 p n, ( s) s 1 p1 (s) 2 p 2 (s) 3 p n 1 (s) n 2 pade( )函数的调用格式为: [np,dp]= pade(T,n) 其中,T为延迟时间,n为pade近似的阶次。 以上闭环系统的近似传递函数为:
② 点击Sources,选中信号源模块组中的Step模块, 并拖拽到“untitled”模型窗口。
③在各模块库中,选中需要的标准功能模块并拖拽 到“untitled”模型窗口。双击“Transfer Fcn”模块,在得 出的对话框中,分别输入系统的分子和分母参数,即可 得到修改后的系统模型。
④仿真参数的设置
连续系统模块组 离散系统模块组
函数和表模块组 数学运算模块组 非线性模块组 信号与系统模块组 输出模块组 信号源模块组
(二)模型窗口的建立
打开“untitled”窗口有三种方法: ① 在MATLAB的命令窗口中选择 File→New→Model 菜单项; ② 单击Simulink工具栏中的“新建模型”图标; ③ 如 果 Simulink 动 态 结 构 图 已 经 存 在 , 那 么 在 MATLAB指令窗口下直接键入模型文件名字,便会 直接打开该模型动态结构图的模型窗口。
System:Lsys Peak amplitued:1.35 Overshoot(%):34.9 At time:11.3
matlab控制系统计算机辅助设计-长安大学..

联校正和并联校正。
3
6.1 基于传递函数的控制器设计方法
一般的控制目的是使得输出信号能很好地跟踪输入
信号,这样的控制也称为伺服控制。在这个基本的控制 结构下,误差信号E(s)和控制信号 U(s) 一般要求其尽可 能小。如图 6.2 所示系统,由于受控对象和控制器为串 联,故称其为串联控制。常用的串联控制有超前滞后校 正器和PID类控制器。 R(s)
p
φp φz 0
Z
-1/T
-1/ɑT
图6.3 超前网络零、极点在S平面上的分布
5
如图6.4可以看出, 引入这样具有正相位 的校正器,将增大前 向通道的相位,使其 相位“超前”于受控 对象的相位,因此称 为超前校正器。
超前校正器可使 校正后的闭环系统的 阶跃响应的速度加快, 超调量减小。
dB
L( )
在控制工程实践中,综合与校正的方法应根据特定的性能指标来
确定。一般情况下,若性能指标以稳态误差 e ss 、峰值时间 t p 、
最大超调量 p 、和过渡过程时间 t s 、等时域性能指标给出时, 应用根轨迹法进行综合与校正比较方便;如果性能指标是以相角裕 度r幅值裕度 K g 、相对谐振峰值 M 、谐振频率 r 和系统带宽 b r 等频域性能指标给出时,应用频率特性法进行综合与校正更合适。
15
性能指标常取为一个相对于状态x(t)和控制u(t)的二次型 积分性能指标,其形式为:
1 T 1 tf T J x (t f ) F x(t f ) x (t ) Q x(t ) u T (t ) R u (t ) dt 2 2 t0
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案

【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);
【2】
相应的MATLAB命令:B=A(2:2:end,:)
>>A=magic(8)
A=
642361606757
955541213 515016
174746 202143 4224
4026273736 303133
323435 292838 3925
4123224445191848
491514 5253 11 10 56
【10】
function y=fib(k)
if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endﻭif nargout>1,error('出错:输出变量个数过多!');end
if k<=0,error('出错:输入序列应为正整数!');endﻭifk==1|k==2,y=1;ﻭelsey=fib(k-1)+fib(k-2);endﻭend
858 5954 62 631
>>B=A(2:2:end,:)
B =
955 541213515016
40262737 36303133
41232244451918 48
858 5954 62631
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目录实验一:Matlab环境熟悉与基本运算(设计型)实验二:Matlab语言程序设计(设计型)实验三:控制系统模型的建立(设计型)实验四:Simulink仿真入门(验证型)实验五:控制系统时域仿真分析(设计型)实验六:Simulink环境下时域仿真实验七:控制系统根轨迹仿真分析实验八:控制系统频域仿真分析(设计型)1、矩阵运算(1)矩阵的乘法A=[1 2;3 4]; B=[5 5;7 8]; y=A^2*B y =105 115229 251(2)矩阵除法A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];y1=A\B警告: 矩阵接近奇异值,或者缩放错误。
结果可能不准确。
RCOND = 1.541976e-18。
y1 =1.0e+16 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511y2=A/B y2 =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置A=[5+i,2-i,1;6*i,4,9-i]; y1=A.' y1 =5.0000 + 1.0000i 0.0000 +6.0000i2.0000 - 1.0000i 4.0000 + 0.0000i1.0000 + 0.0000i 9.0000 - 1.0000iy2=A'y2 =5.0000 - 1.0000i 0.0000 -6.0000i2.0000 + 1.0000i 4.0000 + 0.0000i1.0000 + 0.0000i 9.0000 + 1.0000i实验名称:Matlab环境熟悉与基本运算(设计型)(4)使用冒号选出指定元素A=[1 2 3;4 5 6;7 8 9]; y1=A(1:2,3) y1 =36y2=A(2:3,:) y2 =4 5 67 8 9(5)复数矩阵的生成:syms a1 a2 a3 a4 b1 b2 b3 b4A=[a1+b1*j a2+b2*j;a3*exp(b3*j) a4*exp(b4*j)] A =[ a1 + b1*1i, a2 + b2*1i] [ a3*exp(b3*1i), a4*exp(b4*1i)]a1=3;a2=-2;a3=9;a4=23;b1=5;b2=3;b3=6;b4= 33;A=[a1+b1*j a2+b2*j;a3*exp(b3*j) a4*exp(b4*j)] A =3.0000 + 5.0000i -2.0000 + 3.0000i8.6415 - 2.5147i -0.3054 +22.9980i2、多项式p =1 02 4roots(p)%用roots函数求多项式的根ans =0.5898 + 1.7445i0.5898 - 1.7445i -1.1795 + 0.0000i①A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]; P=poly(A);poly2sym(P)ans =x^4 - (69*x^3)/10 - (3863*x^2)/50 - (8613*x)/100 + 12091/20②polyval(P,20) ans =7.2778e+04③polyvalm(P,A) ans =1.0e-11 *-0.4093 -0.4849 -0.3876 -0.4519-0.5002 -0.8072 -0.6004 -0.5684-0.4704 -0.6196 -0.6480 -0.5230-0.3297 -0.4455 -0.3595 -0.36383、基本绘图命令(1)t=0:0.01:2*pi;y=cos(t);plot(t,y)运行结果如右图所示:(2)t=0:0.01:2*pi;y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1,t,y2)运行结果如右图所示:4、基本绘图控制t=0:0.01:4*pi;x1=10*sin(t);plot(t,x1,'-.b*')axis([-20 20 -20 20])grid ontitle('正弦曲线x1=10*sin(t)图') xlabel('t=0:0.01:4*pi')ylabel('x1')text(pi/2,10,'最大值')运行结果如右图所示:1、编写命令文件:计算1+2+…+n<5000 时的最大n 值;解:建立M文件,文件名称记为two1,编辑程序内容如下所示:s=0;n=1;while(s<5000),s=s+n;n=n+1;end,n保存,并在命令窗口中输入two1,运行结果如下所示:two1n =1012、编写函数文件:解:①用for循环结构编写程序:建立函数文件,文件名称记为findsum1,编辑程序内容如下所示:function [ s1 ] =findsum1( )%findsum1 用for循环编写的程序% 求2的0到30次幂的和,s表示和,i表示执行次数s1=0;for i=0:30,s1=s1+2^i;Endend 保存,并在命令窗口中输入[s1]=findsum1( ),运行结果如下所示:[s1]=findsum1( )s1 =2.1475e+09②用while循环结构编写程序:建立函数文件,文件名记为findsum2,编辑程序内容如下所示:function [ s2 ] =findsum2( )%findsum2 用while循环编写的程序% 求2的0到30次幂的和,s表示和,i表示执行次数s2=0;i=0;while(i<=30), s2=s2+2^i; i=i+1;endend实验名称:Matlab语言程序设计(设计型)保存,并在命令窗口中输入[ s2 ]=findsum2( ),运行结果如下所示:[ s2 ] =findsum2( )s2 =2.1475e+093、解:建立M文件,文件名记为two3,编辑程序内容如下:x=input('please input a character:\n','s');if x=='y'||x=='Y',disp('x=1');else if x=='n'||x=='N', disp('x=0');elsedisp('its erro');endend保存,并在命令窗口中输入two2,运行结果如下所示:two2please input a character: nx=0two2please input a character: S its errotwo2please input a character: Yx=1[]4)4()1(234)(2223++++++=s s s s s s s G ;431)(21+++=s s s s G ;123453)(23421++++++=s s s s s s s G1、在MA TLAB 环境中输入下面的系统模型 解:建立M 文件,文件名称记为thr1,编辑程序内容如下所示:统模型的分子系数num=[1,4,3,2]; %系den=conv([1,0,0],conv([1,1],[1,8,20]));%分母系数 G1=tf(num,den);%得到开环系统模型 G2=feedback(G1,1);%得到闭环系统模型[p1,z1]=pzmap(G1)%不加分号,在命令窗口可显示出开环系统的零极点 [p2,z2]=pzmap(G2)% 不加分号,在命令窗口可显示出闭环系统的零极点在命令窗口输入thr1,则得出以下结果: thr1p1 =0 0 -4.0000 + 2.0000i -4.0000 - 2.0000i -1.0000z1 =-3.2695 -0.3652 + 0.6916i -0.3652 - 0.6916ip2 =-3.9174 + 2.1007i -3.9174 - 2.1007i -1.1449 -0.0102 + 0.2972i -0.0102 - 0.2972iz2 =-3.2695 -0.3652 + 0.6916i -0.3652 - 0.6916i2、假设系统由两个模块和串联连接而成,已知且实验名称:控制系统模型的建立和分析(设计型),)1(10)(3+=s s G 控制器并定义一个PID ⎪⎭⎫ ⎝⎛++=04353.04353.0814.11148.0)(s s s G PID 解:建立M 文件,文件名称为thr2,编辑程序内容如下所示:G3=tf([1,1],[1,3,4]);%实验三的第二题,题中的G1(s )模型 G4=tf([1,3,5],[1,4,3,2,1]);% 题中的G2(s )模型G5=series(G3,G4)%用串联函数,将G3和G4模型串联,得到G5模型,在命令窗口显示出模型 Gss=ss(G5)%用ss 得到G5模型的状态方程模型在命令窗口中输入thr2,得到以下运行结果: Transfer function:s^3 + 4 s^2 + 8 s + 5------------------------------------------------- s^6 + 7 s^5 + 19 s^4 + 27 s^3 + 19 s^2 + 11 s + 4 a =x1 x2 x3 x4 x5 x6x1 -7 -2.375 -1.688 -0.5938 -0.3438 -0.25 x2 8 0 0 0 0 0 x3 0 2 0 0 0 0 x4 0 0 2 0 0 0 x5 0 0 0 1 0 0 x6 0 0 0 0 0.5 0 b =u1 x1 1 x2 0 x3 0 x4 0 x5 0 x6 0 c =x1 x2 x3 x4 x5 x6 y1 0 0 0.0625 0.125 0.25 0.3125 d =u1 y1 0Continuous-time model. 3、假设系统的对象模型为解:建立M文件,文件名称为thr3,编辑程序内容如下所示:s=tf('s');%拉氏算子G6=10/((s+1)^3);%实验三第3题的对象模型Gpid=0.48*(1+1/(1.814*s)+0.4353*s/0.04353);%PID控制器G7=series(G6,Gpid);%控制器与对象模型进行串联得到的开环系统模型G8=feedback(G7,1)%闭环系统的传递函数模型[z3,p3,k3]=zpkdata(G7,'v')%得到开环系统的零极点及增益[z4,p4,k4]=zpkdata(G8,'v') %得到闭环系统的零极点及增益在命令窗口中输入thr3,得到以下运行结果Transfer function:3.79 s^2 + 0.379 s + 0.2089------------------------------------------------------- 0.07896 s^4 + 0.2369 s^3 + 4.027 s^2 + 0.458 s + 0.2089z3 =-0.0500 + 0.2294i -0.0500 - 0.2294ip3 =-1.0000 -1.0000 + 0.0000i -1.0000 - 0.0000ik3 =48 z4 =-0.0500 + 0.2294i -0.0500 - 0.2294ip4 =-1.4442 + 6.9670i -1.4442 - 6.9670i -0.0558 + 0.2217i -0.0558 - 0.2217ik4 =484、解:三种典型模型建模函数:①传递函数模型:G=tf(num,den);②零极点增益模型:G=zpk(z,p,k);③状态空间模型:G=ss(A,B,C,D);各种模型之间的转换语句:[A,B,C,D]=tf2ss(num,den); [num,den]=ss2tf(A,B,C,D,iu); [z,p,k]=tf2zp(num,den); [num,den]=zp2tf(z,p,k); [A,B,C,D]=zp2ss(z,p,k); [z,p,k]=ss2zp(A,B,C,D,i)1、搭建下图所示控制系统模型,自己设计输入正弦曲线参数,观察示波器及输出数据。