设想你要教一个人开车从 A 点开到 B 点。怎样才能算“开得好”?太快容易失控,太慢浪费生命,猛踩油门费油,频繁刹车让人晕车。你心里其实有一个模糊的“好司机”标准:既不要偏离路线太远,也不要动作太粗暴。LQR(线性二次调节器)就是把这个模糊标准精确成数学,再让它自动算出每一步最优操作的一门学问。它像一位随身驾驶教练:先问清楚你的偏好(怕晕车还是怕费油),然后盯着仪表盘(状态),不断给你发出“油门踩多少、方向盘转多少”的指令。整个过程中,它不需要反复试错,而是用一个方程一次性解出最优策略。这篇文章就带你看懂这位“教练”的整套方法论。
对 AI 从业者来说,LQR 是机器人、无人机、自动驾驶等智能体控制中的核心工具箱。理解它,你就掌握了让 AI 决策从“拍脑袋”升级为“可证明最优”的关键一环。
可视化演示
通过交互动画理解LQR如何通过二次型代价函数设计最优控制律,观察Q/R权重对控制效果的影响以及与PID的对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
二次型代价函数 Q 越大越重视状态收敛(快速响应) R 越大越重视控制能量节约 J = Σ(xᵀQx + uᵀRu) 调节 Q/R 滑块观察最优轨迹变化
最优控制思想
想象你请来一位顶级驾驶教练,他先不碰方向盘,而是先问一句:“你觉得怎样才算把这段路开好了?” 如果你的回答是“快点到、别跑偏、别费油”,教练就会把这些模糊愿望整理成一份“评分表”,分数越低代表开得越好。最优控制思想的核心正是:先定义“好”,再去求“最优”。它不像传统思路那样“看看误差大了就纠正”,而是把整个未来都放进一个数学公式里,一次性选出让总损失最小的策略。
在 LQR 里,“评分表”被设计成一个性能指标,把所有时刻的状态偏差与控制消耗加起来。放在自动驾驶语境下,这就等价于教练把“偏离车道多少”和“猛踩油门多少”折算成可比较的数字,然后寻找让总分最低的开车方式。这个“先定标准再求解”的思路,让控制从一门手艺变成了一门可以被严格证明的学问。
LQR 全称“线性二次调节器”:线性指系统模型是线性的,二次指评分表里所有项都是平方形式,调节器指它的任务是让状态回到零点。平方是个高明设计——偏差变成两倍,惩罚就变成四倍,所以系统宁可保持小幅偏差,也不愿出现一次大的失控。
回到驾驶教练的比喻:教练先跟你把“评分表”定好,再放手去找最优驾驶方式。这就是最优控制思想的第一步,后面所有公式都在为“算出这张表对应的最优操作”服务。
- min 最小值符号表示我们在所有候选中寻找最小的那一个,好比教练在所有驾驶方案里挑出总分最低的。
- u 控制变量u 是我们能主动决定的操作,比如油门开度和方向盘角度。
- L(x,u) 瞬间损失把当前状态 x 和当前操作 u 代入,算出一个“此刻有多糟”的分数,偏差大、动作猛都会让分数上升。
- 积分累积全程把从出发时刻到结束时刻每一瞬间的损失加起来,得到整趟旅程的总分。
状态空间建模
教练要评价“开得好不好”,首先得知道车现在处于什么状态:跑了多远、速度多快、车头朝向哪。这些能完整描述系统当前情况的数量,叫状态变量。对一辆车,位置和速度就是状态;对一个机器人手臂,每个关节的角度和角速度就是状态。把所有这些状态装进一个列向量 x,系统的“当前时刻快照”就齐了。
接下来要回答“状态会怎么变化”。车的加速度取决于发动机输出的力和路面阻力;机器人的角加速度取决于电机力矩和摩擦。把所有关系整理成一大组一阶微分方程,再用矩阵统一写出来,就是状态方程:
这个式子放诸四海皆准。A 描述系统“自己会怎么演变”,比如小车没有控制时因为摩擦自然减速;B 描述“你踩油门能多大程度影响状态”,比如方向盘一转车头就会偏。LQR 假设 A 和 B 是常数矩阵——即系统是线性时不变的,这正是“线性”二字的来源。
有了状态方程,还需要确认一件事:给定输入 u,是否所有状态都能被影响到?这就引出可控性概念。如果系统里藏着某个“A 碰不到、B 也够不着”的状态,那再好的教练也拿它没办法。工程上通过构造可控性矩阵并检查其秩来判断:只有当矩阵满秩时,LQR 才有资格上场。这一条前置检查,能避免后面 Riccati 方程解不出来的尴尬。
教练看完仪表盘(状态)和油门方向盘(输入)之间的连接关系,心里就有数了:只要系统可控,他就能通过操作把车从任何偏差拉回正道。状态空间建模,正是这份“仪表盘说明书”。
- 状态变量 x列向量,装着系统此刻的全部信息,比如位置和速度。多少个状态,向量就有多少行。
- A 系统矩阵刻画“没有外力时系统自己如何演变”。它像车的惯性,松开油门也会自然滑行。
- B 输入矩阵刻画“控制 u 通过什么途径影响状态”。它像方向盘与车轮间的传动机构。
代价函数设计
现在教练要落实那张“评分表”了。他问你两个问题:第一,车偏离目标位置,你有多在意?第二,猛踩油门耗能,你有多心疼?第一个问题的答案对应 Q 矩阵,第二个对应 R 矩阵。
Q 矩阵惩罚状态偏差:哪个状态让你揪心,就把 Q 里对应的对角线元素调大。比如倒车入库时你特别怕车头歪,就加大角度偏差的权重。R 矩阵惩罚控制能耗:R 越大,表示你越舍不得踩油门,教练就会尽量采用温柔的小幅操作。两者合起来,构成 LQR 的代价函数:
积分到无穷大,代表我们关心“一生一世”的总损失。只要闭环系统能稳定,这个积分就是有限的。xᵀQx 是状态贡献的损失——偏差越大损失越大;uᵀRu 是能耗贡献的损失——动作越猛损失越大。两者相加,就是教练评分表上的“总分”。
为什么用二次型(平方)而不是一次型?因为平方项天然喜欢“折中”:它让微小偏差几乎不受惩罚,却让巨大偏差付出沉重代价,于是最优解不会走向“零偏差但暴力控制”或“零能耗但放任漂移”两个极端。这正是 LQR 名字里“二次”的深意。数学上还需保证 Q 对称半正定、R 对称正定,评分表才不会出现“越糟分越低”的荒诞情况。
教练把评分表定好了:Q 是你对跑偏的焦虑程度,R 是你对烧钱的心疼程度。这两组数字一摆,最优策略就有了唯一的“性格”。
- xᵀQx 状态惩罚项把状态偏差按 Q 加权取平方,Q 里调大的方向就是教练最在意的方向。
- uᵀRu 控制惩罚项把控制量按 R 加权取平方,R 大意味着用控制很“贵”。
- 无穷积分把逗留到永远的总损失加起来,逼迫系统必须稳定下来,否则积分发散。
- 对称半正定/正定Q 和 R 必须满足的性质,保证代价函数有下界且每个控制动作都付出代价。
Riccati方程
评分表定好了,可教练怎么算出最优策略呢?他需要一张“全局最优操作表”。这里跳出一个关键事实:对线性系统加二次代价,最优策略竟然是“看当前状态,线性地决定操作”,而这张表的核心是一个叫 P 的矩阵。P 不由某个时刻决定,而是满足一个固定的方程——代数 Riccati 方程:
这个方程很像教练的“人生哲学”:无论现在走到哪一步,只要照着它解出 P,未来每一步怎么操作就都定了。它的每一项都有含义:AᵀP + PA 负责“跟随系统演化”,PBR⁻¹BᵀP 负责“最优地利用控制”,Q 代表“你对偏差的底线要求”。四股力量平衡为零,就是“长远最优”的数学化身。
求解方法上,工程实践极少手推,而是用现成数值算法(如 scipy 的 solve_continuous_are、MATLAB 的 lqr 函数)直接算出 P。理论保证是:只要 (A,B) 可控、Q 半正定、R 正定,Riccati 方程就存在唯一对称正定解 P,且由它构造的控制必使闭环系统渐近稳定。这把“调参碰运气”升级成了“解方程保平安”。
在比喻里,Riccati 方程就是教练在入职前完成的一次“全局推演”:只要解出 P,往后无论路况如何变化,他都能瞬间给出最优操作。你不需要看他推演过程,只要信任这个方程。
- AᵀP + PA 演化项描述 P 所代表的“长远代价”随系统自身动力学怎样流动。
- PBR⁻¹BᵀP 控制项代表最优控制对代价的反馈作用,是 R 和 B 在这里“商量”出的结果。
- R⁻¹ 逆矩阵R 越大、控制越贵,这一项就越小,教练就越舍不得用力。
- Q 底线项状态偏差的固有惩罚,提醒系统“不能放任不管”。
状态反馈控制
Riccati 方程解出 P 之后,最优控制律水到渠成。LQR 给出的答案是:每时每刻看一眼当前状态 x,然后按固定比例决定操作 u。这就是状态反馈:
负号的含义是“逆着偏差来”:车往右偏就向左修,速度过快就减速。K 叫反馈增益矩阵,它把“状态读数的每一个分量”映射成“控制指令的每一个分量”。K 就像教练脑子里的操作规则表:看到位置偏差 1 米,给 2 牛的力;看到速度偏差 1 m/s,给 1.5 牛的修正。
把 u = -Kx 代回状态方程,闭环系统变为 ẋ = (A - BK)x。由于 P 是 Riccati 方程的正定解,理论保证 A - BK 的所有特征值都在复平面左半平面——即系统必然稳定。更妙的是,K 不仅保证稳定,还保证你是“按评分表最优地”稳定,这正是 LQR 区别于“怎么稳都行”的朴素调参法的地方。这一特性让工程师敢把安全关键的系统交给它。
回到驾驶教练:他现在稳稳坐在副驾,眼睛盯着仪表盘(x),手脑按照操作表(K)随时给出油门与方向盘指令(u)。你不用再频繁干预,教练自己就把车开回正道——这就是状态反馈的日常。
- u = -Kx 控制律当前操作 = 负的增益矩阵 × 当前状态,这是 LQR 输出的最终驾驶规则。
- K 的构造增益由 R、B、P 三者的乘积决定,R 越大 K 越小,控制越克制。
- 闭环矩阵 A - BK状态方程中 A 被“修正”后的新系统矩阵,决定最终动态品质。
参数调优策略
有人说 LQR 的精髓是“解一个方程”,但真正让它在工程里好用的,是 Q 和 R 这两个旋钮怎么拧。教练的驾驶风格完全由你设定的焦虑程度决定:Q 大 R 小 = 激进派,恨不得瞬间把偏差清零,代价是控制动作猛、能耗大;Q 小 R 大 = 佛系派,动作温柔省力,代价是回正慢、偏差逗留久。
调参的第一步是“定性感知”:先让 Q=I、R=1 跑一遍,观察响应速度和控制量;若觉得回正太慢,就把 Q 放大或把 R 缩小;若觉得油门太猛、系统颤动,就把 R 放大或把 Q 缩小。第二步是“结构优化”:Q 不必所有状态取相同值,比如无人机悬停时对高度偏差的权重可以比水平漂移大,R 也可以对不同执行器区别对待。
一个常用技巧是把 Q 取成对角阵,每个对角元表示“这个状态我有多在乎”,R 同理。调参的边界同样写在理论里:Q 必须半正定、R 必须正定,否则 Riccati 方程可能无解或系统不稳定。实践上还要注意量纲——位置按米、速度按米每秒、控制按牛顿,直接比较数值没有意义,必须结合物理单位衡量。
以演示里的“把车从偏差 4 拉回 0”为例:Q 取 1 时,回正平缓、几乎无超调,但需要较长时间;Q 取 100 时,回正极快,却伴随明显过冲和更大的瞬时控制力。可视化演示中的滑块正是这个道理——Q 从 0.1 拨到 100,你能直观看到“激进-平滑”的连续转变。LQR 调参没有魔法数字,只有“你想付出多少能耗换多少快速性”的权衡。
回到教练的比喻:Q/R 旋钮就是教练的“性格模式选择器”。同一辆车、同一条路,激进模式和佛系模式都能安全到达,只是过程风格截然不同。你的任务,是搞清楚用户要的是“快”还是“省”。
与PID对比
聊到工程现场,总有人问:既然 PID 那么好用,为什么还要学 LQR?想象两种治车方案:老司机靠经验——看到偏差就纠,偏差大就加劲,这对应 PID;而我们的教练按数学全局推演——把整条路的未来算清楚再行动,这对应 LQR。两者各有拥趸,也各有短板。
PID 的核心公式是:
它只盯着“偏差 e”及其积分、导数打转,不需要系统模型,调三个增益就能跑,这是它深入人心的原因。但 PID 是“单回路”思路:一个回路往往只对一个输出负责,遇到多变量强耦合系统(比如四旋翼的六个自由度互相牵扯),要设计十几个 PID 回路互相协调,难度陡增且很难谈最优。
LQR 的强项恰恰在这里:它天然是多变量的,一个 K 矩阵同时协调所有状态;它有明确的性能指标与稳定性证明,调参结果可预测;它还能让代价函数在数学上达到最小,这是“最优性保证”。代价是 LQR 依赖精确的线性模型 A 和 B,模型不准,最优就打了折扣。工程上常见做法是“内外兼修”:用 LQR 做核心镇定与多变量协调,用 PID 处理局部的扰动补偿。两者不是对手,而是搭档。
回到比喻:老司机凭手感开车,胜在熟悉路况、无需读说明书;教练按数学开车,胜在全局最优、多个指标同时照顾。一个成熟的工程团队,往往是老司机与教练同乘——内环用 LQR 把姿态稳住,外环用 PID 把位置纠住。理解了这一点,你才算真正读懂了 LQR 在控制体系里的坐标。
- Kp·e 比例项偏差越大纠正力越强,像老司机看到跑偏就立刻打方向。
- Ki∫e·dτ 积分项把过去的偏差攒起来,消除长期存在的静态误差,比如上坡时持续补油。
- Kd·ė 微分项根据偏差变化趋势提前反应,像老司机预判弯道提前减速。
AI 应用场景
无人机悬停姿态控制
阶段:智能体动作决策(底层控制环)
解决的问题:四旋翼在空中容易因气流扰动失去姿态平衡。传统 PID 需针对每个通道单独整定,通道间耦合时试错成本极高。LQR 把俯仰、横滚、偏航及角速度统一放进状态向量,一个 K 矩阵同时协调全部姿态通道,在能量最优意义下完成稳定。
具体案例:某物流无人机在阵风环境下执行快递投放,使用 LQR 姿态控制器后,悬停位置漂移从 PID 方案的 ±0.3m 降至 ±0.08m,单次飞行电池消耗下降约 12%。工程师通过调节 Q 中角度与角速度的比值,在“抗风硬朗”与“省电平稳”之间找到了平衡点。
自动驾驶车道保持
阶段:规划决策后的执行控制层
解决的问题:车辆在高速行驶中偏离车道中心,需要横向控制持续修正。LQR 以车辆横向位置、横向速度、航向角等为状态,以方向盘转角为输入,代价函数同时惩罚“偏离车道”与“转向过猛”,让车辆既贴线行驶又避免频繁急打方向。
具体案例:某自动驾驶初创公司在乘用车横向控制中部署 LQR,取代原先基于查表的 PID 方案。在双移线工况测试中,LQR 使最大横向偏差从 0.42m 降到 0.15m,方向盘转角变化率下降 40%,乘坐舒适性显著提升。
倒立摆平衡教学验证
阶段:控制算法验证与参数标定
解决的问题:倒立摆是控制理论的标准试验台,摆杆天然不稳定,模型简单却包含全部 LQR 概念。用 LQR 控制倒立摆,核心是让 Q 中摆杆角度权重远大于小车位置权重——因为“先别倒”永远优先于“别跑远”。
具体案例:高校机器人实验课上,学生搭建一维倒立摆小车,用 Python 求解 Riccati 方程后部署到单片机,摆杆在 1 秒内从倾斜 30° 被拉回竖直并保持,同时小车行程控制在 ±20cm 内。学生通过对比不同 Q/R 组合,直观理解了“快速回正”与“动作幅度”的此消彼长。
Python 演示
import numpy as npfrom scipy.linalg import solve_continuous_areimport matplotlib.pyplot as plt def lqr_design(A, B, Q, R): P = solve_continuous_are(A, B, Q, R) K = np.linalg.inv(R) @ (B.T @ P) return K, P def simulate(A, B, K, x0, T=5.0, dt=0.01): t = np.arange(0, T, dt) n = x0.size X = np.zeros((t.size, n)) U = np.zeros(t.size) x = x0.copy() for i in range(t.size): u = -K @ x X[i] = x U[i] = u[0] x = x + (A @ x + B @ u) * dt return t, X, U def main(): A = np.array([[0.0, 1.0], [0.0, 0.0]]) B = np.array([[0.0], [1.0]]) Q = np.diag([10.0, 1.0]) R = np.array([[1.0]]) K, P = lqr_design(A, B, Q, R) print("K =", K) t, X, U = simulate(A, B, K, np.array([2.0, 0.0])) plt.plot(t, X[:, 0], label="position") plt.plot(t, U, label="control") plt.legend() plt.xlabel("time") plt.ylabel("value") plt.grid(True) plt.show() if __name__ == "__main__": main()
P = solve_continuous_are(A, B, Q, R)调用 SciPy 直接解代数 Riccati 方程,等价于“教练的全局推演”。K = np.linalg.inv(R) @ (B.T @ P)按 K=R⁻¹BᵀP 构造反馈增益,这是控制律的“操作规则表”。u = -K @ x每步都用当前状态乘以增益后取负,得到此刻的最优操作。x = x + (A @ x + B @ u) * dt用欧拉法推进状态方程,模拟系统在控制作用下的真实演化。Q = np.diag([10.0, 1.0])位置权重 10、速度权重 1,意思是“我更在乎位置偏差”。R = np.array([[1.0]])控制代价取 1,与 Q 一起构成评分表。
常见误区
误区调参数嘛,Q 和 R 都往大了调,惩罚加满,系统一定又快又稳。
正解Q 和 R 是跷跷板的两端,不是同向旋钮。增大 Q 让状态偏差被更重惩罚,控制会更激进,但代价是控制量 u 可能很大、能耗飙升,甚至引起抖动超调;增大 R 惩罚控制动作,会让响应变慢。真正起作用的是 Q/R 的相对比值,两者同时放大标量倍数并不会改变最优控制律。
为何常见:人们直觉上认为“惩罚越重效果越好”,忘记了惩罚对象不同——一个罚偏差、一个罚能耗,两者天然对立。
误区只要用 LQR 公式算出来了 K,系统就自动稳定,不用检查任何前提。
正解LQR 的稳定性保证依赖前提:系统必须是线性时不变的 (A,B);必须可控或至少可镇定;Q 半正定、R 正定。前提不满足时,Riccati 方程可能无解或给出毫无意义的 K。算出来不等于稳得住,前提检查是 LQR 的第一步。
为何常见:教材通常直接给出“闭环渐近稳定”的结论,读者容易忽略结论背后的假设条件。
误区LQR 又最优又稳定,PID 是老古董,项目里应该全面换成 LQR。
正解LQR 依赖精确的 A、B 模型,工程中系统常含非线性、时变与未建模动态,模型一偏,LQR 的“最优”就打了折扣。PID 无需模型、实现简单、抗扰动直接,在很多场景仍然是最高效的选择。成熟做法是两者配合:LQR 做核心多变量镇定,PID 做外环补偿。
为何常见:学习新方法后容易产生“新的必胜旧的”的错觉,忽略了每种方法的适用边界。
误区调参时盯着阶跃响应曲线,回正快就算调好了,其他都不管。
正解响应快只是表象。Q 增大带来快速性,同时意味着更大控制能量、更高执行器饱和风险,还可能放大量测噪声对系统的影响。工程上必须同时看控制量曲线、能耗统计、鲁棒性余量。R 也不是越小越好,控制力度超过执行器极限会造成饱和,反而破坏线性假设。
为何常见:视觉上“曲线快速归零”最有成就感,隐性的能耗与噪声成本不容易被一眼看见。
误区solve_continuous_are 报错或返回奇异结果,第一反应是代码写错了。
正解Riccati 方程无解或解异常,通常是权重矩阵不满足约束——Q 不是半正定、R 不是正定,或者 (A,B) 不完全可控。先检查可控性矩阵的秩,再检查权重矩阵的对称正定性,最后再怀疑数值问题。
为何常见:初级用户把“数学方程”当成永远有解的算法黑盒,忘记了方程有成立条件。
面试题
Q1. LQR 中 Q 矩阵主要用来惩罚什么?
- A.控制能量消耗
- B.状态偏差大小← 正确答案
- C.系统采样频率
- D.传感器测量噪声
答案:B。Q 是状态权重矩阵,xᵀQx 罚的是状态偏差;控制能量由 R 惩罚。就像教练的评分表里,Q 对应“你有多怕跑偏”,R 对应“你有多怕费油”。
Q2. LQR 的最优控制律一般写成什么形式?
- A.u = -Kx← 正确答案
- B.u = Kp·e
- C.u = Kd·de/dt
- D.u = Ki·∫e dt
答案:A。LQR 是状态反馈,控制量等于增益矩阵与当前状态乘积取负,即 u=-Kx。其余三项分别是 PID 的比例、微分、积分项,属于误差反馈而非状态反馈。
Q3. 下列哪项最适合用 LQR 改善?
- A.根据图片识别猫狗
- B.无人机悬停姿态稳定← 正确答案
- C.压缩大语言模型参数
- D.预测股票未来价格
答案:B。LQR 面向可建模的连续控制系统,无人机姿态控制是典型多变量线性化控制任务。图像识别、模型压缩、价格预测都不是基于状态方程的调节问题。
Q4. 代数 Riccati 方程的解 P 需要满足什么条件?
- A.必须是单位矩阵
- B.必须是对称正定← 正确答案
- C.必须是对角矩阵
- D.必须是零矩阵
答案:B。Riccati 方程在可控性和权重假设下存在唯一对称正定解 P,这个 P 才能用于构造最优增益 K。P 的意义是“长远代价的形状”,必须正定才有合理的代价几何。
Q5. 其他条件不变,增大 R 矩阵会带来什么效果?
- A.响应变得更激进
- B.控制能耗惩罚更重← 正确答案
- C.系统必然失稳
- D.状态偏差必然为零
答案:B。R 是控制权重,R 增大意味着“用控制很贵”,K 会变小,系统趋于温柔省力但回正变慢。这与“Q 增大更激进、R 增大更平滑”的跷跷板关系一致。
Q6. LQR 反馈增益 K 的正确计算公式是哪个?
- A.K = R⁻¹BᵀP← 正确答案
- B.K = BᵀPR
- C.K = RBᵀP
- D.K = PBR⁻¹
答案:A。K=R⁻¹BᵀP 是把 Riccati 解 P 转成控制律的桥梁。R 越大控制越贵、K 越小;B 把 P 与输入通道连接起来。其余组合没有对应的最优性来源。
Q7. 关于 LQR 与 PID 的说法,错误的是哪个?
- A.LQR 依赖精确系统模型
- B.PID 通常不需要模型
- C.LQR 只适用于单变量系统← 正确答案
- D.PID 直接基于误差反馈
答案:C。LQR 天然支持多变量系统,一个 K 矩阵同时协调所有状态。说它只适合单变量是对 LQR 的误解。A、B、D 分别对应 LQR 的模型依赖与 PID 的经验式误差反馈特点。
Q8. LQR 代价函数中包含哪些部分?
- A.xᵀQx 惩罚状态偏差← 正确答案
- B.uᵀRu 惩罚控制消耗← 正确答案
- C.对时间做无穷积分← 正确答案
- D.一个恒定常数偏置
答案:ABC。代价函数 J=∫₀^∞(xᵀQx+uᵀRu)dt,三项缺一不可:状态惩罚、控制惩罚、全程积分。常数偏置不影响控制律的最优解,不属于代价函数组成部分。
Q9. 哪些情况会导致 LQR 设计失败或失效?
- A.(A,B) 不完全可控← 正确答案
- B.Q 取为负定矩阵← 正确答案
- C.R 为非正定矩阵← 正确答案
- D.系统完全可镇定
答案:ABC。LQR 成立需要 (A,B) 可控或至少可镇定、Q 半正定、R 正定。不可控意味着有状态无法被影响,Q 负定破坏代价函数下界,R 非正定让控制惩罚失去意义。D 是正确前提,不会导致失败。
Q10. 双积分器 A=[[0,1],[0,0]]、B=[[0],[1]],取 Q=diag(4,0)、R=1,LQR 增益 K 的第二个分量(速度反馈系数)约为多少?
- A.1.0
- B.2.0← 正确答案
- C.4.0
- D.8.0
答案:B。双积分器 Riccati 解析解:p₁₂=√(q·r)=√4=2,p₂₂=√(2·p₁₂)=2,K=[p₁₂/r, p₂₂/r]=[2,2],第二个分量为 2.0。这也印证“Q 增大、反馈更猛”的直觉。