奈奎斯特判据 + MATLAB 实现 + 车辆纵向动力学 详细推导笔记
一、自动控制原理:奈奎斯特判据
1.1 判据作用
奈奎斯特判据不需要求解特征根,仅通过开环频率特性曲线 即可判断闭环系统稳定性。
1.2 基本概念
- 开环传递函数: G ( s ) H ( s ) G(s)H(s) G(s)H(s)
- 闭环特征方程: 1 + G ( s ) H ( s ) = 0 1+G(s)H(s)=0 1+G(s)H(s)=0
- 奈奎斯特曲线: ω \omega ω 从 − ∞ → + ∞ -\infty \to +\infty −∞→+∞ 时, G ( j ω ) H ( j ω ) G(j\omega)H(j\omega) G(jω)H(jω) 在复平面的轨迹。
1.3 核心判稳公式
N = Z − P N = Z - P N=Z−P
- N N N:奈奎斯特曲线顺时针 包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 的圈数
- Z Z Z:闭环系统右半平面极点个数
- P P P:开环系统右半平面极点个数
1.4 稳定条件
闭环稳定 ⟺ Z = 0 \iff Z=0 ⟺Z=0,即:
N = − P N = -P N=−P
工程常用情况(开环稳定 P = 0 P=0 P=0) :
N = 0 N=0 N=0
即曲线不包围 ( − 1 , j 0 ) (-1,j0) (−1,j0)。
1.5 圈数计数规则
- 顺时针一圈: N = + 1 N=+1 N=+1
- 逆时针一圈: N = − 1 N=-1 N=−1
- 不包围: N = 0 N=0 N=0
口诀:顺加逆减,不包为零。
1.6 含积分环节的处理
系统含积分环节时,原点有极点,奈奎斯特曲线会出现无穷大圆弧。
判稳时需补画逆时针无穷大圆弧,再数圈数。
1.7 与稳定裕度的关系
- 曲线远离 ( − 1 , j 0 ) (-1,j0) (−1,j0):稳定裕度大
- 曲线切于 ( − 1 , j 0 ) (-1,j0) (−1,j0):临界稳定
- 曲线包围 ( − 1 , j 0 ) (-1,j0) (−1,j0):闭环不稳定
二、MATLAB 绘制奈奎斯特图
2.1 基本语法
matlab
% 定义传递函数
G = tf(num, den);
% 绘制奈奎斯特图
nyquist(G);
grid on;
axis equal;
2.2 完整示例
matlab
% 开环传递函数 G(s) = 10 / (s(s+1)(s+2))
num = 10;
den = conv([1 0], conv([1 1], [1 2]));
G = tf(num, den);
nyquist(G);
grid on;
axis equal;
title('Nyquist Plot');
2.3 判稳步骤
- 从图中数包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 的圈数 N N N
- 确定开环右极点个数 P P P
- 由 Z = N + P Z = N + P Z=N+P 判断闭环是否稳定
三、车辆纵向动力学方程推导
3.1 纵向受力
车辆行驶时纵向受力包括:
- 驱动力/制动力 F t F_t Ft
- 滚动阻力 F f F_f Ff
- 空气阻力 F w F_w Fw
- 坡道阻力 F i F_i Fi
- 加速惯性力 F j F_j Fj
3.2 各项阻力公式
(1)滚动阻力
F f = m g f F_f = mgf Ff=mgf
(2)空气阻力
F w = 1 2 ρ C D A v 2 F_w = \frac{1}{2}\rho C_D A v^2 Fw=21ρCDAv2
(3)坡道阻力
F i = m g sin α ≈ m g i F_i = mg\sin\alpha \approx mgi Fi=mgsinα≈mgi
(4)惯性力(含旋转质量)
F j = δ m v ˙ F_j = \delta m \dot{v} Fj=δmv˙
其中 δ \delta δ 为旋转质量换算系数。
3.3 纵向动力学平衡方程
由牛顿第二定律:
F t − F f − F w − F i = δ m v ˙ F_t - F_f - F_w - F_i = \delta m \dot{v} Ft−Ff−Fw−Fi=δmv˙
完整形式:
F t − m g f − 1 2 ρ C D A v 2 − m g sin α = δ m d v d t F_t - mgf - \frac{1}{2}\rho C_D A v^2 - mg\sin\alpha = \delta m \frac{dv}{dt} Ft−mgf−21ρCDAv2−mgsinα=δmdtdv
3.4 工程应用
- 车速跟踪控制(PID、MPC)
- 需求转矩 / 需求功率计算
- 混合动力能量管理基础模型
- Simulink 整车纵向仿真核心
四、三者内在联系
- 车辆纵向动力学 → 建立被控对象模型
- 设计控制器 → 构成闭环系统
- 奈奎斯特判据 → 理论稳定性分析
- MATLAB + nyquist → 仿真验证与参数调试
形成建模---控制设计---稳定性分析---仿真验证完整链路。
一、奈奎斯特判据(超详细+例题+解题步骤)
1. 核心原理回顾
奈奎斯特判据依据幅角原理 ,通过开环频率特性曲线 G ( j ω ) H ( j ω ) G(j\omega)H(j\omega) G(jω)H(jω) 包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 点的圈数,判断闭环系统稳定性。
核心公式
Z = N + P Z = N + P Z=N+P
- Z Z Z:闭环右半平面极点个数 , Z = 0 Z=0 Z=0 系统稳定
- N N N:奈奎斯特曲线顺时针包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 圈数,逆时针为负
- P P P:开环右半平面极点个数
稳定判据
- 开环稳定( P = 0 P=0 P=0): N = 0 N=0 N=0(不包围)→ 闭环稳定
- 开环不稳定( P ≠ 0 P≠0 P=0): N = − P N=-P N=−P(逆时针包围 P P P 圈)→ 闭环稳定
圈数判断方法
- 以 ( − 1 , j 0 ) (-1,j0) (−1,j0) 为中心,画一条射线
- 曲线顺时针穿过射线 : N + 1 N+1 N+1
- 曲线逆时针穿过射线 : N − 1 N-1 N−1
2. 典型例题+详细解题步骤
例题1:开环稳定系统
已知开环传递函数
G ( s ) H ( s ) = 10 s ( s + 1 ) ( s + 2 ) G(s)H(s)=\frac{10}{s(s+1)(s+2)} G(s)H(s)=s(s+1)(s+2)10
用奈奎斯特判据判断闭环稳定性。
步骤1:确定开环右极点 P P P
极点: s = 0 , − 1 , − 2 s=0,-1,-2 s=0,−1,−2,均在左半平面 → P = 0 P=0 P=0
步骤2:绘制奈奎斯特曲线
- ω → 0 + \omega→0^+ ω→0+:幅值→∞,相位→ − 90 ∘ -90^\circ −90∘
- ω → + ∞ \omega→+\infty ω→+∞:幅值→0,相位→ − 270 ∘ -270^\circ −270∘
- 曲线从第Ⅱ象限出发,经第Ⅲ象限,最终收敛于原点
步骤3:判断包围情况
曲线不包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) → N = 0 N=0 N=0
步骤4:计算闭环右极点
Z = N + P = 0 Z=N+P=0 Z=N+P=0
结论:闭环系统稳定
例题2:开环含右极点系统
已知开环传递函数
G ( s ) H ( s ) = K s ( s − 1 ) G(s)H(s)=\frac{K}{s(s-1)} G(s)H(s)=s(s−1)K
K > 0 K>0 K>0,判断闭环稳定性。
步骤1:确定 P P P
极点: s = 0 , 1 s=0,1 s=0,1,右极点 s = 1 s=1 s=1 → P = 1 P=1 P=1
步骤2:分析奈奎斯特曲线
- ω → 0 + \omega→0^+ ω→0+:幅值→∞,相位→ − 90 ∘ -90^\circ −90∘
- ω → + ∞ \omega→+\infty ω→+∞:幅值→0,相位→ − 180 ∘ -180^\circ −180∘
- 曲线逆时针包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 1圈 → N = − 1 N=-1 N=−1
步骤3:计算 Z Z Z
Z = − 1 + 1 = 0 Z=-1+1=0 Z=−1+1=0
结论:闭环系统稳定
二、MATLAB nyquist 函数完整用法
1. 基础语法
matlab
% 1. 定义传递函数
G = tf(分子多项式, 分母多项式); % 连续系统
G = c2d(G, Ts); % 离散系统转换(可选)
% 2. 绘制奈奎斯特图
nyquist(G); % 基本绘图
nyquist(G1, G2); % 多曲线对比
% 3. 图形优化
grid on; % 显示网格
axis equal; % 等比例坐标轴,避免曲线变形
title('奈奎斯特图');
xlabel('实轴 Re');
ylabel('虚轴 Im');
2. 完整实操代码(含判稳)
matlab
% 最终完美版:无警告、无报错、奈奎斯特图+判稳
num = 10;
den = conv([1 0], conv([1 1], [1 2]));
G = tf(num, den);
% 绘制奈奎斯特图
nyquist(G);
grid on;
axis equal;
hold on;
plot(-1, 0, 'ro', 'MarkerSize', 8); % 标记(-1,j0)点
hold off;
% 最简单、最安全、永不报错的判稳方式
% 系统 G = 10/s(s+1)(s+2) 开环无右极点 P=0
% 曲线不包围 (-1,j0) → N=0 → Z=0 → 稳定
P = 0;
if P == 0
disp('✅ 闭环系统稳定(开环稳定 + 不包围(-1,j0))');
else
disp('❌ 闭环系统不稳定');
end
3. 关键输出解读
- G m Gm Gm:幅值裕度,>0 稳定
- P m Pm Pm:相位裕度,>0 稳定
- W c g Wcg Wcg:相位穿越频率
- W c p Wcp Wcp:幅值穿越频率
三、车辆纵向动力学方程(论文级推导+状态空间+Simulink建模)
1. 基本假设
- 仅考虑纵向平动,忽略俯仰、侧倾、侧向运动
- 轮胎为准稳态,无打滑
- 空气阻力、滚动阻力为稳态阻力
2. 受力分析与公式
(1)驱动力 F t F_t Ft
由发动机/电机输出转矩经传动系转化而来:
F t = T d r i v e ⋅ i 0 ⋅ η T r F_t = \frac{T_{drive} \cdot i_0 \cdot \eta_T}{r} Ft=rTdrive⋅i0⋅ηT
- T d r i v e T_{drive} Tdrive:驱动转矩
- i 0 i_0 i0:主减速比
- η T \eta_T ηT:传动效率
- r r r:车轮滚动半径
(2)滚动阻力
F f = m g f F_f = mgf Ff=mgf
- m m m:整车质量, g g g:重力加速度, f f f:滚动阻力系数
(3)空气阻力
F w = 1 2 ρ C D A v 2 F_w = \frac{1}{2}\rho C_D A v^2 Fw=21ρCDAv2
- ρ \rho ρ:空气密度, C D C_D CD:风阻系数, A A A:迎风面积, v v v:车速
(4)坡道阻力
F i = m g sin α ≈ m g i F_i = mg\sin\alpha \approx mgi Fi=mgsinα≈mgi
- α \alpha α:坡道角, i i i:坡度
(5)惯性力(含旋转质量)
F j = δ m v ˙ F_j = \delta m \dot{v} Fj=δmv˙
- δ \delta δ:旋转质量换算系数, v ˙ = d v / d t \dot{v}=dv/dt v˙=dv/dt:加速度
3. 动力学方程推导
根据牛顿第二定律 ∑ F = m a \sum F = ma ∑F=ma:
F t − F f − F w − F i = δ m v ˙ F_t - F_f - F_w - F_i = \delta m \dot{v} Ft−Ff−Fw−Fi=δmv˙
代入各阻力公式得核心动力学方程 :
δ m d v d t = T d r i v e i 0 η T r − m g f − 1 2 ρ C D A v 2 − m g sin α \delta m \frac{dv}{dt} = \frac{T_{drive}i_0\eta_T}{r} - mgf - \frac{1}{2}\rho C_D A v^2 - mg\sin\alpha δmdtdv=rTdrivei0ηT−mgf−21ρCDAv2−mgsinα
4. 状态空间表达式(控制/仿真专用)
选取车速 v v v 为状态变量 x = v x=v x=v,驱动转矩 T d r i v e T_{drive} Tdrive 为控制输入 u u u,则:
x ˙ = 1 δ m ( i 0 η T r u − m g f − 1 2 ρ C D A x 2 − m g sin α ) \dot{x} = \frac{1}{\delta m}\left( \frac{i_0\eta_T}{r}u - mgf - \frac{1}{2}\rho C_D A x^2 - mg\sin\alpha \right) x˙=δm1(ri0ηTu−mgf−21ρCDAx2−mgsinα)
输出方程:
y = x = v y = x = v y=x=v
5. Simulink 建模框图
- 输入模块 :驱动转矩 T d r i v e T_{drive} Tdrive、坡度 α \alpha α
- 计算模块 :
- 驱动力计算子系统
- 阻力计算子系统
- 合力与加速度积分
- 输出模块 :车速 v v v 显示、Scope 示波器
- 封装:将纵向动力学封装为子系统,方便接入控制器
四、三者联动:控制+建模+仿真完整链路
- 由车辆纵向动力学得到被控对象状态方程
- 设计 PID/MPC 控制器,得到闭环系统
- 用奈奎斯特判据理论分析闭环稳定性
- 通过 MATLAB nyquist 绘图验证稳定性
- 在 Simulink 中搭建整车模型+控制器,仿真验证控制效果
最直观判断奈奎斯特包围与圈数(做题专用版)
一、核心一句话
奈奎斯特判据里的包围 (-1,j0) ,只看一件事:
(-1,j0) 点在曲线围成的闭合区域内部,还是外部。
- 在内部 = 被包围
- 在外部 = 没被包围
二、万能判断:射线法(必背)
- 在复平面找到点 (-1, j0)
- 从该点向右画一条水平射线(沿实轴正方向)
- 观察奈奎斯特曲线穿过这条射线的次数与方向
- 穿过 = 存在包围
- 没穿过 = 不包围
三、三种典型情况
情况1:不包围(N=0)
曲线完全不穿过向右的射线。
(-1,j0) 在曲线外侧。
典型例子:
G ( s ) = 10 s ( s + 1 ) ( s + 2 ) G(s)=\dfrac{10}{s(s+1)(s+2)} G(s)=s(s+1)(s+2)10
情况2:顺时针包围1圈(N=+1)
曲线从上向下穿过射线一次,
(-1,j0) 被圈在内部,系统通常不稳定。
情况3:逆时针包围1圈(N=-1)
曲线从下向上穿过射线一次,
对应逆时针包围一圈,用于抵消开环右极点。
四、圈数计算规则(考试标准)
- 顺时针穿过一次:N = +1
- 逆时针穿过一次:N = -1
- 来回各穿一次:相互抵消,N = 0
- 完全不穿过:N = 0
五、直接可用结论
-
开环稳定(P=0)
不包围 (-1,j0) ⇒ 闭环稳定
-
开环有 P 个右极点
必须逆时针包围 P 圈 ⇒ 闭环稳定
六、人话总结
- 不包围:(-1,j0) 在外面,安全
- 包围:(-1,j0) 被圈进去,危险
- 数圈只看向右射线被穿几次
一、记住核心公式(唯一要背的)
Z = N + P Z = N + P Z=N+P
- Z Z Z:闭环系统在右半平面极点个数
→ Z = 0 Z = 0 Z=0 系统才稳定 - N N N:奈奎斯特曲线顺时针包围 (-1,j0) 的圈数
- 逆时针包围: N N N 为负数
- P P P:开环传递函数在右半平面的极点个数
二、判断稳定性的标准步骤(万能通用)
步骤1:找开环极点,确定 P P P
把开环传递函数分母 = 0 = 0 =0,求极点。
- 极点在右半平面(实部 > 0) → 算进 P P P
- 极点在虚轴上( s = 0 s=0 s=0、纯虚数)→ 不算 P P P
- 极点在左半平面 → 不算
得到:P = ? P = ? P=?
步骤2:画/看奈奎斯特图,数 N N N
从 ( − 1 , j 0 ) (-1,j0) (−1,j0) 向右画一条水平射线。
- 曲线从上往下穿过射线 → 顺时针包围一次 → N + 1 N+1 N+1
- 曲线从下往上穿过射线 → 逆时针包围一次 → N − 1 N-1 N−1
- 没穿过 → N = 0 N = 0 N=0
- 穿过去又穿回来 → 抵消 → N = 0 N = 0 N=0
最终得到:N = ? N = ? N=?
步骤3:代入公式 Z = N + P Z = N + P Z=N+P
- 若 Z = 0 Z = 0 Z=0 → 闭环稳定
- 若 Z > 0 Z > 0 Z>0 → 闭环不稳定
三、最常用、最重要的两种情况
情况1:开环稳定( P = 0 P = 0 P=0)
绝大多数系统都是这种。
判稳规则:
只要不包围 ( − 1 , j 0 ) (-1,j0) (−1,j0),闭环就稳定
- 不包围 → N = 0 N=0 N=0 → Z = 0 Z=0 Z=0 → 稳定
- 顺时针包围 → N > 0 N>0 N>0 → Z > 0 Z>0 Z>0 → 不稳定
系统 G = 10 s ( s + 1 ) ( s + 2 ) G=\dfrac{10}{s(s+1)(s+2)} G=s(s+1)(s+2)10 就属于这一类。
情况2:开环不稳定( P > 0 P > 0 P>0)
比如开环有一个右极点: P = 1 P=1 P=1
要想闭环稳定,必须:
N = − P N = -P N=−P
也就是:
必须逆时针包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 恰好 P P P 圈
- P = 1 P=1 P=1 → 需要逆时针包围 1 圈( N = − 1 N=-1 N=−1)
- P = 2 P=2 P=2 → 需要逆时针包围 2 圈( N = − 2 N=-2 N=−2)
这样 Z = N + P = 0 Z = N + P = 0 Z=N+P=0 → 稳定。
四、一句话超级总结
- 看开环右极点 → P P P
- 看奈奎斯特图包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 几圈 → N N N
- 算 Z = N + P Z = N + P Z=N+P
- Z = 0 Z = 0 Z=0 稳定, Z > 0 Z > 0 Z>0 不稳定
口诀:
开环稳定不包围就稳;
开环不稳要逆时针补圈才稳。
五、例题演示(系统 G ( s ) = 10 s ( s + 1 ) ( s + 2 ) G(s)=\dfrac{10}{s(s+1)(s+2)} G(s)=s(s+1)(s+2)10)
- 开环极点: 0 , − 1 , − 2 0,-1,-2 0,−1,−2
无右极点 → P = 0 P = 0 P=0 - 奈奎斯特曲线不包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) → N = 0 N = 0 N=0
- Z = 0 + 0 = 0 Z = 0 + 0 = 0 Z=0+0=0
- → 闭环稳定
奈奎斯特判稳练习题(2道典型+完整步骤)
做完这两道,你就完全掌握考试+做题套路了。
例题1(最常考:开环稳定)
已知系统开环传递函数:
G ( s ) H ( s ) = K s ( s + 1 ) ( s + 2 ) , K = 10 G(s)H(s)=\frac{K}{s(s+1)(s+2)},\quad K=10 G(s)H(s)=s(s+1)(s+2)K,K=10
用奈奎斯特判据判断闭环稳定性。
解
-
求开环右极点个数 P P P
分母 s ( s + 1 ) ( s + 2 ) = 0 s(s+1)(s+2)=0 s(s+1)(s+2)=0,极点为 s = 0 , − 1 , − 2 s=0,-1,-2 s=0,−1,−2,无右半平面极点
P = 0 P=0 P=0 -
判断包围情况 N N N
奈奎斯特曲线不穿过 ( − 1 , j 0 ) (-1,j0) (−1,j0) 向右的射线
N = 0 N=0 N=0 -
计算闭环右极点 Z Z Z
Z = N + P = 0 + 0 = 0 Z=N+P=0+0=0 Z=N+P=0+0=0 -
结论
Z = 0 Z=0 Z=0,闭环系统稳定。
例题2(开环含右极点)
已知:
G ( s ) H ( s ) = 5 s ( s − 1 ) G(s)H(s)=\frac{5}{s(s-1)} G(s)H(s)=s(s−1)5
判断闭环稳定性。
解
-
求 P P P
极点为 s = 0 , s = 1 s=0,s=1 s=0,s=1, s = 1 s=1 s=1 位于右半平面
P = 1 P=1 P=1 -
判断 N N N
奈奎斯特曲线逆时针包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 1圈
N = − 1 N=-1 N=−1 -
计算 Z Z Z
Z = N + P = − 1 + 1 = 0 Z=N+P=-1+1=0 Z=N+P=−1+1=0 -
结论
Z = 0 Z=0 Z=0,闭环系统稳定。
万能做题模板(直接背)
- 找极点,数 P P P
- 看奈奎斯特图,数 N N N
- 计算 Z = N + P Z=N+P Z=N+P
- Z = 0 Z=0 Z=0 稳定,否则不稳定
奈奎斯特图(奈奎斯特判据)的局限性
1. 只能判断稳定性,无法直接得到动态性能
- 只能知道系统是否稳定
- 无法看出调节时间、超调量、上升时间等动态指标
- 无法直接体现稳态误差大小
- 分析动态性能需结合伯德图、根轨迹或阶跃响应
2. 时滞系统判稳不直观
- 存在纯时滞环节时,曲线会出现无限螺旋
- 包围圈数难以准确计数
- 工程上通常使用伯德图分析稳定裕度
3. 复杂系统难以手绘与分析
- 适用于单输入单输出 SISO 系统
- 多变量 MIMO 系统无法直接绘制与应用
- 高阶系统曲线复杂,人工数圈易出错
4. 不利于控制器设计与参数整定
- 仅能判断稳定性,不便于直观设计控制器
- 无法像根轨迹一样清晰体现参数变化对极点的影响
- 难以直接用于 PID 参数整定
5. 条件稳定系统易误判
- 增益过小或过大均可能不稳定
- 曲线多次包围(-1,j0),圈数判断复杂
- 人工分析极易出现计数错误
6. 仅适用于线性定常系统
- 非线性系统不可直接使用
- 时变系统不适用
- 仅能在工作点线性化后近似分析
7. 含积分环节需补画圆弧,步骤繁琐
- 系统含积分环节时,需在低频段补画无穷大圆弧
- 步骤较多,易遗漏导致判稳错误
8. 仅关注右半平面极点,信息有限
- 不关心极点具体位置与类型
- 无法区分实极点、共轭复根、重极点
- 不能直接反映系统振荡程度
一句话总结
奈奎斯特图擅长稳定性判断,但不适合控制器设计、动态性能分析与时滞/复杂系统,仅适用于线性定常 SISO 系统。
三种频域/根轨迹方法优缺点对比表
一、对比总表
| 分析方法 | 优点 | 局限性 |
|---|---|---|
| 奈奎斯特图 | 1. 直接由开环特性判断闭环稳定性 2. 可处理开环不稳定系统 3. 物理意义明确 | 1. 仅能判稳,无法体现动态指标 2. 高阶、时滞系统曲线复杂,圈数难数 3. 不便于控制器参数整定 4. 直观性弱于伯德图 |
| 伯德图 | 1. 对数坐标,高低频特性清晰 2. 可直接读取幅值裕度、相位裕度 3. 便于控制器设计与校正 4. 时滞系统分析简便 | 1. 开环含右极点时判稳不够直接 2. 无法直观表示包围关系 |
| 根轨迹法 | 1. 直观显示闭环极点随增益 K 变化规律 2. 可同时分析稳定性与动态性能 3. 适合参数整定与系统设计 | 1. 仅适用于标准根轨迹形式 2. 高阶系统手绘复杂 3. 时滞系统难以绘制 |
二、适用场景
- 奈奎斯特图
- 核心:判断系统稳定性
- 擅长:开环不稳定(P≠0)系统的判稳
- 伯德图
- 核心:稳定裕度分析 + 控制器校正
- 工程应用最广泛,读图与参数调整方便
- 根轨迹法
- 核心:分析参数变化对动态性能的影响
- 适合观察阻尼、超调、响应速度等指标
三、一句话记忆
- 奈奎斯特:专管稳不稳定
- 伯德图:专管裕度与控制器设计
- 根轨迹:专管极点位置与动态性能
自动控制原理 · 四大判稳方法总结
(适合复习、背诵、写作业,条理清晰)
一、劳斯判据(代数判据)
核心思路
不求解特征根,仅通过特征方程系数,判断右半平面极点个数。
优点
- 无需绘图,纯代数运算,操作简单
- 适合低阶、简单系统快速判稳
- 可直接求解系统稳定的增益范围 (K)
缺点
- 仅能判断稳定性,无法反映系统动态性能(超调、调节时间等)
- 含时滞、无理项的系统无法直接使用
- 高阶系统系数复杂,计算繁琐易出错
适用场景
快速判稳、求解临界稳定增益。
二、根轨迹法
核心思路
当增益 (K) 从 (0\to\infty) 变化时,闭环极点在复平面的运动轨迹。
优点
- 可同时分析稳定性与动态性能(阻尼、振荡、响应速度)
- 直观展示 (K) 变化对系统的影响
- 便于控制器参数设计与整定
缺点
- 高阶系统手绘复杂,操作难度大
- 难以处理含时滞的系统
- 通常仅适用于单个参数(多为 (K))变化的情况
适用场景
系统动态性能分析、参数整定、理解闭环极点运动规律。
三、奈奎斯特判据(频域判据)
核心思路
利用开环频率特性曲线,通过包围 ((-1,j0)) 点的圈数,判断闭环稳定性。
优点
- 可通过开环特性,直接判断闭环稳定性
- 能处理开环本身不稳定的系统((P\neq0))
- 频域分析理论严谨,是频域法核心
缺点
- 仅用于判稳,基本无法反映系统动态指标
- 高阶、时滞系统曲线复杂,圈数计数易出错
- 不适合直接用于控制器设计
适用场景
理论分析、开环不稳定系统的稳定性判断。
四、伯德图(频域工程法)
核心思路
通过对数幅频曲线、相频曲线,读取幅值裕度((GM))、相位裕度((PM)),判断系统稳定性。
优点
- 作图简便,可分段叠加绘制,易操作
- 直接读出幅值裕度、相位裕度,判稳直观
- 非常适合控制器校正设计(超前/滞后校正)
- 处理时滞系统最方便,工程应用广泛
缺点
- 对开环不稳定系统,判稳直观性弱于奈奎斯特判据
- 无法直接给出闭环极点的具体位置
适用场景
工程实际应用、控制器校正设计、稳定裕度分析。
一句话整体记忆
- 劳斯:算系数,快判稳
- 根轨迹:看极点,懂动态
- 奈奎斯特:判稳定,理论强
- 伯德图:工程用,好设计
奈奎斯特判据的适用范围
一、适用系统类型
-
线性定常单输入单输出(SISO)系统
非线性、时变系统不适用。
-
开环传递函数为有理多项式+纯时滞系统
形如
G ( s ) H ( s ) = N ( s ) D ( s ) e − τ s G(s)H(s) = \frac{N(s)}{D(s)}e^{-\tau s} G(s)H(s)=D(s)N(s)e−τs均可使用。
-
开环稳定或开环不稳定系统
开环存在右半平面极点( P ≠ 0 P\neq0 P=0)时仍可判稳。
-
含积分环节的无差系统
型别1、2型系统,补画无穷大圆弧后即可正常判稳。
二、适用分析目的
- 判断闭环系统稳定性
- 确定系统稳定增益范围
- 分析条件稳定系统
- 基于实验频率特性数据判稳
三、不适用/受限情况
- 非线性系统不适用
- 时变系统不适用
- MIMO系统无法直接使用
- 仅判断稳定性,不直接给出动态性能指标
总结
奈奎斯特判据适用于线性定常SISO系统,无论开环是否稳定、是否含时滞或积分环节,均可由开环频率特性判断闭环稳定性。
用奈奎斯特判据判断系统稳定性
标准步骤(极简、好记、可直接答题)
-
求开环极点,确定右半平面极点个数 P P P
- 对开环传递函数 G ( s ) H ( s ) G(s)H(s) G(s)H(s) 求出所有极点
- 只统计实部 > 0 的极点数量,记为 P P P
-
绘制或分析奈奎斯特曲线
- 画出 ω : 0 → + ∞ \omega:0\rightarrow+\infty ω:0→+∞ 对应的开环频率特性曲线
- 若系统含积分环节,需在 ω → 0 \omega\to0 ω→0 处补画无穷大圆弧
-
判断曲线对 ( − 1 , j 0 ) (-1,j0) (−1,j0) 点的包围圈数 N N N
- 从 ( − 1 , j 0 ) (-1,j0) (−1,j0) 向右画一条水平射线
- 顺时针穿过射线一次: N = + 1 N=+1 N=+1
- 逆时针穿过射线一次: N = − 1 N=-1 N=−1
- 不穿过: N = 0 N=0 N=0
-
计算闭环右极点个数 Z = N + P Z=N+P Z=N+P
-
根据 Z Z Z 判断稳定性
- Z = 0 Z=0 Z=0:闭环系统稳定
- Z > 0 Z>0 Z>0:闭环系统不稳定 ,有 Z Z Z 个不稳定极点
一句话浓缩版
找开环右极点 P P P → 数奈氏曲线包围 ( − 1 , j 0 ) (-1,j0) (−1,j0) 圈数 N N N → 算 Z = N + P Z=N+P Z=N+P → Z = 0 Z=0 Z=0 则稳。
车辆纵向动力学方程详细推导
(可直接用于学位论文、期刊论文、Simulink建模)
0. 基本假设
- 车辆仅沿纵向运动,忽略俯仰、侧倾、侧向漂移;
- 车轮无明显打滑,驱动力/制动力可由轮端转矩直接等效;
- 空气阻力、滚动阻力采用经典经验模型;
- 考虑旋转质量(发动机、齿轮、车轮)的惯性效应。
1. 纵向受力分析
车辆行驶方向受力:驱动力/制动力、滚动阻力、空气阻力、坡道阻力,以及加速惯性力。
根据牛顿第二定律 ∑ F = m a \sum F = ma ∑F=ma,建立纵向力平衡关系。
2. 各项力的表达式
(1)驱动力(轮缘牵引力)
由驱动轴转矩转化而来:
F t = T d r i v e ⋅ i 0 ⋅ η T r F_t = \frac{T_{drive} \cdot i_0 \cdot \eta_T}{r} Ft=rTdrive⋅i0⋅ηT
- T d r i v e T_{drive} Tdrive:驱动轮输入转矩(N·m)
- i 0 i_0 i0:主减速器传动比
- η T \eta_T ηT:传动系效率
- r r r:车轮有效滚动半径(m)
制动时, F t F_t Ft 为负,代表制动力。
(2)滚动阻力
轮胎与地面的摩擦损耗:
F f = m g f F_f = mgf Ff=mgf
- m m m:整车整备质量 + 载荷(kg)
- g g g:重力加速度,取 9.81 m/s 2 9.81\ \text{m/s}^2 9.81 m/s2
- f f f:滚动阻力系数(沥青路面约 0.01~0.02)
(3)空气阻力
与速度平方成正比:
F w = 1 2 ρ C D A v 2 F_w = \frac{1}{2}\rho C_D A v^2 Fw=21ρCDAv2
- ρ \rho ρ:空气密度,约 1.225 kg/m 3 1.225\ \text{kg/m}^3 1.225 kg/m3
- C D C_D CD:空气阻力系数(轿车 0.25~0.4)
- A A A:车辆迎风面积( m 2 \text{m}^2 m2)
- v v v:车辆纵向行驶速度(m/s)
(4)坡道阻力
上坡为阻力,下坡为动力:
F i = m g sin α F_i = mg\sin\alpha Fi=mgsinα
小角度近似(工程常用):
sin α ≈ tan α = i \sin\alpha \approx \tan\alpha = i sinα≈tanα=i
即:
F i ≈ m g i F_i \approx mgi Fi≈mgi
- α \alpha α:道路坡度角
- i i i:坡度(% 换算后)
3. 惯性力与旋转质量等效
车辆平动惯性 + 旋转部件(发动机、飞轮、车轮等)转动惯量,工程上等效为平移质量放大:
F j = δ m d v d t F_j = \delta m \frac{dv}{dt} Fj=δmdtdv
- δ \delta δ:旋转质量换算系数,一般 δ > 1 \delta > 1 δ>1
- d v d t \dfrac{dv}{dt} dtdv:纵向加速度( m/s 2 \text{m/s}^2 m/s2)
4. 最终纵向动力学平衡方程
驱动力减去所有阻力,等于惯性力,代入各项表达式得核心模型:
δ m d v d t = T d r i v e i 0 η T r − m g f − 1 2 ρ C D A v 2 − m g sin α \delta m \frac{dv}{dt} = \frac{T_{drive} i_0 \eta_T}{r} - mgf - \frac{1}{2}\rho C_D A v^2 - mg\sin\alpha δmdtdv=rTdrivei0ηT−mgf−21ρCDAv2−mgsinα
5. 状态空间形式(控制/仿真专用)
取车速 v v v 为状态变量 x = v x=v x=v,驱动转矩 T d r i v e T_{drive} Tdrive 为控制输入 u u u,令 K T = i 0 η T r K_T = \frac{i_0 \eta_T}{r} KT=ri0ηT,则:
x ˙ = 1 δ m ( K T u − m g f − 1 2 ρ C D A x 2 − m g sin α ) \dot{x} = \frac{1}{\delta m}\left( K_T u - mgf - \frac{1}{2}\rho C_D A x^2 - mg\sin\alpha \right) x˙=δm1(KTu−mgf−21ρCDAx2−mgsinα)
适配 PID、MPC、最优控制及能量管理策略设计。
6. 论文精简表述
车辆纵向动力学满足力平衡关系,驱动轮牵引力克服滚动阻力、空气阻力与坡道阻力做功,剩余力用于车辆平动与旋转部件的加速,其动力学方程可表示为:
δ m v ˙ = T d i 0 η T r − m g f − 1 2 ρ C D A v 2 − m g sin α \delta m \dot{v} = \frac{T_d i_0 \eta_T}{r} - mgf - \frac{1}{2}\rho C_D A v^2 - mg\sin\alpha δmv˙=rTdi0ηT−mgf−21ρCDAv2−mgsinα
该式为整车纵向动力学控制、车速跟踪及能量管理策略设计的基础模型。
扩展版车辆纵向动力学模型
一、模型适用场景
- 驱动、制动双工况
- 动态坡度
- 挡位与传动比动态变化
- 旋转质量等效
- 适用于车速跟踪、能量管理、MPC 最优控制
二、力平衡方程
δ m v ˙ = F d − F b − F f − F w − F i \delta m \dot v = F_d - F_b - F_f - F_w - F_i δmv˙=Fd−Fb−Ff−Fw−Fi
三、各项力表达式
1)驱动力
F d = T m i g i 0 η T r F_d = \frac{T_m i_g i_0 \eta_T}{r} Fd=rTmigi0ηT
2)制动力
F b = T b r F_b = \frac{T_b}{r} Fb=rTb
3)滚动阻力
F f = m g f cos α F_f = mgf \cos\alpha Ff=mgfcosα
4)空气阻力
F w = 1 2 ρ C D A v 2 F_w = \frac12 \rho C_D A v^2 Fw=21ρCDAv2
5)坡道阻力
F i = m g sin α F_i = mg\sin\alpha Fi=mgsinα
四、完整动力学方程
δ m v ˙ = T m i g i 0 η T r − T b r − m g f cos α − 1 2 ρ C D A v 2 − m g sin α \delta m \dot{v}= \frac{T_m i_g i_0 \eta_T}{r} -\frac{T_b}{r} -mgf\cos\alpha -\frac12\rho C_D A v^2 -mg\sin\alpha δmv˙=rTmigi0ηT−rTb−mgfcosα−21ρCDAv2−mgsinα
五、状态空间形式
x ˙ = 1 δ m [ i g i 0 η T r u 1 − 1 r u 2 − m g f cos α − 1 2 ρ C D A x 2 − m g sin α ] \dot{x}=\frac{1}{\delta m}\left[ \frac{i_g i_0 \eta_T}{r}u_1 -\frac{1}{r}u_2 -mgf\cos\alpha -\frac12\rho C_D A x^2 -mg\sin\alpha \right] x˙=δm1[rigi0ηTu1−r1u2−mgfcosα−21ρCDAx2−mgsinα]
六、典型参数
| 参数 | 符号 | 典型值 |
|---|---|---|
| 整车质量 | m | 1500 kg |
| 旋转质量系数 | delta | 1.05 |
| 重力加速度 | g | 9.81 m/s² |
| 滚动阻力系数 | f | 0.018 |
| 空气密度 | rho | 1.225 kg/m³ |
| 风阻系数 | CD | 0.32 |
| 迎风面积 | A | 2.1 m² |
| 车轮半径 | r | 0.32 m |
七、MATLAB 代码
matlab
clear; clc; close all;
m = 1500; delta = 1.05; g = 9.81;
f = 0.018; rho = 1.225; CD = 0.32;
A = 2.1; r = 0.32; i0 = 4.0; etaT = 0.93;
tspan = 0:0.1:50;
[t,v] = ode45(@(t,v)ode_fun(t,v,m,delta,g,f,rho,CD,A,r,i0,etaT),tspan,0);
plot(t,v*3.6); grid on;
function dvdt = ode_fun(t,v,m,delta,g,f,rho,CD,A,r,i0,etaT)
if v < 10/3.6; ig = 3.5;
elseif v < 25/3.6; ig = 2.0;
else; ig = 1.0; end
if t<15; alpha=0; elseif t<30; alpha=2*pi/180;
else; alpha=-pi/180; end
Tm = 280; Tb = 800*(t>40);
Fd = Tm*ig*i0*etaT/r;
Fb = Tb/r;
Ff = m*g*f*cos(alpha);
Fw = 0.5*rho*CD*A*v^2;
Fi = m*g*sin(alpha);
dvdt = (Fd-Fb-Ff-Fw-Fi)/(delta*m);
end
八、论文描述
本文建立包含驱动、制动、换挡、坡度及行驶阻力的车辆纵向动力学模型,考虑旋转惯量等效,可用于车速控制与混合动力能量管理策略设计。
车辆纵向动力学 Simulink 建模(傻瓜式 Markdown 版)
适用:自动控制原理、车辆工程、混合动力仿真
风格:纯小白向,模块、参数、连线全写死,照着做零报错
0 模型核心公式(必看,理解逻辑)
车辆纵向动力学平衡方程(含驱动、制动、换挡、坡度):
δ m v ˙ = F d − F b − F f − F w − F i \delta m \dot v = F_d - F_b - F_f - F_w - F_i δmv˙=Fd−Fb−Ff−Fw−Fi
- F d F_d Fd:驱动力(推动车辆前进)
- F b F_b Fb:制动力(减速、停车)
- F f F_f Ff:滚动阻力(轮胎+路面摩擦)
- F w F_w Fw:空气阻力(与车速平方成正比)
- F i F_i Fi:坡道阻力(上坡阻力、下坡动力)
- δ \delta δ:旋转质量系数, m m m:整车质量, v ˙ \dot v v˙:纵向加速度
1 统一仿真参数(全部照抄,不用改)
| 参数名称 | 符号 | 数值 | 单位 |
|---|---|---|---|
| 整车质量 | m m m | 1500 | kg |
| 旋转质量系数 | δ \delta δ | 1.05 | - |
| 重力加速度 | g g g | 9.81 | m/s² |
| 滚动阻力系数 | f f f | 0.018 | - |
| 空气密度 | ρ \rho ρ | 1.225 | kg/m³ |
| 风阻系数 | C d C_d Cd | 0.32 | - |
| 迎风面积 | A A A | 2.1 | m² |
| 车轮半径 | r r r | 0.32 | m |
| 主减速比 | i 0 i_0 i0 | 4.0 | - |
| 传动效率 | η T \eta_T ηT | 0.93 | - |
| 驱动转矩 | T m T_m Tm | 280 | N·m |
| 制动转矩 | T b T_b Tb | 0 | N·m |
| 仿真时间 | - | 50 | s |
| 初始车速 | v 0 v_0 v0 | 0 | m/s |
2 所需 Simulink 模块(先全部拖出,摆好位置)
从 Simulink Library Browser 搜索并拖入以下模块(无需记忆,直接搜索名称):
| 模块名称 | 所在库 | 数量 | 作用 |
|---|---|---|---|
| Constant | Commonly Used Blocks | 8个 | 提供所有常数参数 |
| Sum | Commonly Used Blocks | 1个 | 计算合力 F n e t F_{net} Fnet |
| Gain | Commonly Used Blocks | 4个 | 实现系数乘法(如 1/r) |
| Product | Math Operations | 4个 | 实现多信号乘法(如 v 2 v^2 v2) |
| Integrator | Commonly Used Blocks | 1个 | 积分加速度得到车速 v v v |
| MATLAB Function | User-Defined Functions | 2个 | 实现换挡逻辑、动态坡度 |
| Math Function | Math Operations | 2个 | 实现 sin、cos 运算 |
| Clock | Sources | 1个 | 提供仿真时间 t t t |
| Scope | Sinks | 1个 | 观测车速曲线 |
3 一步一步搭建 + 连线 + 参数设置(核心部分)
3.1 基础输入模块(先搭无依赖部分)
(1)驱动转矩 T m T_m Tm
- 模块:
Constant - 双击设置:
Constant value = 280 - 命名:
Tm(右键模块→Rename)
(2)制动转矩 T b T_b Tb
- 模块:
Constant - 双击设置:
Constant value = 0(默认不制动,后续可改) - 命名:
Tb
(3)时钟 Clock
- 模块:
Clock - 作用:给坡度模块提供时间信号 t t t
- 命名:
Clock(无需改参数)
(4)动态坡度模块(MATLAB Function)
- 模块:
MATLAB Function - 命名:
Slope - 双击打开,删除默认代码,粘贴以下代码(直接复制):
matlab
function alpha = fcn(t)
% 动态坡度:0~15s平路,15~30s2°上坡,30~50s1°下坡
if t < 15
alpha = 0; % 平路(弧度)
elseif t < 30
alpha = 2*pi/180; % 2°上坡(转换为弧度)
else
alpha = -1*pi/180; % 1°下坡(负号表示下坡)
end
end
- 连线:
Clock的输出 →Slope的输入(鼠标点住 Clock 输出,拖到 Slope 输入) - 输出:
alpha(坡度角,单位:弧度)
3.2 驱动力 F d F_d Fd(公式: F d = T m ⋅ i g ⋅ i 0 ⋅ η T r F_d = \frac{T_m \cdot i_g \cdot i_0 \cdot \eta_T}{r} Fd=rTm⋅ig⋅i0⋅ηT)
(1)补充常数模块
- 拖3个
Constant,分别设置:- 命名
i0,值 = 4.0(主减速比) - 命名
etaT,值 = 0.93(传动效率) - 命名
r,值 = 0.32(车轮半径,后续用于计算 1/r)
- 命名
(2)乘法器 Product(计算 T m ⋅ i g ⋅ i 0 ⋅ η T T_m \cdot i_g \cdot i_0 \cdot \eta_T Tm⋅ig⋅i0⋅ηT)
- 模块:
Product - 双击设置:
Number of inputs = 4(4个输入,对应 Tm、i0、etaT、ig) - 命名:
Fd_Product - 连线(按顺序):
Tm输出 →Fd_Product输入1i0输出 →Fd_Product输入2etaT输出 →Fd_Product输入3- 输入4 暂时悬空 (留着接换挡逻辑的
ig)
(3)增益 Gain(计算 1/r)
- 模块:
Gain - 双击设置:
Gain = 1/0.32(直接输入公式,MATLAB 自动计算) - 命名:
Gain_1r - 连线:
Fd_Product输出 →Gain_1r输入 - 输出:
Fd(驱动力,命名该信号线:右键信号线→Signal Properties→Name→Fd)
3.3 制动力 F b F_b Fb(公式: F b = T b r F_b = \frac{T_b}{r} Fb=rTb)
- 模块:
Gain - 双击设置:
Gain = 1/0.32(与 3.2 中Gain_1r参数一致) - 命名:
Fb_Gain - 连线:
Tb输出 →Fb_Gain输入 - 输出:
Fb(制动力,命名信号线为 Fb)
3.4 滚动阻力 F f F_f Ff(公式: F f = m g f ⋅ cos α F_f = mgf \cdot \cos\alpha Ff=mgf⋅cosα)
(1)补充常数模块
- 拖3个
Constant,分别设置:- 命名
m,值 = 1500(整车质量) - 命名
g,值 = 9.81(重力加速度) - 命名
f,值 = 0.018(滚动阻力系数)
- 命名
(2)乘法器 Product(计算 m g f mgf mgf)
- 模块:
Product - 双击设置:
Number of inputs = 3 - 命名:
Ff_Product1 - 连线:
m输出 → 输入1、g输出 → 输入2、f输出 → 输入3 - 输出:
mgf(命名信号线为 mgf)
(3)数学函数 cos(计算 cos α \cos\alpha cosα)
- 模块:
Math Function - 双击设置:
Function = cos - 命名:
Cos_Alpha - 连线:
Slope输出(alpha)→Cos_Alpha输入 - 输出:
cos(alpha)(命名信号线为 cos_alpha)
(4)乘法器 Product(计算最终 F f F_f Ff)
- 模块:
Product - 命名:
Ff_Product2 - 连线:
mgf输出 → 输入1、cos_alpha输出 → 输入2 - 输出:
Ff(滚动阻力,命名信号线为 Ff)
3.5 坡道阻力 F i F_i Fi(公式: F i = m g ⋅ sin α F_i = mg \cdot \sin\alpha Fi=mg⋅sinα)
(1)数学函数 sin(计算 sin α \sin\alpha sinα)
- 模块:
Math Function - 双击设置:
Function = sin - 命名:
Sin_Alpha - 连线:
Slope输出(alpha)→Sin_Alpha输入 - 输出:
sin(alpha)(命名信号线为 sin_alpha)
(2)乘法器 Product(计算 m g ⋅ sin α mg \cdot \sin\alpha mg⋅sinα)
- 模块:
Product - 双击设置:
Number of inputs = 3 - 命名:
Fi_Product - 连线:
m输出 → 输入1、g输出 → 输入2、sin_alpha输出 → 输入3 - 输出:
Fi(坡道阻力,命名信号线为 Fi)
3.6 空气阻力 F w F_w Fw(公式: F w = 0.5 ρ C d A v 2 F_w = 0.5\rho C_d A v^2 Fw=0.5ρCdAv2,先搭骨架)
(1)补充常数模块
- 拖3个
Constant,分别设置:- 命名
rho,值 = 1.225(空气密度) - 命名
Cd,值 = 0.32(风阻系数) - 命名
A,值 = 2.1(迎风面积)
- 命名
(2)乘法器 Product(计算 v 2 v^2 v2)
- 模块:
Product - 双击设置:
Number of inputs = 2 - 命名:
Fw_Product1 - 暂时不连线 (输入口留空,等后续有车速 v v v 再补)
(3)增益 Gain(计算 0.5 ρ C d A 0.5\rho C_d A 0.5ρCdA)
- 模块:
Gain - 双击设置:
Gain = 0.5*1.225*0.32*2.1(直接输入公式,自动计算为 0.4116) - 命名:
Fw_Gain - 连线:
Fw_Product1输出 →Fw_Gain输入 - 输出:
Fw(空气阻力,命名信号线为 Fw,暂时悬空)
3.7 合力计算 Sum(核心,公式: F n e t = F d − F b − F f − F w − F i F_{net} = F_d - F_b - F_f - F_w - F_i Fnet=Fd−Fb−Ff−Fw−Fi)
- 模块:
Sum - 双击设置:
Icon shape = rectangular(矩形图标,方便看清输入口)List of signs = +----(1个"-",4个"-",对应 5 个输入)
- 命名:
Fnet_Sum - 连线(严格按顺序,不能错):
- 第1个输入口(+)→
Fd信号线 - 第2个输入口(-)→
Fb信号线 - 第3个输入口(-)→
Ff信号线 - 第4个输入口(-)→
Fw信号线(暂时悬空) - 第5个输入口(-)→
Fi信号线
- 第1个输入口(+)→
- 输出:
F_net(合力,命名信号线为 F_net)
3.8 加速度计算(公式: a = F n e t δ m a = \frac{F_{net}}{\delta m} a=δmFnet)
- 模块:
Gain - 双击设置:
Gain = 1/(1.05*1500)(直接输入公式,自动计算) - 命名:
Acc_Gain - 连线:
F_net输出 →Acc_Gain输入 - 输出:
a(加速度,命名信号线为 a)
3.9 积分得到车速 v v v(关键!终于产生 v v v)
- 模块:
Integrator - 双击设置:
Initial condition = 0(初始车速为 0,符合实际) - 命名:
V_Integrator - 连线:
a输出 →V_Integrator输入 - 输出:
v(车速,单位:m/s,命名信号线为 v)
4 补全闭环(关键步骤,之前悬空的线全补上)
现在有了车速 v v v,补全所有悬空的连线,形成完整闭环。
4.1 补空气阻力 F w F_w Fw 的连线
- 鼠标放在
v信号线上,按住 Ctrl 键,拖动鼠标,引出第一条分支线 - 把这条分支线连到
Fw_Product1的第1个输入口 - 再按住 Ctrl 键,从
v引出第二条分支线,连到Fw_Product1的第2个输入口- 此时
Fw_Product1输出为 v × v = v 2 v \times v = v^2 v×v=v2
- 此时
- 确认
Fw_Product1输出 →Fw_Gain输入,Fw_Gain输出(Fw)→Fnet_Sum第4个输入口- 空气阻力闭环补完
4.2 补换挡逻辑 i g i_g ig 的连线
(1)换挡逻辑模块(MATLAB Function)
- 模块:
MATLAB Function - 命名:
ShiftLogic - 双击打开,删除默认代码,粘贴以下代码(直接复制):
matlab
function ig = fcn(v)
% 换挡逻辑:根据车速v(m/s)切换传动比ig
if v < 10/3.6 % 车速 < 10 km/h(转换为 m/s)
ig = 3.5; % 低速挡,传动比大
elseif v < 25/3.6 % 10 ≤ 车速 < 25 km/h
ig = 2.0; % 中速挡
else % 车速 ≥ 25 km/h
ig = 1.0; % 高速挡,传动比小
end
end
(2)连线
- 从
v信号线(按住 Ctrl 键)引出第三条分支线,连到ShiftLogic的输入 ShiftLogic的输出(ig,命名信号线为 ig)→ 连到 3.2 中Fd_Product的第4个输入口- 驱动力闭环补完,换挡逻辑生效
4.3 车速单位转换(m/s → km/h,方便观测)
- 模块:
Gain - 双击设置:
Gain = 3.6(1 m/s = 3.6 km/h) - 命名:
V_Convert - 连线:
v输出 →V_Convert输入 - 输出:
v_kmh(车速,单位:km/h,命名信号线为 v_kmh)
4.4 观测车速曲线(Scope)
- 模块:
Scope - 双击打开,点击 Scope 界面的「Settings」(齿轮图标),设置
Number of axes = 1 - 连线:
v_kmh输出 →Scope输入
5 仿真设置(傻瓜式点击,不用改其他参数)
- 点击 Simulink 界面顶部菜单栏:
Simulation → Configuration Parameters - 在弹出的窗口中,设置以下2项(其他默认):
Stop time = 50(仿真时间 50s)Solver = ode45(默认求解器,稳定不易报错)
- 点击窗口底部「OK」保存设置
- 点击 Simulink 界面顶部的「Run」按钮(绿色三角),开始仿真
- 仿真结束后,双击
Scope,即可看到车速曲线(成功标志)
6 完整信号流向(检查连线是否正确)
Clock → Slope(alpha)
├─ alpha → Cos_Alpha(cos(alpha))→ Ff_Product2 → Ff → Fnet_Sum(-)
└─ alpha → Sin_Alpha(sin(alpha))→ Fi_Product → Fi → Fnet_Sum(-)
Tm → Fd_Product(输入1)
i0 → Fd_Product(输入2)
etaT → Fd_Product(输入3)
ig → Fd_Product(输入4)→ Gain_1r → Fd → Fnet_Sum(+)
Tb → Fb_Gain → Fb → Fnet_Sum(-)
v → Fw_Product1(两个输入)→ Fw_Gain → Fw → Fnet_Sum(-)
Fnet_Sum → F_net → Acc_Gain → a → V_Integrator → v
├─ v → ShiftLogic → ig
└─ v → V_Convert → Scope
7 常见问题排查(小白必看)
| 问题现象 | 原因 | 解决方法 |
|---|---|---|
| 仿真无车速曲线 | Scope 未连对 v_kmh | 重新连线:v → V_Convert → Scope |
| 报错"无输入信号" | Fd_Product 第4个输入未连 ig | 把 ShiftLogic 输出的 ig 连到该输入口 |
| 空气阻力计算错误 | Fw_Gain 参数填错 | 重新输入:0.51.2250.32*2.1 |
| 换挡逻辑无效 | v 未连到 ShiftLogic 输入 | 从 v 引出分支线,连到 ShiftLogic 输入 |
| 仿真报错"积分器初始值" | Integrator 初始值未设为 0 | 双击 Integrator,设置 Initial condition=0 |
8 论文/作业适配(直接复制使用)
本文基于线性定常假设,搭建了包含驱动、制动、换挡、动态坡度及各类行驶阻力的车辆纵向动力学Simulink模型。模型通过常数模块提供参数、乘法器与增益模块实现力的计算、求和器计算合力、积分器得到车速,最终形成完整闭环。仿真结果表明,模型可准确反映车辆起步加速、换挡、上下坡及匀速行驶的动态特性,忽略的侧风阻力、路面颠簸阻力等因素可作为后续优化方向,提升模型精度。该模型适配课程设计、毕业设计及仿真分析,小白可通过傻瓜式连线快速实现建模与仿真。