FullInformationOutputRegulator[sys,rspec]
使用指定 rspec 给出 sys 的完整状态信息输出调节器.
FullInformationOutputRegulator[{sys,{out1,…},{in1,…}},…]
指定调节输出 outi 和控制输入 inj.
FullInformationOutputRegulator
FullInformationOutputRegulator[sys,rspec]
使用指定 rspec 给出 sys 的完整状态信息输出调节器.
FullInformationOutputRegulator[{sys,{out1,…},{in1,…}},…]
指定调节输出 outi 和控制输入 inj.
更多信息和选项
- FullInformationOutputRegulator 返回一个调节器,驱动 sys 输出为零,并且通常用来抑制或跟踪系统的已知输入.
- 系统 sys 被视为拥有状态方程
和
及输出
,其中
是可控输入. 状态
不受输入
的影响,用于模拟抑制或跟踪的信号,如输出函数
所示. - 典型的输出函数
,调节器将驱动至零: -

在状态
上抑制
的影响
导致
跟踪 
- 系统 sys 可以是 StateSpaceModel、AffineStateSpaceModel 或 NonlinearStateSpaceModel.
- 计算的状态反馈
使用
调节 sys 大约一个工作点. - 状态反馈
的形式为
,其中
,
,且
的计算在 rspec 之后. - 可能的调节器指定 rspec:
-
{"Poles",{p1,…}} 利用 StateFeedbackGains 计算 {"Weights",{p,…}} 利用 LQRegulatorGains 计算 {"Gains",κ} 显示给定增益 - 在指定为 {"method",pars,opts} 时,选项 opts 被传递给增益计算函数.
- 输出 {out1,…} 和输入 {in1,…} 为部分指定,并在默认情况下取 All.
范例
打开所有单元 关闭所有单元基本范例 (1)
sys = AffineStateSpaceModel[{{w + 2*Subscript[x, 1] +
Subscript[x, 2], Subscript[x, 1] - 2*Subscript[x, 2],
0}, {{1}, {0}, {0}}, {Subscript[x, 1] + Subscript[x, 2]}, {{0}}},
{{Subscript[x, 1], 0}, {Subscript[x, 2], 0}, {w, 0.5}},
{Subscript[, 1]}, {Automatic}, Automatic, SamplingPeriod -> None];k = FullInformationOutputRegulator[sys, {"Poles", {-1, -2}}]csys = SystemsModelStateFeedbackConnect[sys, k]res1 = OutputResponse[{sys, {1, 1, 0.5}}, 0, {t, 0, 5}];
res2 = OutputResponse[{csys, {1, 1, 0.5}}, 0, {t, 0, 5}];Plot[{res1, res2}, {t, 0, 5}, PlotRange -> {0, 5}, PlotLegends -> {"unregulated", "regulated"}]范围 (8)
FullInformationOutputRegulator[ssm = StateSpaceModel[{{{p, r}, {0, 0}}, {{b}, {0}},
{{c, 0}}, {{0}}}, SamplingPeriod -> None, SystemsModelLabels -> None], {"Poles", {Subscript[p, f]}}]SystemsModelStateFeedbackConnect[ssm, %]//Simplifyssm = StateSpaceModel[{{{p, Subscript[r, 1], Subscript[r, 2]},
{0, 0, ω}, {0, -ω, 0}}, {{b}, {0}, {0}},
{{c, 0, 0}}, {{0}}}, SamplingPeriod -> None, SystemsModelLabels -> None];Assuming[ω ∈ Reals, FullInformationOutputRegulator[ssm, {"Poles", {Subscript[p, f]}}]]SystemsModelStateFeedbackConnect[ssm, %]//Simplifyssm = StateSpaceModel[{{{p, Subscript[r, 1], Subscript[r, 2]},
{0, 0, ω}, {0, -ω, 0}}, {{b}, {0}, {0}},
{{c, Subscript[c, 1], Subscript[c, 2]}}, {{0}}},
SamplingPeriod -> None, SystemsModelLabels -> None];Assuming[ω ∈ Reals, FullInformationOutputRegulator[ssm, {"Poles", {Subscript[p, f]}}]]SystemsModelStateFeedbackConnect[ssm, %]OutputResponse[{%, {Subscript[x, 10], Subscript[w, 10], Subscript[w, 20]}}, 0, t]//FullSimplify% /. Subscript[p, f] -> -5 /. Thread[{c, Subscript[c, 1], Subscript[c, 2], Subscript[x, 10], Subscript[w, 10], Subscript[w, 20]} -> RandomReal[1, 6]]调节一个 AffineStateSpaceModel:
Assuming[ω∈Reals, FullInformationOutputRegulator[AffineStateSpaceModel[{{p*x + x^2 +
Subscript[c, 1]*Subscript[w, 1] + Subscript[c, 2]*
Subscript[w, 2], ω*Subscript[w, 2],
(-ω)*Subscript[w, 1]}, {{b}, {0}, {0}},
{x}, {{0}}}, {x, Subscript[w, 1],
Subscript[w, 2]}, {Subscript[, 1]}, {Automatic}, Automatic,
SamplingPeriod -> None], {"Poles", {Subscript[p, f]}}]]调节一个 NonlinearStateSpaceModel:
FullInformationOutputRegulator[NonlinearStateSpaceModel[
{{p*x + w*Subscript[c, 1] +
u*Subscript[c, 2] + u*w*x*
Subscript[c, 3], 0}, {x}}, {x, w},
{u}, {Automatic}, Automatic, SamplingPeriod -> None], {"Poles", {Subscript[p, f]}}]FullInformationOutputRegulator[{StateSpaceModel[{{{0, 0}, {r, p}}, {{0, Subscript[b, 1]},
{Subscript[b, 2], 0}}, {{1, 0}, {0, 1}}, {{0, 0}, {0, 0}}}, SamplingPeriod -> None,
SystemsModelLabels -> None], {2}, {1}}, {"Poles", {Subscript[p, f]}}]通过指定权值,使用 LQRegulatorGains 计算稳定增益:
FullInformationOutputRegulator[AffineStateSpaceModel[{{w + x, 0}, {{1}, {0}}, {x}, {{0}}},
{x, w}, {Subscript[, 1]}, {Automatic}, Automatic,
SamplingPeriod -> None], {"Weights", {{{1}}, {{1}}}}]FullInformationOutputRegulator[AffineStateSpaceModel[{{w + x, 0}, {{1}, {0}}, {x}, {{0}}},
{x, w}, {Subscript[, 1]}, {Automatic}, Automatic,
SamplingPeriod -> None], {"Gains", {{k}}}]应用 (6)
dModel = NonlinearStateSpaceModel[w''[t] + w[t] == 0, {{w[t], 0}, {w'[t], 1}}, {}, {}, t];nsys = NonlinearStateSpaceModel[{{x[t] + Subscript[, 1][t] + v[t]}, {x[t]}}, {{x[t], 0}}, {v[t]}, Automatic, t];sys = SystemsModelMerge[{dModel, nsys}]k = FullInformationOutputRegulator[sys, {"Poles", {-2}}]csys = SystemsModelStateFeedbackConnect[sys, k]OutputResponse[{csys, {0, 1, 1}}, 0, {t, 0, 3}];Plot[%, {t, 0, 3}, PlotRange -> All]iModel = NonlinearStateSpaceModel[w''[t] + w[t] == 0, {{w[t], 0}, {w'[t], 1}}, {}, {}, t];nsys = NonlinearStateSpaceModel[{{x[t] + Subscript[, 1][t] + v[t]}, {x[t], x[t] - Subscript[, 1][t]}}, {{x[t], 0}}, {Subscript[, 1][t], v[t]}, Automatic, t];sys = SystemsModelMerge[{iModel, nsys}]k = FullInformationOutputRegulator[{sys, 2}, {"Poles", {-2}}]csys = SystemsModelExtract[SystemsModelStateFeedbackConnect[sys, k], All, 1]or = OutputResponse[{csys, {0, 1, 0.5}}, 0, {t, 0, 10}];
Plot[or, {t, 0, 10}, PlotRange -> All]iModel = NonlinearStateSpaceModel[{{0}, {x - r}}, {{r, 1}}, {}]dModel = NonlinearStateSpaceModel[{{Subscript[w, 2], -Subscript[w, 1]}, {}}, {{Subscript[w, 1], 0}, {Subscript[w, 2], 1}}, {}]nsys = NonlinearStateSpaceModel[{{x + r + Subscript[w, 1] + v}, {x}}, {{x, 0}}, {r, Subscript[w, 1], v}]sys = SystemsModelMerge[{nsys, iModel, dModel}]k = FullInformationOutputRegulator[{sys, 2}, {"Poles", {-8}}]csys = SystemsModelExtract[SystemsModelStateFeedbackConnect[sys, k], All, 1]OutputResponse[NonlinearStateSpaceModel[csys, {x -> -1, r -> 1, Subscript[w, 1] -> 0, Subscript[w, 2] -> 1}], 0, {t, 0, 5}];
Plot[%, {t, 0, 5}, PlotRange -> All]在出现扰动时,调节飞机的纵向动力:»
aircraft = StateSpaceModel[{{{0, 14.3877, 0, -31.5311}, {-0.0012, -0.4217, 1, -0.0284},
{0.0002, -0.3816, -0.4658, 0}, {0, 0, 1, 0}}, {{0.7898, -0.6526, -0.335, 0.4637, 0.9185},
{-0.00588, 0.0049, 0.0025, -0.0035, -0.0068}, {-0.2541, 0.21, 0.1078, -0.1492, -0.2959},
{0, 0, 0, 0, 0}}, {{1, 0, 0, 0}}, {{0, 0, 0, 0, 0}}}, {Subscript[x, 1],
Subscript[x, 2], Subscript[x, 3], Subscript[x, 4]},
{u, Subscript[w, 1], Subscript[w, 2],
Subscript[w, 3], Subscript[w, 4]}, SamplingPeriod -> None,
SystemsModelLabels -> None];dist = StateSpaceModel[{{{0, -0.1, 0, 0}, {0.1, 0, 0, 0}, {0, 0, 0, -0.2}, {0, 0, 0.2, 0}},
{{}, {}, {}, {}}, {}}, {Subscript[w, 1], Subscript[w, 2],
Subscript[w, 3], Subscript[w, 4]}, SamplingPeriod -> None,
SystemsModelLabels -> None];sys = SystemsModelMerge[{aircraft, dist}]fb = FullInformationOutputRegulator[sys, {"Poles", {-1, -2, -2.5 + I, -2.5 - I}}]csys = SystemsModelStateFeedbackConnect[sys, fb]OutputResponse[{csys, {0.1, 0.001, 0, 0, 1, 0, 1, 0}}, 0, {t, 0, 8}];
Plot[%, {t, 0, 8}, PlotRange -> All]fb.StateResponse[{csys, {0.1, 0.001, 0, 0, 1, 0, 1, 0}}, 0, {t, 0, 150}];
Plot[%, {t, 0, 150}, PlotRange -> All]调节一个 Rössler 原型 4 系统:»
asys = AffineStateSpaceModel[{{-Subscript[x, 2] - Subscript[x, 3],
Subscript[x, 1],
0.5*(Subscript[x, 2] - Subscript[x, 2]^2) -
0.5*Subscript[x, 3]}, {{0}, {0}, {1}},
{-w + Subscript[x, 2]}, {{0}}},
{Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None];StateResponse[{asys /. w -> 0, RandomReal[{-1, 1}, 3]}, 0, {t, 0, 300}];
ParametricPlot3D[%, {t, 0, 300}]tmodel = NonlinearStateSpaceModel[{{0}, {}}, w, {}];
sys = SystemsModelMerge[{asys, tmodel}]fb = FullInformationOutputRegulator[sys, {"Poles", {-1, -1.5 + I, -1.5 - I}}]csys = SystemsModelStateFeedbackConnect[sys, fb]StateResponse[{csys, Join[RandomReal[{-1, 1}, 3], {1}]}, 0, {t, 0, 8}];
Plot[Evaluate[Most[%]], {t, 0, 8}, PlotLegends -> {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}]调节 Chua 电路中的电压
,以使其遵循正弦波,而拒绝另一个 Chua 电路的输出的扰动
:»
pars = {Subscript[𝒞, 1] -> 1, Subscript[𝒞, 2] -> 1, ℒ -> 1, ℛ -> 1};asys = AffineStateSpaceModel[{{(-2*Subscript[𝒱, 1] - Subscript[𝒱, 1]^3 +
(-Subscript[𝒱, 1] + Subscript[𝒱, 2])/ℛ)/
Subscript[𝒞, 1],
(-𝒾 + (Subscript[𝒱, 1] - Subscript[𝒱, 2])/
ℛ)/Subscript[𝒞, 2],
(-Subscript[ℰ, 2] + Subscript[𝒱, 2])/ℒ},
{{-Subscript[𝒞, 1]^(-1)}, {0}, {0}},
{-Subscript[ℰ, 4] + Subscript[𝒱, 2]}, {{0}}},
{Subscript[𝒱, 1], Subscript[𝒱, 2], 𝒾}, Automatic,
{Automatic}, Automatic, SamplingPeriod -> None] /. pars;pars1 = {Subscript[𝒞, 1] -> 1, Subscript[𝒞, 2] -> 1, ℒ -> 1, ℛ -> 1, ω -> 10};nsys = NonlinearStateSpaceModel[
{{(-Subscript[ℰ, 1] - 2*Subscript[ℰ, 1]^3 +
(-Subscript[ℰ, 1] + Subscript[ℰ, 2])/ℛ)/
Subscript[𝒞, 1],
((Subscript[ℰ, 1] - Subscript[ℰ, 2])/ℛ -
Subscript[ℰ, 3])/Subscript[𝒞, 2],
Subscript[ℰ, 2]/ℒ, ω*Subscript[ℰ, 5],
(-ω)*Subscript[ℰ, 4]}, {}},
{Subscript[ℰ, 1], Subscript[ℰ, 2], Subscript[ℰ, 3],
Subscript[ℰ, 4], Subscript[ℰ, 5]}, {}, Automatic, Automatic,
SamplingPeriod -> None, SystemsModelLabels -> {{}, None}] /. pars1;sys = SystemsModelMerge[{asys, nsys}]Subscript[poles, d] = Eigenvalues@First@Normal@StateSpaceModel[nsys]//Ndecays = Join[{-1, -2, -3}, DeleteCases[%, Complex[_ ? PossibleZeroQ, _]]]k = FullInformationOutputRegulator[{sys, All, All, {7, 8}}, {"Poles", decays}]csys = SystemsModelStateFeedbackConnect[sys, k]//SimplifyOutputResponse[{csys, {10, 0, 0.1, 0, 0, 0, 0, -1}}, 0, {t, 0, 10}];
Plot[%, {t, 0, 10}, PlotRange -> All]属性和关系 (4)
StateFeedbackGains 是一个特例:
ssm = StateSpaceModel[{{{2, 0, -1}, {0, -2, 1}, {1, -1, 1}}, {{1, 1}, {0, 1}, {1, -1}},
{{1, -1, 0}, {0, 1, -1}}, {{0, 0}, {0, 0}}}, SamplingPeriod -> None, SystemsModelLabels -> None];
poles = {-1, -2, -3};FullInformationOutputRegulator[ssm, {"Poles", poles}]StateFeedbackGains[ssm, poles]LQRegulatorGains 是一个特例:
ssm = StateSpaceModel[{{{2, 0, -1}, {0, -2, 1}, {1, -1, 1}}, {{1, 1}, {0, 1}, {1, -1}},
{{1, -1, 0}, {0, 1, -1}}, {{0, 0}, {0, 0}}}, SamplingPeriod -> None, SystemsModelLabels -> None];
weights = {IdentityMatrix[3], IdentityMatrix[2]};FullInformationOutputRegulator[N@ssm, {"Weights", weights}]LQRegulatorGains[N@ssm, weights]使用 SystemsModelStateFeedbackConnect 获得闭环系统:
sys = NonlinearStateSpaceModel[{{u + w + p*x, 0},
{x}}, {x, w}, {u}, {Automatic}, Automatic,
SamplingPeriod -> None];SystemsModelStateFeedbackConnect[sys, FullInformationOutputRegulator[sys, {"Poles", {Subscript[p, f]}}]]sys = StateSpaceModel[{{{2, 0, -1, 1}, {0, -2, 1, 0}, {1, -1, 1, 0}, {0, 0, 0, 0}},
{{1, 1}, {0, 1}, {1, -1}, {0, 0}}, {{1, -1, 0, 0}, {0, 1, -1, 0}}, {{0, 0}, {0, 0}}},
SamplingPeriod -> None, SystemsModelLabels -> None];k = FullInformationOutputRegulator[sys, {"Poles", N@{-1, -2, -3}}]csys = SystemsModelStateFeedbackConnect[sys, k]OutputResponse[{csys, RandomReal[2, 4]}, 0, {t, 0, 5}];
Plot[Evaluate[%], {t, 0, 5}, PlotRange -> All]相关指南
-
▪
- 非线性控制系统
文本
Wolfram Research (2014),FullInformationOutputRegulator,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FullInformationOutputRegulator.html.
CMS
Wolfram 语言. 2014. "FullInformationOutputRegulator." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FullInformationOutputRegulator.html.
APA
Wolfram 语言. (2014). FullInformationOutputRegulator. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FullInformationOutputRegulator.html 年
BibTeX
@misc{reference.wolfram_2026_fullinformationoutputregulator, author="Wolfram Research", title="{FullInformationOutputRegulator}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FullInformationOutputRegulator.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_fullinformationoutputregulator, organization={Wolfram Research}, title={FullInformationOutputRegulator}, year={2014}, url={https://reference.wolfram.com/language/ref/FullInformationOutputRegulator.html}, note=[Accessed: 03-November-2026]}