控制系统计算机辅助设计-matlab语言与应用(3)

合集下载

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

控制系统计算机辅助设计---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语言和应用

控制系统计算机辅助设计-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软件在计算机控制系统教学中的应用-4页文档资料

MATLAB软件在计算机控制系统教学中的应用-4页文档资料

MATLAB软件在计算机控制系统教学中的应用计算机控制系统是电气自动化技术、计算机控制技术等专业的一门重要专业核心课程。

它涉及电路、电子技术、自动控制原理及数学等多门学科,概念多、理论性强、与工程实践联系密切。

近年来,随着计算机技术和仿真软件的不断发展和完善,仿真软件逐渐渗透到计算机控制系统课程的教学中。

本文介绍了MATLAB在计算机控制系统教学中的主要应用,例如模拟控制器的离散化参数计算、响应曲线的描绘和控制系统仿真,并用实例说明MATLAB软件在计算机控制系统教学中的重要作用。

一、数字PID控制器的设计PID控制器是一种线性控制器,它将给定值与实际输出值的偏差e(t)的比例、积分和微分进行线性组合,形成控制量u(t)输出,如图1所示。

图1 PID控制框图连续系统中PID控制器的传递函数为。

对PID控制器中三个环节的作用总结如下[1]:(1)比例P环节:成比例地反映偏差,偏差一旦出现立即产生控制作用,从而减小偏差;但P环节不能消除静差,且Kp过大会引起系统不稳定。

(2)积分I环节:主要用于消除静差,提高系统的无差度;但积分作用太强会使系统超调变大,甚至出现振荡。

(3)微分D环节:反映偏差信号的变化趋势,并能在偏差变得过大之前引入有效地早期修正信号,从而加快系统的响应速度,减小超调和调节时间,克服振荡,改善系统的动态性能;但Td过大也会使系统不稳定。

可见,Kp、Ti、Td对系统的闭环响应有很大的影响,只有选择合适的Kp、Ti、Td,才能获得理想的系统响应。

若已知某伺服系统的对象传递函数,采样周期T=0.1s,为了研究由P、PID数字控制器组成闭环系统的单位阶跃响应,首先应求被控对象的广义脉冲传递函数再根据离散控制理论,可以求出系统的闭环脉冲传递函数为:则系统的单位阶跃响应为:若控制器采用比例控制,即,将其带入可求出闭环脉冲传递函数为[2] 进而求出系统的闭环响应为若控制器采用PID控制,即,求解过程更加复杂。

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

控制系统计算机辅助设计-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语言作为控制系统领域广泛应用的工具,能够更好地满足工程师的需求。

因此,本文将介绍控制系统计算机辅助设计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语言与应用第2版》薛定宇_课后习题答案

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案
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);
【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

控制系统计算机辅助设计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 chapter 3

Matlab chapter 3
FOH 一阶保持器 matched 单变量系统零极点不变 imp 脉冲响应不变准则

2013-7-24
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
56
离散模型连续化

37
反馈连接的MATLAB求解

LTI 模型

符号运算 (置于@sym目录)
2013-7-24
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
38
例3-10
2013-7-24
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
39
例3-11
控制器为对角矩阵
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
35

基于MATLAB的计算方法

注意次序:多变量系统
2013-7-24
系统的反馈连接

反馈连接

正反馈Leabharlann 负反馈控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
36
2013-7-24
状态方程的反馈等效方法

其中 若
2013-7-24
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
43
3.3.3 复杂系统模型的简化
例3-12 原系统可以移动

新支路模型
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院
44
2013-7-24

得出
2013-7-24
控制系统计算机辅助设计---MATLAB语言与应用 东北大学信息学院

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

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

第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】/已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。

所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。

死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第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 =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i >> 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 =615【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[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, , , , , , 5, 7, 2, 9, 1, 20, 61, 81, 42, 723, 565, 288, 853, 141, 0994, 9135, 0129, 9264, 9393, 28657, 78050, 06707, 84757, 91464, , , , , , 8, 5, 3, 8, 31, 89, 20, 09, 29, 738, 167, 905, 072, 977, 6049, 9026, 5075, 4101, 9176, 83277, 82453, 65730, 48183, 413913, 662096, 076009, 738105, 814114, 0552219, 6366333, 6918552, 3284885, 0203437, 93488322, 23691759, 17180081, 40871840]【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 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 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】-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81【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;-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81【15】(1) >> t=-2*pi:0.01:2*pi; r=1.0013*t.^2;polar(t,r);axis('square')90270180(2) >> t=-2*pi:0.001:2*pi; r=cos(7*t/2);polar(t,r);axis('square')2700902701800(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')90180【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);-2-112-22-10-5510(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);-2-112-22第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:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6 Sampling time (seconds): 0.1【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)Sampling time (seconds): 0.05【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:7.58 s^2 + 10.8 s + 4.8-------------------------------------------------------------- 0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8(2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 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 x5y1 0 0 0.6 0.4273 0.3799d =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.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有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-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于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 =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于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 =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >>-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)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 =-0.2000 -0.5000 -14.3000 -33.3000 -10.0000分析:由以上信息可知,该连续线性系统的A 矩阵的所有特征根的实部均为负数,因此该系统是稳定的(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 =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的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 =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765分析:由以上信息可知,系统的特征根的实部均位于s 域的左半平面,因此该系统是稳定的>> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2)); Gc=sscanform(G,'ctrl')Go=sscanform(G,'obsv')a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1x4 -0.4 -1.4 -4.3 -4.3b =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 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.(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.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.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 =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [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+Linear Simulation ResultsA m p l i t u d e(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.0000 0.9559 -7.0000 -0.1761 -6.0000 -0.6111 -5.00002.1663 -4.0000 -1.1973 - 0.0010i 0.0000 +3.0000i -1.1973 + 0.0010i 0.0000 - 3.0000i -1.3824 -3.0000 0.8614 -2.0000 -0.5430 -1.0000 >> [n,d]=rat(R3); sym([n./d]') ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151] [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t+(282/295)*e -7t+(-59/335)*e -6t+(-965/1579)*e -5t+(-449/375)*e -4t+(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t-2.3947sin(3t) [输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态 部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 项,这是一个对误差信号的积分环节,假设去掉这一环节,则当Kp →∞,即|e(t)|很小也会存在较大扰动,这会影响到系统的动态特性;当加入这一环节后,如果要求|e(t)|→0,则控制器输出u(t)会由Ki/s 环节得到一个常值,此时系统可以获得较好的动态特性,因此这两个控制器可以消除闭环系统的阶跃响应的稳态误差(2)不稳定系统能用PI 或PID 控制器消除稳态误差。

Matlab进行控制系统的计算机辅助设计自动控制原理课设

Matlab进行控制系统的计算机辅助设计自动控制原理课设

自动控制原理课设报告班级: 08030902 姓名:王勋学号: 26时间:目录一、题目重述 (3)(1)设计目的 (3)(2)设计任务 (3)(3)设计步骤 (3)二、确定开环增益K (3)r三、绘制待校正系统特性曲线 (3)(1)待校正系统的频域特性曲线 (3)(2)待校正系统的时域特性曲线 (4)四、确定校正超前网络的交接频率 (5)五、选择系统的截止频率''c w和校正网络衰减因子α/1 (5)六、估算校正网络滞后部分的交接频率ω (5)a七、校验已校正系统的各项性能指标 (6)(1)动态性能指标 (6)(2)频域性能指标 (7)(3)稳定性 (8)八、校正前后系统的对比 (8)(一)时域性能对比 (8)(二)频域性能对比 (8)九、串联滞后校正可行性分析 (9)(一) 原理分析 (9)(二)可行性分析 (9)附录 (12)MATLAB代码:1、校正前系统 (12)2、校正后系统 (12)3、用matlab绘制校正前后系统的伯德图和响应曲线的对比 (12)4、用matlab求串联滞后系统的传递函数及响应、波特图 (12)参考文献 (14)一、 题目重述(1)设计目的:学习使用Matlab 进行控制系统的计算机辅助设计(2)设计任务:某单位反馈控制系统,其开环传递函数为)2)(1()(++=s s s K s G r (1-1) 试设计一个串联滞后-超前装置,使校正后系统:1、稳态速度误差系数等于101-s ;2、相位裕度045≥γ。

(3)设计步骤:1、用Matlab 编程绘制校正前后系统的伯德图、单位阶跃响应曲线,并从图中得出系统的频域及时域性能指标;2、对校正前后系统的性能进行比较,检验所设计系统性能指标是否达到要求;3、能否设计一个串联滞后校正装置,使系统达到设计要求?若能,将设计结果与串联滞后-超前设计结果进行对比,能得出什么结论?二、确定开环增益r K 由初始条件可知,系统的开环传递函数是:)2)(1()(++=s s s K s G γ,要求校正后的速度误差系数110-=s K v ,首先将传递函数化简成标准形式,可得到: )15.0)(1(2/)(++=s s s K s G γ 根据速度误差系数公式1102K K -==s γν可得到:120K -=s γ,则开环传递函数为: )15.0)(1(10)(++=s s s s G (2-1) 四、 绘制待校正系统特性曲线(1)待校正系统的频域特性曲线图3-1 待校正系统的波特图由上图可得:截止频率c w =s ,幅值裕度h=(dB),相位裕度γ= °,相位穿越频率g w = s ,幅值穿越频率p w = s 。

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

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

控制系统计算机辅助设计MATLAB语言与应用第三版课程设计介绍MATLAB是一种强大的计算机辅助设计工具,它广泛应用于控制系统设计中。

本文将介绍控制系统计算机辅助设计MATLAB语言与应用第三版课程设计,包括课程设计的目的、内容、流程和注意事项。

希望本文能帮助到正在学习或教授这门课程的同学们。

目的控制系统计算机辅助设计MATLAB语言与应用第三版是一门专门为控制系统设计方向的本科生、硕士研究生和工程技术人员定制的课程。

本课程的目的是教授控制系统设计原理、MATLAB编程基础和应用技巧、以及用MATLAB辅助设计控制系统的方法和技术。

通过本课程的学习,学生将掌握MATLAB的基本语法,了解控制系统的基本原理和常见控制器的设计方法,能够使用MATLAB辅助设计控制系统、分析和优化控制系统的性能。

内容控制系统计算机辅助设计MATLAB语言与应用第三版主要包括以下内容:•MATLAB基本语法•系统建模与仿真•PID控制器设计与调节•线性二次调节器设计•状态反馈控制器设计•频域分析与设计•非线性控制系统设计•多变量系统控制流程控制系统计算机辅助设计MATLAB语言与应用第三版课程设计的流程如下:1.阅读课程教材,掌握各个章节的主要内容和知识点。

2.按照教材上的要求完成例题和习题,巩固理论知识并增强编程能力。

3.独立设计一个控制系统,包括系统建模、控制器设计和系统仿真。

4.提交设计报告和MATLAB代码。

注意事项在控制系统计算机辅助设计MATLAB语言与应用第三版课程设计中需要注意以下几点:1.认真学习课程教材,掌握基础理论和编程技能。

2.独立思考和设计,不要复制粘贴别人的代码。

3.注意代码的规范性和清晰性,写注释并保证代码能够正常运行。

4.在控制器设计和系统仿真时,要细心谨慎,注意每一步的操作和结果的正确性。

5.撰写设计报告时,注意排版规范,附上必要的截图和解释,表述清晰明了。

结论控制系统计算机辅助设计MATLAB语言与应用第三版课程设计,是一门重要的课程,掌握好这门课程对于控制系统工程师的未来发展大有裨益。

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