为什么使用BSTSCHMR相对误差模型降阶和BSTSCHML函数的鲁棒控制工具箱2.0.10 (R14)产生错误的结果?

1视图(30天)
我使用鲁棒控制工具箱,以减少使用BST相对误差模型降阶系统模型。然而,我发现得到的降阶系统发现BSTSCHMR表现出显著的错误与原系统相比。

接受的答案

MathWorks支万博1manbetx持团队
这种现象是坏脾气的系统导致的结果数值不准确的模型降阶算法。
这通常是由于近奇异D矩阵。在这种情况下,调整这个D矩阵可能会导致一个更好的解决方案。然而,这可能扭曲系统高频动力学。下面的代码显示了这个过程(变量“sys”和num_reduced_states必须在工作区中定义):
% D系统近奇异矩阵
%假设系统。d = 1 e-5
sys1 =系统;
sys1。d = 1飞行;%这将无视更高频率的动态
[sysr1, 8月,hsv] = bstschml (sys1 1 num_reduced_states);
sysr1a = sysr1;
sysr1a。d = sys.d;% D回到初始值
%现在比较频率响应
波德(sys sysr1 sysr1a);
作为替代方案,如果你有Mu-Analysis和合成工具箱,您可以首先尝试重新平衡系统使用SRELBAL函数在执行这个模型之前减少。这将是完成如下:
[a, b, c, d] = ssdata(系统);
sysmat = pck (a, b, c, d);
[sysmatrb, sigrel] = srelbal (sysmat);
(a2、b2, c2, d2) = unpck (sysmatrb);
sys2 = ss (a2, b2 c2, d2);
[sysr2, 8月,hsv] = bstschml (sys 1 num_reduced_states);
%现在比较频率响应
波德(sys sysr2);

更多的答案(0)

类别

找到更多的在动态系统模型帮助中心文件交换

社区寻宝

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

开始狩猎!