如何删除不需要的状态线性化模型的动态模型?金宝app

31日视图(30天)
MathWorks支金宝app持团队
MathWorks支金宝app持团队 2020年11月24日
编辑: 保罗 2021年10月8日
我有一个非线性动态系统的仿真软件模型。金宝app当我使用函数线性化模型在一个操作点“线性化”(修剪),30个州得到状态空间系统。模型预计,因为我确实有30个州。但并非所有这些状态有显著的动态效应的线性化模型,我的用例,输入/输出(I / O)的系统。最好的方法是什么删除不必要的状态从我的状态空间模型,减少必要的12个州是系统动力学的重要吗?

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2021年10月8日
对于下面的用例,“线性化”功能生成一个30多维状态空间模型存储在一个对象,例如,称为“linsys”。“linsys”商店30 x1向量的状态。如果你不知道具体的行对应的状态的状态向量,可以执行这个函数“balreal”执行Gramian-based输入/输出平衡的状态空间实现为了确定哪些国家对输入和输出的影响可以忽略不计。它返回对应的向量行索引可以忽略不计。然后,您可以使用该函数“莫德雷德”消除美国,不影响系统的I / O。
的一个例子如何实现上述工作流程可以在以下链接中找到:
的文档功能“线性化”、“balreal”,和“莫德雷德”可以发现分别如下:
1评论
保罗
保罗 2020年11月25日
除了在g的一个小条目删除状态,另一个consdieration可能删除州在某些频段,通常在高频率超过一定阈值。例如,
> > h =特遣部队([1 - 2],conv ([1], [1] 1/2000));
> > [sysb g] = balreal (h);
> > g
g =
5.223509018229017 e-01
4.776490981770978 e-01
g的两大要素是相同的值,但它仍然可能是适当的在某些用例来消除钢管(s = -2000。
医生freqsep
一个跟进的问题:有什么区别minreal balreal其次是莫德雷德的结合?例如,假设我有一个实现,系统,内部稳定但与,例如,uncontrollabe三种模式,难以察觉的,或两者兼而有之。然后我可以计算它的平衡的实现和三个额外的实现:
[sysb g] = balreal(系统);
sys1 = minreal(系统);
%进行讨论,认为g(8)对应于这三个模式
sys2 =莫德雷德(sysb开馆,“MatchDC”);
sys3 =莫德雷德(sysb开馆,“截断”);
大概sys2和sys3不同于彼此,他们会有不同的频率响应。但不是sys2或sys3相当于sys1(相同的频率响应)?如果不是,那么原问题的答案可能有点不同non-minimal realizatons。

登录置评。

更多的答案(0)

标签

没有标签了。

下载188bet金宝搏


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!