简介:面向自动化、电气等专业本科生及考研复习者整理的《自动控制原理》课后习题答案PDF,可用于课后练习核对、章节重点难点梳理与考前查漏补缺。资源包共1个PDF文件,大小约1.74MB,文档共52页,适合在电脑或平板上按章节检索阅读。内容围绕绪论、控制系统数学模型、时域分析法、根轨迹法、频域分析法、综合与校正、非线性控制系统展开,对微分方程建模、动态结构图等效变换、梅逊公式、二阶系统动态性能指标、劳斯判据、稳态误差计算、根轨迹绘制及Nyquist判据等常见难点给出梳理与解答参考。已有270人学习,便于读者对照习题检验理解、定位薄弱环节,并逐步掌握系统建模、分析与校正的基本方法。
1. 52 页答案 PDF 拆开看:课后习题里真正值钱的是中间那几步
课后习题做完对不上答案,是《自动控制原理》这门课最常见的卡点——不是不会算,是算完不知道自己对不对。这份 52 页的习题详解按教材章节组织,从绪论的概念问答一路排到线性离散系统的脉冲传递函数,八章覆盖完整。它的价值不在最后那个传递函数长什么样,而在于把结构图化简、梅逊公式余子式、劳斯表这些平时容易被糊弄过去的中间步骤摊开写了出来。适合正在跟课、准备期末、或者自学补基础的人;如果你已经在做控制器参数整定,拿它查公式定义和典型例题的解法套路也够用。下面按“这份资源怎么用”的顺序拆,重点讲每一步怎么核对、参数在哪、哪里会翻车。
2. 数学模型这一章:微分方程、结构图、梅逊公式三条线的对照用法
第二章是整本书的地基,也是这份答案里信息密度最高的一章。它把时域微分方程、复域传递函数、结构图等效、信号流图四套语言串在一起,读者最容易出的问题不是不会某一种,而是不知道什么时候该切换到哪一种。我的用法是把它当“翻译对照表”看:同一道题,先用微分方程确认物理关系,再用拉氏变换转成代数式,最后用结构图或梅逊公式快速求总传递函数,三条线互相验证。
2.1 微分方程建模:从物理对象到标准形式的三步收敛
自动化专业的学生面对机械、热工、化工对象时普遍卡在第一步,因为不熟悉那些领域的本构建模关系。合格的从业者一般不会硬啃,而是先认对象类型,再套对应的守恒定律。常见对应关系如下:
| 对象类型 | 核心定律 | 常见中间变量 |
|---|---|---|
| 电路网络 | 基尔霍夫电流/电压定律 | 支路电流、节点电压、电容电压 |
| 机械平动 | 牛顿第二定律 | 位移、速度、弹簧力、阻尼力 |
| 机械转动 | 转动定律 | 角位移、角速度、转矩 |
| 热工对象 | 热量平衡方程 | 温度、热流量、热容 |
具体操作分三步,每一步都有可检查的落点:
第一步,定死输入和输出。输入一般取外部驱动量(电压源、外力、阀门开度),输出取你关心的被控量。其余全部划为中间变量,先列清单再动笔。
第二步,按物理定律列方程。方程个数应当等于中间变量个数加一。这一步的检查点是量纲:等号两边必须同量纲,单位不一致说明某个系数漏了或写反了。
第三步,消元并整理成标准形式。把所有含输出的项移到等号左边,按导数阶次从高到低排列,输入项放右边,系数归一化成常数。整理完再检查一次:无源系统的系数应当全为正,阶次应当等于独立储能元件的个数。
以两级 RC 网络为例,消元后得到的形式是:
G(s) = Uc(s)/Ur(s) = 1 / (R1R2C1C2·s² + (R1C1 + R2C2 + R1C2)·s + 1)这里有个必须说清的点:这个结果不等于两个单级 RC 传递函数直接相乘。直接相乘得到的是 1/((R1C1s+1)(R2C2s+1)),分母少了一个交叉项 R1C2·s。原因是后级网络对前级构成了负载,前级的输出端接了后级的输入阻抗,两级之间存在负载效应。答案里专门用这道题说明“所给网络与两个 RC 网络的串联不等效”,这个结论要记住——凡是级联的两个环节之间存在能量交换,就不能直接乘。
非线性对象的处理是另一条线。可控硅整流器输出电压 Ud = K·U2φ·cosα 对控制角 α 是非线性的,在 α0 附近做小偏差线性化:把函数在 α0 处泰勒展开,只保留一次项,得到增量方程 ΔUd = -K·U2φ·sinα0·Δα。这一步的意义是把非线性系统在工作点附近近似成线性系统,后续所有传递函数方法才有立足点。参数说明:α0 是静态工作点,偏离这个点越远,线性化误差越大;工程上一般要求扰动量不超过工作点值的 5%~10%。
2.2 动态结构图等效变换:目的是解除交叉,不是背公式
结构图化简的教材写法通常只给一般原则,面对交叉回路时新手无从下手。这份答案的处理思路值得学:先把化简目标说清楚——解除反馈回路的交叉,把图整理成层次分明的串并联加单回路结构,然后再动手。
等效变换的规则本身不多,但乘除因子容易记反。整理成表更稳妥:
| 变换类型 | 操作 | 支路补偿 |
|---|---|---|
| 串联环节 | 前向依次连接 | 传递函数相乘 |
| 并联环节 | 输入相同、输出相加 | 传递函数相加 |
| 反馈连接 | 前向 G、反馈 H | G/(1±GH),负反馈取加号 |
| 比较点后移 | 比较点从环节前移到环节后 | 被跨过的支路乘以该环节 |
| 比较点前移 | 比较点从环节后移到环节前 | 被跨过的支路除以该环节 |
| 引出点后移 | 引出点从环节前移到环节后 | 引出支路乘以该环节 |
| 引出点前移 | 引出点从环节后移到环节前 | 引出支路除以该环节 |
操作顺序上,我一般按这个流程走:先在图上圈出所有交叉回路,找出交叉点最多的那个比较点或引出点;把它沿某一条支路移出交叉区;每移动一次单独画一张草图,在草图上标注这次乘除的是哪个环节;移动后重新检查是否还有交叉,直到结构退化成“串联—并联—单回路”三种基本形式;最后从内到外逐层化简。
这里的关键判断是“往哪边移”。移动方向不是随便选的,选错了会引入新的交叉。经验法则是:把比较点往靠近输入的方向移,把引出点往靠近输出的方向移,这样跨过的环节少,补偿因子也简单。答案里给出的交叉回路例子,就是把 a 点引出移到 b 点、同时把 c 点比较移到 d 点,两条交叉支路各做一次同类移动,交叉就解除了。
提示:每移动一次就重画一张图,不要在原图上涂改。血泪经验是,原图改到第三遍时,你自己也分不清哪条线是补偿支路了。
2.3 梅逊公式:余子式 Δk 靠“接触”判断,不靠图形直觉
梅逊公式本身只有一行:P = (1/Δ)·Σ Pk·Δk。真正难的是三个量之间的关系,光看文字描述确实理解不了,必须配上回路和前向通道的具体图形。
系统特征式展开成:
Δ = 1 - ΣLa + ΣLbLc - ΣLdLeLf + ...其中 ΣLa 是所有单个回路增益之和,ΣLbLc 是所有两两互不接触回路增益乘积之和,三三组合依此类推,符号正负交替。
Pk 是第 k 条前向通道的增益,Δk 是把 Δ 里所有与第 k 条前向通道接触的回路删掉之后剩下的部分。
“接触”的定义要卡死:两个回路(或一条前向通道与一个回路)共用至少一个节点,就叫接触;完全不共用任何节点,才叫不接触。图上线条看起来不相交但共用一个节点的,仍算接触。这是最容易判错的地方。
我建议的操作顺序是:先把所有回路列成表,每行写清回路编号、增益、经过的节点集合;再把所有前向通道列成表,同样写节点集合;然后逐条前向通道做集合交集运算,交集为空的就是不接触回路;最后按公式拼装。
以答案中的三前向通道结构为例,整理成表后是这样:
| 前向通道 | 经过节点 | 不接触的回路 | Δk |
|---|---|---|---|
| 第一条 | 全部节点 | 无 | 1 |
| 第二条 | 不含回路 4 的节点 | 回路 4 | 1 + G4H4 |
| 第三条 | 全部节点 | 无 | 1 |
对照表格能直接看出:第一条和第三条与所有回路都接触,余子式就是 1;第二条与回路 4 不接触,余子式里多出一项回路增益。这套流程比在图上用眼睛比划可靠得多,尤其是回路数量超过四个以后。
3. 时域分析与根轨迹:把答案当参数表反查 ωn、ζ 和极点位置
第三章和第四章在教材里是分开的两章,实际做题时是一条链:时域指标由极点位置决定,极点位置由特征参数决定,根轨迹画的就是极点随增益移动的路径。这份答案把二阶系统的特征参数、极点位置、动态性能三者的关系用一张图串起来,这个处理方式可以直接借来做自查。
3.1 二阶系统的四个指标:一条从 ζ、ωn 到 tp、σ% 的换算链
标准二阶系统的闭环特征方程写成 s² + 2ζωn·s + ωn² = 0,一对共轭极点落在 s1,2 = -ζωn ± jωn√(1-ζ²)。从这个式子出发,所有动态性能指标都能推出来:
| 指标 | 公式 | 说明 |
|---|---|---|
| 阻尼振荡频率 | ωd = ωn√(1-ζ²) | 极点的虚部 |
| 上升时间 | tr = (π - β)/ωd,β = arccos ζ | 首次到达稳态值 |
| 峰值时间 | tp = π/ωd | 第一个峰值 |
| 最大超调量 | σ% = e^(-ζπ/√(1-ζ²)) × 100% | 只与 ζ 有关 |
| 调节时间 | ts ≈ 3/(ζωn) 或 4/(ζωn) | 分别对应 5% 和 2% 误差带 |
峰值时间和超调量这两个式子最有规律:tp 只跟极点虚部有关,σ% 只跟阻尼比有关。这意味着调参时可以先定 ζ 满足超调要求,再用 ωn 把响应速度拉到目标区间。
拿答案里反复出现的例子验证一遍。单位反馈系统开环传递函数 G(s) = K/(s(0.1s+1)),闭环传递函数为 K/(0.1s² + s + K),化成标准形式对比系数:ωn² = 10K,2ζωn = 10。
K = 10 时,ωn = 10,ζ = 0.5,ωd = 8.66,β = 60° = 1.047 rad。代入得 tr = (3.1416 - 1.047)/8.66 ≈ 0.242 s,tp = 3.1416/8.66 ≈ 0.363 s,σ% = e^(-0.5π/0.866) × 100% ≈ 16.3%,ts(5%) = 3/(0.5×10) = 0.6 s。
K = 20 时,ωn = 14.14,ζ ≈ 0.354,ωd ≈ 13.26,tp ≈ 0.237 s,σ% ≈ 30.5%,ts(5%) ≈ 0.6 s。
这组数字可以直接用来判断答案靠不靠谱:如果你手上这份答案给的峰值时间和你自己算的差在 1% 以内,说明系数对应关系没搞错;差一个数量级,八成是把 0.1s+1 里的时间常数当成 T 直接代进一阶公式了。
注意:调节时间用 3/(ζωn) 还是 4/(ζωn),取决于题目要求 5% 还是 2% 误差带,答案里两种都出现过。抄答案前先看题干有没有写误差带,没写就按教材约定来。
3.2 劳斯判据:首列零和全零行是两道必须过的坎
劳斯判据的常规流程是:写出特征方程并按降幂排列;检查系数是否全部为正(这是必要条件,缺项或变号直接判不稳定);填劳斯表;数第一列符号改变的次数,改变几次就有几个右半平面极点。
真正卡人的是两个特殊情况。
第一种,某一行第一列元素为 0,但该行不全为 0。这时不能直接下“不稳定”的结论,而要用一个足够小的正数 ε 代替这个 0,继续往下填表,最后令 ε→0+ 判断第一列符号。符号改变次数才是结论,首项为 0 本身不是。
第二种,某一行全部为 0。这说明存在对称于原点的根,通常出现在临界稳定或纯虚根的情况。处理方法是用这一行的上一行构造辅助方程 F(s),对 s 求导得到新的一行,用这行替换全零行继续计算。辅助方程本身还能解出那对对称根,往往是判断临界增益的关键信息。
这两条在答案里各有对应例题,做题时建议把“是否出现首列零”“是否出现全零行”当成两个必查项写在草稿纸边上,走完整个表再回头确认,比事后补救省时间。
3.3 根轨迹:先算规则表,再画草图,最后用 MATLAB 校验
根轨迹这一章的难点教材自己也承认:零极点在 s 平面的分布对输出响应的影响,以及轨迹的准确画法。答案给出的路子是先用时域分析建立“极点位置影响性能”的直觉,再用根轨迹规则画草图,最后用 MATLAB 画精确图对照。
八条基本规则整理成表:
| 规则 | 内容 |
|---|---|
| 起点终点 | 起于开环极点,终于开环零点,不足的终于无穷远 |
| 分支数 | max(n, m),n 为极点数,m 为零点数 |
| 对称性 | 关于实轴对称 |
| 实轴段 | 某段右侧零极点总数为奇数时,该段在轨迹上 |
| 渐近线角度 | (2k+1)π/(n-m) |
| 渐近线交点 | (Σp - Σz)/(n-m) |
| 分离/会合点 | 由 dK/ds = 0 求出,只取位于实轴轨迹段上且 K > 0 的根 |
| 与虚轴交点 | 令 s = jω 代入特征方程,实部虚部分别为零 |
最后一步用代码校验,两三行就够:
% 根轨迹与临界增益校验 num = [1]; den = [0.1 1 0]; % G(s) = K/(s(0.1s+1)) sys = tf(num, den); figure; rlocus(sys); % 画根轨迹 [k, poles] = rlocfind(sys); % 鼠标点选临界点,返回对应增益和极点rlocfind返回值里,k是你在图上点中那一点对应的增益,poles是该增益下的闭环极点。把poles和手算的分离点、虚轴交点对一遍,对不上就回去查规则表里哪一条用错了。参数说明:den的系数按 s 的降幂排列,注意常数项为 0 表示有一个积分环节,这会直接影响渐近线条数和实轴段的判断。
4. 频域分析与校正:Nyquist 圈数、稳定裕量和超前滞后补偿怎么核
第五章和第六章是全书最容易“看得懂但算不对”的部分。频域法的概念不直观,校正设计又没有唯一解,答案在这里的作用不是给标准答案,而是给一套可复现的中间流程。
4.1 Nyquist 判据:数的是包围圈数,不是穿越次数
频域分析和时域分析的内在联系,答案里解释得比较清楚:时域用的阶跃、冲激这些典型输入,都能展开成一系列正弦函数,相当于不同幅值、不同频率的正弦同时作用,靠线性系统的叠加原理求输出。所以频域指标能反映时域性能,两种方法不矛盾。
Nyquist 判据的公式是 Z = P + 2N 或 Z = P - 2N,具体用哪个取决于你教材对 N 正负号的定义。这一条必须先跟你手上的教材对齐,不能混用。我一般按这个约定操作:N 取曲线顺时针包围 (-1, j0) 点的净圈数,判据写成 Z = P - 2N,闭环稳定要求 Z = 0,即 N = P/2。
操作步骤:先画出 ω 从 -∞ 到 +∞ 的完整 Nyquist 图(含镜像部分);再单独标出 (-1, j0) 点;然后从该点向左引一条射线,数曲线由下往上穿过射线的次数和由上往下的次数,两者之差就是净包围圈数;最后代进判据。
容易出错的地方是只画了 ω 从 0 到 +∞ 的半边图就开始数圈。半图配合对称性判断虽然也能做,但遇到曲线穿过负实轴的情况容易把半圈数成整圈。工程上省事的做法是直接用 MATLAB 的nyquist画完整图。
开环频率特性和闭环响应之间的联系,从闭环特征方程 1 + G(s)H(s) = 0 就能看出来,这也是稳定裕量能反映闭环性能的根本原因。
4.2 稳定裕量:γ 和 Kg 的读取口径
相位裕量和增益裕量的定义要卡死口:
| 名称 | 定义 | 读取位置 |
|---|---|---|
| 截止频率 ωc | G(jωc) | |
| 相位裕量 γ | γ = 180° + ∠G(jωc) | 在 ωc 处读相角 |
| 相位穿越频率 ωg | ∠G(jωg) = -180° | Bode 图相频曲线过 -180° 处 |
| 增益裕量 Kg | Kg = -20·lg | G(jωg) |
工程上常取 γ 在 30° 到 60° 之间,Kg 不低于 6 到 10 dB。γ 太小,阶跃响应超调大、振荡次数多;γ 太大,系统偏保守、响应慢。这个区间不是死规定,是大量调试攒出来的经验带。
用代码一次读出两个裕量:
% 稳定裕量读取 s = tf('s'); G = 10/(s*(0.1*s+1)); [Gm, Pm, Wcg, Wcp] = margin(G); fprintf('增益裕量 %.2f dB, 相位裕量 %.2f deg\n', 20*log10(Gm), Pm); fprintf('相位穿越频率 %.3f rad/s, 截止频率 %.3f rad/s\n', Wcg, Wcp);margin返回的Gm是绝对值不是 dB,所以要再做一次20*log10。Wcg和Wcp分别是两个穿越频率,画出 Bode 图后可以对照检查读数位置对不对。
4.3 超前与滞后校正:从指标倒推装置参数
校正设计没有唯一解,这是教材自己点明的:期望的 Bode 图形状因系统要求而异,被控对象的 Bode 图是固定的,两者相减得到的校正环节不唯一。答案给的是标准步骤,照着走能保证拿到一个可用解。
串联超前校正的设计顺序:
第一步,由稳态误差要求确定开环增益 K。
第二步,用确定好的 K 画未校正系统的 Bode 图,读出相位裕量 γ0。
第三步,算需要补的相位角 φm = γ目标 - γ0 + 5°~10°。留余量是因为校正后截止频率会右移,实际相位会掉一点。
第四步,由 φm 反解衰减因子 a:a = (1 + sinφm)/(1 - sinφm)。
第五步,确定最大超前角出现的频率 ωm,把它对准校正后的截止频率(一般取未校正幅频曲线在 -10·lg a 处的频率)。
第六步,算时间常数 T = 1/(ωm√a),零点在 1/T,极点在 1/(aT)。
滞后校正的逻辑反过来:利用高频段的衰减把截止频率往下压,用牺牲带宽换相位裕量。β 由稳态精度和高频增益要求决定,两个转折频率放在截止频率的 1/5 到 1/10 以下,避免在截止频率附近引入额外相位滞后。
用代码验证一次超前校正的效果:
% 串联超前校正前后对比 s = tf('s'); G = 10/(s*(0.1*s+1)); phi_m = 40*pi/180; % 目标补偿相位 a = (1+sin(phi_m))/(1-sin(phi_m)); wm = 8; % 最大超前角频率,取校正后截止频率附近 T = 1/(wm*sqrt(a)); Gc = (a*T*s+1)/(T*s+1); % 超前校正环节 G_open = Gc*G; [~, Pm1] = margin(G); [~, Pm2] = margin(G_open); fprintf('校正前 %.2f deg, 校正后 %.2f deg\n', Pm1, Pm2);a和T的顺序不能颠倒,a由相位需求定,T由频率位置定,两者共同决定零极点间距。wm的取值是这套流程里唯一需要试的地方,取小了相位补偿不够,取大了高频噪声放大严重。
5. 避坑:抄这份课后习题答案最容易翻车的五个地方
5.1 结构图化简中间步骤对不上
现象:最终传递函数和答案一致,但中间某一步的环节增益怎么算都差一个因子。
原因:答案把“引出点后移”和“比较点前移”合并成一步画,中间乘除的补偿因子省略了,看上去像是凭空多出一个环节。
解决:自己按“一次只移动一个点”重画,每移动一次在旁边用箭头标注这次乘以或除以哪个环节,四张草图并排对照。引出点后移乘所跨环节,比较点后移同样乘所跨环节,前移则除,方向记反是高频错误。
5.2 梅逊公式分母少一项
现象:传递函数分母比答案少一个两回路乘积项,或者分子多一项。
原因:把“不接触回路”理解成图上线条不相交,把共用一个节点的两个回路误判为不接触。
解决:所有回路列成表,写清编号、增益、节点集合;前向通道也列节点集合;用集合交集判断接触关系,交集为空才算不接触。判完之后再回头对一遍 Δ 的符号,两项相乘取正、三项相乘取负。
5.3 扰动作用下的稳态误差算错符号
现象:扰动单独作用时算出的稳态误差和答案差一个负号,或者结果发散。
原因:误差定义 e = r - c 和 e = -c 混用。给定单独作用时 e = r - c;扰动单独作用时给定量 r = 0,误差变成 e = -c。
解决:动笔前先写清“谁单独作用”,再定误差表达式,最后用终值定理 ess = lim(s→0) s·E(s)。顺带记住一个结论:要在扰动作用点之前的前向通道里含积分环节,才能消掉扰动引起的稳态误差,这也是答案在物理概念上反复强调的点。
5.4 劳斯表首列为零直接判不稳定
现象:填表到某一行首项为 0,直接下结论“系统不稳定”,和答案对不上。
原因:首项为 0 不等于符号改变,可能是临界稳定,也可能是需要做替换的中间状态。
解决:分两种情况。该行不全为零,用 ε 替换 0 继续填表,最后令 ε→0+ 看第一列符号;该行全为零,用上一行构造辅助方程并求导,用导数行替换后继续。这两种情况的结论完全不同,混用会直接判错。
5.5 离散系统脉冲传递函数直接相乘
现象:闭环脉冲传递函数写成 G1(z)G2(z)/(1+G1(z)G2(z)),和答案差很远。
原因:没注意采样开关的位置。连续环节 G2(s) 前面的信号是连续信号,不能直接拆成 Z 变换的乘积,只有采样器之间没有其他连续环节时才能直接乘。
解决:先把采样开关的位置画出来,标清每个采样器的输入输出;再按“连续信号段”和“离散信号段”分别写方程;最后整体做 Z 变换。答案里给出的错误示范就是漏掉了连续段这一层,导致 G1(s) 和 G2(s) 被错误地当成串联。
6. 三步校对法:把答案 PDF 变成可自查的公式速查表
答案的正确用法不是对答案,是把每道题拆成“条件—公式—自检点”三段,做成自己的速查表。我的做法固定为三步。
第一步,抄条件。把题干里的每个数字连同单位抄成一张参数表,包括系统类型、开环增益、时间常数、误差带要求。这一步的作用是暴露隐藏条件,比如“单位反馈”“零初始条件”“5% 误差带”这些经常被漏看的前提。
第二步,对公式。按题型查表,把参数代进对应公式,先算中间量再算结果。常见题型的对应关系整理如下:
| 题型 | 核心公式 | 自检点 |
|---|---|---|
| 二阶动态性能 | tp = π/ωd,σ% = e^(-ζπ/√(1-ζ²)) | σ% 只与 ζ 有关,tp 只与 ωd 有关 |
| 稳态误差 | ess = lim(s→0) s·E(s) | 先判系统型别,再看输入类型 |
| 劳斯判据 | 首列变号次数 = 右半平面极点数 | 先查系数是否全正 |
| 根轨迹分离点 | dK/ds = 0 | 只取实轴轨迹段上且 K > 0 的根 |
| 稳定裕量 | γ = 180° + ∠G(jωc) | 在 0 dB 处读相角,别读错频率 |
第三步,代码复核。手算结果用脚本跑一遍,差在 1% 以内算过,差得多就回去找哪一步代错了。
% 扫描增益,观察超调与调节时间的变化趋势 K_range = 1:1:100; sigma = zeros(size(K_range)); ts = zeros(size(K_range)); for i = 1:length(K_range) K = K_range(i); wn = sqrt(10*K); zeta = 5/sqrt(10*K); if zeta < 1 sigma(i) = exp(-zeta*pi/sqrt(1-zeta^2))*100; ts(i) = 3/(zeta*wn); else sigma(i) = 0; ts(i) = 3/wn; end end plot(K_range, sigma, K_range, ts); legend('超调量 %','调节时间 s'); xlabel('开环增益 K');这段脚本的意义在于把单点计算变成趋势观察。K 增大时超调单调上升、调节时间先降后升,这个非单调关系是调参时最容易被忽略的地方——很多人以为加大增益一定更快,实际过了某个点响应反而拖长,还伴随振荡加剧。zeta < 1的判断是为了避开过阻尼情况下 sqrt 里出现负数的报错,这个分支不能省。
从那以后我每次做校正设计,都强制走一遍“先扫参数看趋势、再定点精算、最后用 margin 复核”的流程,不再单点试凑。参数扫描花的时间比反复改参数少得多,也更清楚边界在哪。希望帮到你。
本文还有配套的精品资源,点击获取