CarlemanLinearize[sys,spec]
根据 spec 对非线性状态空间模型 sys 进行 Carleman 线性化.
CarlemanLinearize
CarlemanLinearize[sys,spec]
根据 spec 对非线性状态空间模型 sys 进行 Carleman 线性化.
更多信息
- CarlemanLinearize 给出 sys 所嵌入的无限阶系统的逼近.
- 输入线性系统的结果是双线性的,即在状态和输入都是线性的. 在一般情况下,它仅在状态是线性的.
- spec 的可能值有:
-
k 逼近阶 {{e1,…,en}} 嵌入变换的单项式 {…,{z1,…,zn}} 新状态变量 {…,z,order} 单项式排序 - order 的可能设置与 MonomialList 中相同.
- CarlemanLinearize 返回 LinearizingTransformationData 对象,可用于提取各种属性.
- 可以给出下列属性:
-
"EmbeddingTransformation" {z1->e1,…,zn->en} "TransformedSystem" 逼近变换系统 {"OriginalSystemController",κ} 原始系统 sys 的控制器 {"OriginalSystemEstimator",ℓ} 原始系统 sys 的估计器 {"ClosedLoopSystem",κ} 具有控制器的闭环系统 sys
范例
打开所有单元 关闭所有单元基本范例 (1)
𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{E^x}, {{1 + x^2}}, {x}, {{0}}},
{x}, Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 3]tsys = 𝒞ℒ["TransformedSystem"]κ = StateFeedbackGains[StateSpaceModel[tsys], {-0.5, -1 + I, -1 - I}]csys = 𝒞ℒ[{"ClosedLoopSystem", κ}]OutputResponse[csys, 1, {t, 0, 20}];
Plot[%, {t, 0, 1}, PlotRange -> All]范围 (10)
基本用法 (6)
𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 4]𝒞ℒ["TransformedSystem"]SystemsModelLinearity[%]𝒞ℒ["EmbeddingTransformation"]𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], {4, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4]}}]𝒞ℒ[{"TransformedSystem", "EmbeddingTransformation"}]𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], {4, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4]}}]𝒞ℒ[{"TransformedSystem", "EmbeddingTransformation"}]𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], {4, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4]}, "Lexicographic"}]𝒞ℒ[{"TransformedSystem", "EmbeddingTransformation"}]CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 4, "TransformedSystem"]CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 4, {"TransformedSystem", "EmbeddingTransformation"}]NonlinearStateSpaceModel 的线性化:
𝒞ℒ = CarlemanLinearize[NonlinearStateSpaceModel[{{u + u^2 + x^2},
{x}}, {x}, {u}, {Automatic}, Automatic,
SamplingPeriod -> None], {4, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4]}}]𝒞ℒ["TransformedSystem"]SystemsModelLinearity[%]属性 (4)
CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 4, "Properties"]𝒞ℒ = CarlemanLinearize[AffineStateSpaceModel[{{x^2}, {{1}}, {x}, {{0}}}, {x},
Automatic, {Automatic}, Automatic, SamplingPeriod -> None], 4];𝒞ℒ["EmbeddingTransformation"]𝒞ℒ["TransformedSystem"]asys = AffineStateSpaceModel[{{x + x^2}, {{1}}, {x}, {{0}}},
{{x, -1}}, Automatic, {Automatic}, Automatic, SamplingPeriod -> None];𝒞ℒ = CarlemanLinearize[asys, {4, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4]}}]κ = StateFeedbackGains[StateSpaceModel@𝒞ℒ["TransformedSystem"], {-0.5, -1, -2 + I, -2 - I}]csys = 𝒞ℒ[{"ClosedLoopSystem", κ}]//Simplifyor = OutputResponse[{csys, -2}, 0, {t, 0, 5}];
Show[p = Plot[or, {t, 0, 5}, PlotRange -> All], PlotRange -> {{0, 0.5}, All}]𝒞ℒ[{"OriginalSystemController", κ}]Plot[𝒞ℒ[{"OriginalSystemController", κ}] /. x -> or, {t, 0, 0.5}, PlotRange -> All]csys1 = SystemsModelStateFeedbackConnect[asys, StateFeedbackGains[StateSpaceModel[asys], {-3}]]or1 = OutputResponse[{csys1, -2}, 0, {t, 0, 5}];
p1 = Plot[or1, {t, 0, 5}, PlotRange -> All, PlotStyle -> Dashed]Show[p, p1]asys = AffineStateSpaceModel[{{-2*x + x^2 - y + y^2,
x^2 - 2*y}, {{1}, {1}}, {x}, {{0}}},
{{x, -1}, {y, -1}}, Automatic, {Automatic}, Automatic,
SamplingPeriod -> None];𝒞ℒ = CarlemanLinearize[asys, {2, {Subscript[z, 1], Subscript[z, 2], Subscript[z, 3], Subscript[z, 4], Subscript[z, 5]}}]ℓ = EstimatorGains[StateSpaceModel@𝒞ℒ["TransformedSystem"], {-3, -4, -5, -6 + 2 I, -6 - 2I}]estim = 𝒞ℒ[{"OriginalSystemEstimator", ℓ}]or = OutputResponse[{asys, {-0.2, 0.1}}, 0, {t, 0, 5}];res1 = OutputResponse[SystemsModelDelete[estim, None, 3], Join[{0}, or], {t, 0, 5}];Plot[res1, {t, 0, 5}, PlotRange -> All]res = StateResponse[{asys, {-0.2, 0.1}}, 0, {t, 0, 5}];Plot[Evaluate@Flatten@{res, res1}, {t, 0, 5}, PlotRange -> All, PlotLegends -> {"State 1", "State 2", "Estimated State 1", "Estimated State 2"}]应用 (2)
基于 Carleman 线性化设计一个用于治疗 HIV-1 感染的疗法. 参数为健康细胞的衰减率
和产率
,感染率系数
,和病毒的衰减率
: »
pars = {d -> 0.02, s -> 10, θ -> 0.001, μ -> 0.24};asys = AffineStateSpaceModel[{{s - d*Subscript[x, 1] -
θ*Subscript[x, 1]*Subscript[x, 2],
(-μ)*Subscript[x, 2] + θ*Subscript[x, 1]*
Subscript[x, 2]},
{{θ*Subscript[x, 1]*Subscript[x, 2]},
{(-θ)*Subscript[x, 1]*Subscript[x, 2]}}},
{{Subscript[x, 1], (s - r*μ)/d},
{Subscript[x, 2], r}},
{{u, (s*θ - d*μ -
r*θ*μ)/(θ*
(s - r*μ))}}, {Automatic, Automatic}, Automatic,
SamplingPeriod -> None] /. parssr = StateResponse[asys /. r -> 10, 0.2, {t, 0, 20}];
Table[Plot[sr, {t, 0, 20}], {sr, sr}]𝒞ℒ = CarlemanLinearize[asys /. r -> 10, {{Subscript[x, 1], Subscript[x, 2], Subscript[x, 1]Subscript[x, 2]}}]ssm = StateSpaceModel[𝒞ℒ["TransformedSystem"]];κ = LQRegulatorGains[ssm, {DiagonalMatrix[{0.1, 50, 25}], {{3000}}}]csys = 𝒞ℒ[{"ClosedLoopSystem", κ}]//Simplifysr = StateResponse[{csys, {370, 14}}, 0, {t, 0, 600}];
Table[Plot[sr, {t, 0, 600}], {sr, sr}]-𝒞ℒ[{"OriginalSystemController", κ}];
Plot[% /. Thread[{Subscript[x, 1], Subscript[x, 2]} -> sr], {t, 0, 600}]使用 Carleman 线性化设计一个估计器,根据连续搅拌釜反应器(CSTR)中反应器的温度在来估计反应物浓度: »
aa = With[{c = (1 - Subscript[x, 1])Exp[Subscript[x, 2] / (1 + Subscript[x, 2] / γ)]}, {-Subscript[x, 1] + Subscript[d, a] c, -Subscript[x, 2] + b Subscript[d, a]c - β Subscript[x, 2]}];
bb = {{0}, {β}};
cc = {Subscript[x, 2]};pars = {β -> 1, Subscript[d, a] -> 1, b -> 1, γ -> 1};sys = AffineStateSpaceModel[{aa, bb, cc}, {Subscript[x, 1], Subscript[x, 2]}] /. pars𝒞ℒ = CarlemanLinearize[sys, 4]𝒞ℒ["TransformedSystem"]EstimatorGains[StateSpaceModel[%], -Range[1, 14]//N];estim = 𝒞ℒ[{"OriginalSystemEstimator", %}]𝒸 = StateResponse[{sys, {0.5, 3}}, 1, {t, 0, 7}][[1]];
Plot[𝒸, {t, 0, 7}, PlotRange -> All]ℴ = OutputResponse[{sys, {0.5, 3}}, 1, {t, 0, 7}];
𝒸ℯ = OutputResponse[estim, Join[{1}, ℴ], {t, 0, 7}][[1]];Plot[{𝒸, 𝒸ℯ}, {t, 0, 7}, PlotLegends -> {"Actual", "Estimated"}, PlotRange -> All]属性和关系 (1)
assm = AffineStateSpaceModel[
{{ω, (g*m*(m + M)*
Sin[θ])/(l*m^2 + l*m*
M - l*m^2*Cos[θ]^2) -
(l*m^2*ω^2*Cos[θ]*Sin[θ])/
(l*m^2 + l*m*M -
l*m^2*Cos[θ]^2), v,
(l^2*m^2*ω^2*Sin[θ])/
(l*m^2 + l*m*M -
l*m^2*Cos[θ]^2) -
(g*l*m^2*Cos[θ]*Sin[θ])/
(l*m^2 + l*m*M -
l*m^2*Cos[θ]^2)},
{{0}, {(-m)*(Cos[θ]/(l*m^2 +
l*m*M - l*m^2*
Cos[θ]^2))}, {0},
{l*(m/(l*m^2 +
l*m*M - l*m^2*
Cos[θ]^2))}}, {θ, x}, {{0}, {0}}},
{θ, ω, x, v}, {{F, 0}},
{θ, x}, Automatic, SamplingPeriod -> None];CarlemanLinearize[assm, 1, "TransformedSystem"]StateSpaceModel[assm]相关指南
-
▪
- 非线性控制系统
文本
Wolfram Research (2014),CarlemanLinearize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CarlemanLinearize.html.
CMS
Wolfram 语言. 2014. "CarlemanLinearize." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CarlemanLinearize.html.
APA
Wolfram 语言. (2014). CarlemanLinearize. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CarlemanLinearize.html 年
BibTeX
@misc{reference.wolfram_2026_carlemanlinearize, author="Wolfram Research", title="{CarlemanLinearize}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/CarlemanLinearize.html}", note=[Accessed: 06-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_carlemanlinearize, organization={Wolfram Research}, title={CarlemanLinearize}, year={2014}, url={https://reference.wolfram.com/language/ref/CarlemanLinearize.html}, note=[Accessed: 06-September-2026]}