MATLAB 帮助中心
最小实现或零极点相消
msys = minreal(sys)
msys = minreal(sys,tol)
[msys,U] = minreal(___)
msys = minreal(sys) 消除状态空间模型中不可控或无法观测的状态,或者使传递函数或零极点增益模型中的零极点对相消。输出 msys 具有最小阶数,并且与原始模型 sys 具有相同的响应特征。
msys
sys
示例
msys = minreal(sys,tol) 指定用于状态消除或零极点相消的容差。默认值为 tol = sqrt(eps),增大此容差会强制执行更多相消。
tol
sqrt(eps)
[msys,U] = minreal(___) 也为状态空间模型 sys 返回正交矩阵 U,使得 (UAUT,UB,CUT) 是 (A,B,C) 的卡尔曼分解。
U
全部折叠
此示例说明如何计算零极点增益模型的最小实现。
对于此示例,请考虑使用以下命令,这些命令会生成一个非最小零极点增益模型 cloop。
cloop
g = zpk([],1,1); h = tf([2 1],[1 0]); cloop = inv(1+g*h) * g
cloop = s (s-1) ------------------- (s-1) (s^2 + s + 1) Continuous-time zero/pole/gain model. Model Properties
要使在 s=1 处的零极点对相消,请使用 minreal 函数。
minreal
cloopmin = minreal(cloop)
cloopmin = s ------------- (s^2 + s + 1) Continuous-time zero/pole/gain model. Model Properties
此示例说明如何计算状态空间模型的最小实现。
对于此示例,假设有一个 25 状态 SISO 模型。加载该模型。
load('reduce.mat','gasf35unst'); size(gasf35unst)
State-space model with 1 outputs, 1 inputs, and 25 states.
要计算最小实现,请使用 minreal 函数。
[msys,U] = minreal(gasf35unst);
11 states removed.
使用此语法会返回一个状态空间模型 msys,以及一个用于计算卡尔曼分解的正交矩阵 U。该分解决定了原始状态空间模型的不可控和不可观测状态。然后,为了计算最小实现,minreal 消除了这些不可控或不可观测状态。默认情况下,该函数会删除此模型的 11 个状态。要强制消除接近不可控或不可观测的其他状态,您可以增加容差。
将容差增加到默认值的 100 倍。
tol = sqrt(eps)*100; [msys2,U2] = minreal(gasf35unst,tol);
16 states removed.
该函数现在会删除另外五个状态。
要简化的动态系统模型,指定为以下项之一:
连续时间或离散时间数值模型,如 ss、tf 或 zpk 模型。
ss
tf
zpk
广义或不确定状态空间模型,如 genss 或 uss (Robust Control Toolbox) 模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)
genss
uss
对于此类模型,该软件会计算模型数值部分的最小实现。有关这些模型的分解的详细信息,请参阅 getLFTModel 和Internal Structure of Generalized Models。
getLFTModel
辨识的状态空间 idss (System Identification Toolbox) 模型。(使用辨识模型需要 System Identification Toolbox™ 软件。)
idss
由动态系统模型组成的数组。
零极点相消或状态消除的容差,指定为正实数标量值。
简化的模型,以与 sys 相同类型的模型形式返回。
正交矩阵,以矩阵形式返回。当 sys 是状态空间模型时,U 一个 Nx×Nx 矩阵,其中 Nx 是 sys 中的状态数量。对于传递函数和零极点增益模型,该函数以空矩阵 [] 形式返回 U。
[]
零极点相消是直接在零极点中搜素位于容差范围内的匹配项的方法。传递函数首先转换为零极点增益形式。
reducespec
模型降阶器
Reduce Model Order
在 R2006a 之前推出
balreal | xelim | sminreal
balreal
xelim
sminreal
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处