例3-10_用Vibe Coding实现灵敏度函数分析
2026/6/18 13:07:08 网站建设 项目流程

用 Vibe Coding 分析系统灵敏度——SGpTS_{G_p}^TSGpT函数

基于胥布工《自动控制原理(第二版)》例3-10,展示 Vibe Coding 下编写灵敏度函数、分析闭环稳定性的完整实践


1. Vibe Coding 与灵敏度分析

1.1 问题描述

灵敏度函数衡量的是系统输出对参数变化的敏感程度。在不稳定的系统中,灵敏度函数本身也失去了工程意义。本例展示如何编写并调用灵敏度函数,并全功能分析闭环系统的稳定性。

考虑图1所示的典型反馈控制系统:

图1反馈控制系统的典型结构(图3-1)

已知各环节传递函数:

Gp(s)=3(s+6)s(s+1)(s+8)(s+3)=3s+18s4+12s3+35s2+24sGc(s)=5s+46s+2H(s)=0.01s+62s+4\begin{aligned} G_p(s) &= \frac{3(s+6)}{s(s+1)(s+8)(s+3)} = \frac{3s+18}{s^4+12s^3+35s^2+24s} \\[4pt] G_c(s) &= \frac{5s+4}{6s+2} \\[4pt] H(s) &= \frac{0.01s+6}{2s+4} \end{aligned}Gp(s)Gc(s)H(s)=s(s+1)(s+8)(s+3)3(s+6)=s4+12s3+35s2+24s3s+18=6s+25s+4=2s+40.01s+6

试用 MATLAB 编写灵敏度函数SGpTS_{G_p}^TSGpT的M文件并调用求解。

1.2 灵敏度函数定义

Gp(s)G_p(s)Gp(s)的灵敏度函数定义为:

SGpT=∂T(s)∂Gp(s)⋅Gp(s)T(s)=11+GL(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)=1+GL(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)S=feedback(1,Gc*Gp*H);% S = 1/(1+GL)end

2.2 调用代码

Gp=tf([3,18],[1,12,35,24,0]);Gc=tf([5,4],[6,2]);H=tf([0.01,6],[2,4]);[S]=sensifcn1(Gp,Gc,H);

2.3 运行结果

S 的零极点形式显示分母中含s2−0.09253s+0.6548s^2 - 0.09253s + 0.6548s20.09253s+0.6548→ RHP 极点!


3. 第2轮:稳定性分析

3.1 roots() 求闭环极点

所有极点来自灵敏度函数S(s)=1/(1+GL(s))S(s) = 1/(1+G_L(s))S(s)=1/(1+GL(s))的分母:

Δcl(s)=12s6+172s5+764s4+1364s3+1043s2+804.7s+432 \Delta_{cl}(s) = 12s^6 + 172s^5 + 764s^4 + 1364s^3 + 1043s^2 + 804.7s + 432Δcl(s)=12s6+172s5+764s4+1364s3+1043s2+804.7s+432

3.2 稳定裕量

存在 RHP 极点 → 系统不稳定 →无稳定裕量


4. 第3轮:多维度可视化

4.1 零极点图

图2灵敏度函数S(s)S(s)S(s)零极点分布图 — RHP 极点清晰可见

4.2 闭环阶跃响应

图4闭环系统单位阶跃响应 — RHP 极点主导发散


5. 总结

5.1 本例核心发现

维度内容
新方法feedback(1, GL)直接求S=1/(1+GL)S = 1/(1+G_L)S=1/(1+GL)
闭环稳定性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灵敏度函数S=1/(1+GL)S=1/(1+G_L)S=1/(1+GL)zpk(S)输出
2roots()稳定性判定极点列表
3零极点分布图 + Bode 图fig3_ex3_10_pzmap/bode.png
4闭环阶跃响应fig3_ex3_10_step.png

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询