Qurak

Proportional derivative controller

示例 3 步,在同一个会话中按顺序运行。每一步都在引擎上执行过,下面的输出就是它实际产生的。

第 1 步
system = {x''[t] == u[t], x'[0] == x[0] == 0, u[0] == 1};
control = WhenEvent[Mod[t, τ], u[t] -> kp(xref - x[t] - td x'[t])];
params = {kp -> 1, td -> 1, τ -> 1, xref -> 1};

无输出——这一步是在为下一步做准备。

第 2 步
sol = NDSolve[{system, control} /. params, {x, u}, {t, 0, 12}, DiscreteVariables -> u];

无输出——这一步是在为下一步做准备。

第 3 步
Plot[Evaluate[{xref /. params, x[t], u[t]} /. sol], {t, 0, 12}, PlotLegends -> {"xref", "x(t)", "u(t)"}]
输出
-Graphics-

用到的函数

相关操作示例

全部操作示例 · 函数参考 · 从 MCP 客户端使用