例3-10_用Vibe Coding实现灵敏度函数分析
用 Vibe Coding 分析系统灵敏度——SGpTS_{G_p}^TSGpT函数基于胥布工《自动控制原理第二版》例3-10展示 Vibe Coding 下编写灵敏度函数、分析闭环稳定性的完整实践1. Vibe Coding 与灵敏度分析1.1 问题描述灵敏度函数衡量的是系统输出对参数变化的敏感程度。在不稳定的系统中灵敏度函数本身也失去了工程意义。本例展示如何编写并调用灵敏度函数并全功能分析闭环系统的稳定性。考虑图1所示的典型反馈控制系统图1反馈控制系统的典型结构图3-1已知各环节传递函数Gp(s)3(s6)s(s1)(s8)(s3)3s18s412s335s224sGc(s)5s46s2H(s)0.01s62s4\begin{aligned} G_p(s) \frac{3(s6)}{s(s1)(s8)(s3)} \frac{3s18}{s^412s^335s^224s} \\[4pt] G_c(s) \frac{5s4}{6s2} \\[4pt] H(s) \frac{0.01s6}{2s4} \end{aligned}Gp(s)Gc(s)H(s)s(s1)(s8)(s3)3(s6)s412s335s224s3s186s25s42s40.01s6试用 MATLAB 编写灵敏度函数SGpTS_{G_p}^TSGpT的M文件并调用求解。1.2 灵敏度函数定义对Gp(s)G_p(s)Gp(s)的灵敏度函数定义为SGpT∂T(s)∂Gp(s)⋅Gp(s)T(s)11GL(s)(1)\boxed{S_{G_p}^T \frac{\partial T(s)}{\partial G_p(s)} \cdot \frac{G_p(s)}{T(s)} \frac{1}{1 G_L(s)}} \tag{1}SGpT∂Gp(s)∂T(s)⋅T(s)Gp(s)1GL(s)1(1)其中GL(s)Gc(s)Gp(s)H(s)G_L(s) G_c(s)G_p(s)H(s)GL(s)Gc(s)Gp(s)H(s)为开环传递函数。1.3 Vibe Coding 对话概览轮次用户指令产出第1轮“编写灵敏度函数 M 文件”S feedback(1, Gc*Gp*H)第2轮“roots()零极点图分析稳定性”RHP 极点 → 不稳定第3轮“阶跃响应验证”发散响应2. 第1轮编写灵敏度函数2.1 核心实现function[S]sensifcn1(Gp,Gc,H)Sfeedback(1,Gc*Gp*H);% S 1/(1GL)end2.2 调用代码Gptf([3,18],[1,12,35,24,0]);Gctf([5,4],[6,2]);Htf([0.01,6],[2,4]);[S]sensifcn1(Gp,Gc,H);2.3 运行结果S 的零极点形式显示分母中含s2−0.09253s0.6548s^2 - 0.09253s 0.6548s2−0.09253s0.6548→ RHP 极点3. 第2轮稳定性分析3.1 roots() 求闭环极点所有极点来自灵敏度函数S(s)1/(1GL(s))S(s) 1/(1G_L(s))S(s)1/(1GL(s))的分母Δcl(s)12s6172s5764s41364s31043s2804.7s432 \Delta_{cl}(s) 12s^6 172s^5 764s^4 1364s^3 1043s^2 804.7s 432Δcl(s)12s6172s5764s41364s31043s2804.7s4323.2 稳定裕量存在 RHP 极点 → 系统不稳定 →无稳定裕量。4. 第3轮多维度可视化4.1 零极点图图2灵敏度函数S(s)S(s)S(s)零极点分布图 — RHP 极点清晰可见4.2 闭环阶跃响应图4闭环系统单位阶跃响应 — RHP 极点主导发散5. 总结5.1 本例核心发现维度内容新方法feedback(1, GL)直接求S1/(1GL)S 1/(1G_L)S1/(1GL)闭环稳定性RHP 极点 → 不稳定稳定裕量不存在不稳定系统灵敏度意义不稳定系统的灵敏度分析无工程价值5.2 灵敏度函数的双重作用作用说明本例结果鲁棒性指标∣S(jω)∣|S(j\omega)|∣S(jω)∣小 → 对参数扰动不敏感因不稳定而失效稳定性判据S(s) 的分母即闭环特征多项式含 RHP 极点5.3 全功能检查表功能状态图3-1 Gc/Gp/H给定✅roots() 求特征根✅零极点图×极点 ○零点✅灵敏度 Bode 图✅新增阶跃响应✅ 发散稳定裕量✅ 无5.4 代码模块模块功能产出1灵敏度函数S1/(1GL)S1/(1G_L)S1/(1GL)zpk(S)输出2roots()稳定性判定极点列表3零极点分布图 Bode 图fig3_ex3_10_pzmap/bode.png4闭环阶跃响应fig3_ex3_10_step.png