ss2ss
状态空间模型的状态坐标变换
说明
ss2ss 对状态空间模型的状态向量 x 执行相似变换 z = Tx。有关详细信息,请参阅算法。
示例
对状态空间模型执行相似变换。
生成随机状态空间模型和变换矩阵。
rng(0) sys = rss(5); t = randn(5);
执行变换,并绘制两个模型的频率响应。
tsys = ss2ss(sys,t); bode(sys,'b',tsys,'r--') legend

两个模型的响应非常接近。
ss2ss 仅对广义模型的数值部分的状态向量应用状态变换。
创建一个 genss 模型。
sys = rss(2,2,2) * tunableSS('a',2,2,3) + tunableGain('b',2,3)
Generalized continuous-time state-space model with 2 outputs, 3 inputs, 4 states, and the following blocks: a: Tunable 2x3 state-space model, 2 states, 1 occurrences. b: Tunable 2x3 gain, 1 occurrences. Model Properties Type "ss(sys)" to see the current value and "sys.Blocks" to interact with the blocks.
指定变换矩阵并获得变换结果。
T = [1 -2;3 5]; tsys = ss2ss(sys,T)
Generalized continuous-time state-space model with 2 outputs, 3 inputs, 4 states, and the following blocks: a: Tunable 2x3 state-space model, 2 states, 1 occurrences. b: Tunable 2x3 gain, 1 occurrences. Model Properties Type "ss(tsys)" to see the current value and "tsys.Blocks" to interact with the blocks.
对两个模型进行分解。
[H,B,~,~] = getLFTModel(sys); [H1,B1,~,~] = getLFTModel(tsys);
对从分解 sys 得到的模型单独进行变换。
H2 = ss2ss(H,T);
将此变换后的模型与从分解 tsys 得到的模型进行比较。
isequal(H1,H2)
ans = logical
1
两个模型相等。
文件 icEngine.mat 包含一个数据集,其中有 1500 个以 0.04 秒的采样率采集的输入-输出样本。输入 u(t) 是控制旁通怠速空气阀 (BPAV) 的电压 (V),输出 y(t) 是发动机转速 (RPM/100)。
使用 icEngine.mat 中的数据创建一个具有可辨识参数的状态空间模型。
load icEngine.mat z = iddata(y,u,0.04); sys = n4sid(z,4,'InputDelay',2);
指定一个随机变换矩阵。
T = randn(4);
获得变换结果。
sysT = ss2ss(sys,T);
比较频率响应。
bode(sys,'b',sysT,'r--') legend

响应非常接近。
ss2ss 还支持对具有复系数的模型执行相似变换。
对于此示例,生成一个具有复系数的随机状态空间模型。
rng(0) sys = ss(randn(5)+1i*randn(5),randn(5,3),randn(2,5)+1i*randn(2,5),0,.1);
指定一个包含复数据的变换矩阵。
T = randn(5)+1i*randn(5);
获得变换结果。
sysT = ss2ss(sys,T);
比较频率响应的奇异值。
sigma(sys,'b',sysT,'r--') legend

两个分支的响应非常接近。
输入参数
动态系统,指定为 SISO 或 MIMO 动态系统模型。您可以使用的动态系统包括:
广义或不确定的 LTI 模型,如
genss或uss(Robust Control Toolbox) 模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)对于此类模型,状态变换仅应用于模型的数值部分的状态向量。有关这些模型的分解的详细信息,请参阅
getLFTModel和Internal Structure of Generalized Models。辨识的状态空间
idss(System Identification Toolbox) 模型。(使用辨识模型需要 System Identification Toolbox™ 软件。)
如果 sys 是状态空间模型数组,ss2ss 会将变换 T 应用于数组中的每个单独模型。
算法
ss2ss 对状态空间模型的状态向量 x 执行相似变换 。
下表总结了 ss2ss 针对每种模型形式返回的变换结果。
| 输入模型 | 变换后的模型 |
|---|---|
具有以下形式的显式状态空间模型: | |
具有以下形式的描述符形式的(隐式)状态空间模型: | |
具有以下形式的辨识状态空间 ( | |
版本历史记录
在 R2006a 之前推出对于描述符形式的状态空间模型
ss2ss 现在返回
此前,该函数会返回以下变换结果。
ss2ss 不再支持稀疏二阶 (mechss) 模型。对 mechss 模型执行相似变换会破坏对称性,且不存在明显的通用形式。
MATLAB Command
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)