主要内容

balred

    描述

    例子

    rsys信息) = balred (sys订单计算一个降阶近似rsysLTI模型sys.所需的顺序(状态数)由订单.您可以通过设置一次尝试多个订单订单到一个整数的向量,在这种情况下rsys是简化模型的数组。balred也返回一个结构信息附加信息,如汉克尔奇异值(HSV)、误差界、正则化水平和格兰氏的Cholesky因子。

    例子

    (~信息) = balred (sys返回的结构信息不需要计算降阶模型。您可以使用此信息来选择减少的订单订单基于你想要的忠诚。

    请注意

    当考虑性能时,使用从上述语法获得的信息来选择所需的模型顺序,然后使用,避免计算Hankel奇异值两次rsys = balred (sys、订单信息)计算降阶模型。

    例子

    ___) = balred (___选择使用选项集计算简化模型选择你指定使用balredOptions.您可以指定用于消除状态的其他选项,使用绝对和相对误差控制,强调特定的时间或频带,以及分离稳定和不稳定模式。看到balredOptions创建和配置选项集选择

    例子

    balred (sys在图上显示汉克尔奇异值和近似误差。使用hsvplot自定义这个情节。

    例子

    全部折叠

    对于本例,使用Hankel奇异值图选择合适的阶数并计算降阶模型。

    对于这个实例,生成一个具有40个状态的随机离散时间状态空间模型。

    Rng (0) sys = drss(40);

    画出汉克尔奇异值balred

    balred(系统)

    图中包含一个axes对象。标题为Hankel奇异值和逼近误差的axis对象包含3个类型为bar、line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    对于本例,选择的顺序16因为它是一阶的绝对误差小于1的军医.通常,您可以根据所需的绝对或相对保真度来选择顺序。然后,计算降阶模型。

    rsys = balred (sys、16);

    通过绘制奇异值响应来验证绝对误差σ

    σ(sys sys-rsys)

    图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示sys, untitled1。

    从图中可以观察到,误差,用红色曲线表示,在下面-80分贝1的军医).

    对于本例,考虑一个具有65个状态的随机连续时间状态-空间模型。

    Rng (0) sys = rss(65);大小(系统)
    具有1个输出、1个输入和65个状态的状态空间模型。

    在图上想象汉克尔奇异值。

    balred(系统)

    图中包含一个axes对象。标题为Hankel奇异值和逼近误差的axis对象包含3个类型为bar、line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    对于这个实例,计算具有25、30和35个状态的降阶模型。

    订单= [25 30 35];rsys = balred (sys、订单);大小(rsys)
    3x1状态空间模型数组。每个模型有1个输出,1个输入,以及25到35个状态。

    计算系统的降阶近似:

    G 年代 年代 + 0 5 年代 + 1 1 年代 + 2 9 年代 + 1 0 - 6 年代 + 1 年代 + 2 年代 + 3.

    创建模型。

    Sys = zpk([-0.5 -1.1 -2.9],[-1e-6 -2 -1 -3],1);

    不包括在 年代 1 0 - 6 从稳定/不稳定分解的稳定项。为此,设置抵消选择balredOptions到一个大于要排除的极点的值。

    选择= balredOptions (“抵消”, 0.001,“StateProjection”“截断”);

    可视化汉克尔奇异值(HSV)和近似误差。

    balred (sys,选择)

    图中包含一个axes对象。标题为Hankel奇异值和逼近误差的axis对象包含3个类型为bar、line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    观察到第一个HSV是红色的,这表明它与一个不稳定模态相关。

    现在,用指定的选项计算一个二阶近似。

    [rsys,信息]= balred (sys 2选择);rsys
    rsys = 0.99113 (s + 0.5235 ) ------------------- ( s + 1 e-06) (s + 1.952)连续时间零/钢管/增益模型。

    注意这个柱子1 e-6在简化模型中没有变化rsys

    比较了原模型和降阶模型的响应。

    rsys bodeplot (sys,“r——”

    图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象表示sys、rsys。坐标轴对象2包含两个line类型的对象。这些对象表示sys、rsys。

    观察到原始模型的波德响应与降阶模型的波德响应基本匹配。

    简化高阶模型,关注特定频率范围内的动力学。

    加载一个模型并检查它的频率响应。

    负载(“highOrderModel.mat”‘G’) bodeplot (G)

    图中包含2个轴对象。axis对象1包含一个类型为line的对象。对象2包含一个类型为line的对象。这个对象表示G。

    G是一个48阶模型,在5.2 rad/s、13.5 rad/s和24.5 rad/s附近有几个较大的峰值区域,较小的峰值分布在多个频率上。假设在你的应用中,你只对第二个大峰附近的动态感兴趣,在10 rad/s到22 rad/s之间。将模型约简集中在感兴趣的区域上,以低阶近似获得良好的匹配。使用balredOptions指定频率间隔balred

    bopt = balredOptions (“StateProjection”“截断”“FreqIntervals”[10] 22日);GLim10 = balred (G 10 bopt);bopt GLim18 = balred (G, 18日);

    检查降阶模型的频率响应。此外,检查这些响应与原始响应之间的差异(绝对误差)。

    次要情节(2,1,1);bodemag (G, GLim10, GLim18 logspace(0.5、1.5,100));标题(“波德级阴谋”)传说(“原始”“订单10”“订单18”);次要情节(2,1,2);bodemag (G-GLim10 G-GLim18 logspace (0.5, 1.5,100));标题(的绝对误差图)传说(“订单10”“订单18”);

    图中包含2个轴对象。坐标轴对象1包含3个line类型的对象。这些对象代表Original, Order 10, Order 18。坐标轴对象2包含两个line类型的对象。这些对象代表10阶和18阶。

    在频率有限的能量计算中,即使是10阶近似在感兴趣的区域也相当好。

    对于本例,考虑SISO状态空间模型光盘同120个国家。在近似模型时,可以使用绝对误差或相对误差控制balred.本例比较了将这两种方法应用于便携式CD播放器设备的120状态模型时的情况crdom[1,2]

    加载CD播放机模型光盘

    负载cdromData.mat光盘大小(光盘)
    具有1个输出、1个输入和120个状态的状态空间模型。

    为了比较绝对误差控制和相对误差控制的结果,为每种方法创建一个选项集。

    opt_abs = balredOptions (“ErrorBound”“绝对”“StateProjection”“截断”);opt_rel = balredOptions (“ErrorBound”“相对”“StateProjection”“截断”);

    用这两种方法计算15阶的降阶模型。

    rsys_abs = balred (opt_abs cdrom, 15日);rsys_rel = balred (opt_rel cdrom, 15日);大小(rsys_abs)
    具有1个输出、1个输入和15个状态的状态空间模型。
    大小(rsys_rel)
    具有1个输出、1个输入和15个状态的状态空间模型。

    绘制原始模型的波德响应以及绝对误差和相对误差减小模型。

    博= bodeoptions;薄PhaseMatching =“上”;bodeplot(光盘,“b”。rsys_abs,“r”rsys_rel,‘g’博)传说(“原始(120个国家)”“绝对错误(15个州)”“相对误差(15个州)”

    图中包含2个轴对象。坐标轴对象1包含3个line类型的对象。这些对象表示原始(120个状态),绝对误差(15个状态),相对误差(15个状态)。Axes对象2包含3个line类型的对象。这些对象表示原始(120个状态),绝对误差(15个状态),相对误差(15个状态)。

    观察的Bode响应:

    • 相对误差减小模型rsys_rel几乎符合原始模型的响应sys在整个频率范围内。

    • 绝对误差减少模型rsys_abs匹配原始模型的响应sys只在收获最大的领域。

    参考文献

    1. 模型约简的基准示例,系统与控制理论子程序库(slice)。CDROM数据集是有权限复制的,请参见BSD3-license获取详细信息。

    2. A.Varga,《关于随机平衡相关模型的约简》,第39届IEEE决策与控制会议论文集。No.00CH37187),悉尼,新南威尔士州,2000,第2385-2390卷。3,doi: 10.1109/CDC.2000.914156。

    输入参数

    全部折叠

    动态系统,指定为SISO或MIMO动态系统模型.您可以使用的动态系统可以是连续时间或离散时间的数值LTI模型,例如特遣部队zpk,或党卫军模型。

    sys不稳定的两极,balred分解sys对其稳定部分和不稳定部分,仅对稳定部分进行了近似。使用balredOptions为稳定/不稳定分解指定其他选项。

    balred不支持频率响应数据金宝app模型、不确定和广义状态空间模型、PID模型或稀疏模型对象。

    所需的状态数,指定为整数或整数向量。您可以通过设置一次尝试多个订单订单到一个整数的向量,在这种情况下变化中作为简化模型数组返回。

    您还可以使用汉克尔奇异值和误差界信息来根据所需的模型保真度选择简化模型顺序。

    用于模型简化的其他选项,指定为选项集。您可以指定用于消除状态的其他选项,使用绝对和相对误差控制,强调特定的时间或频带,以及分离稳定和不稳定模式。

    看到balredOptions创建和配置选项集选择

    输出参数

    全部折叠

    降阶模型,作为动态系统模型或动态系统模型数组返回。

    关于LTI模型的附加信息,作为具有以下字段的结构返回:

    • HSV-汉克尔奇异值(状态对输入/输出行为的贡献)。在平衡输入到状态和状态到输出能量传输的状态坐标中,汉克尔奇异值度量每个状态对输入/输出行为的贡献。汉克尔奇异值对模型的顺序就像奇异值对矩阵秩的顺序一样。特别是小的汉克尔奇异值信号状态,可以丢弃以简化模型。

    • ErrorBound-以绝对或相对近似误差为界。info.ErrorBound (J + 1)限制J阶的误差。

    • 正则化-正则化级别⍴(仅针对相对误差)。在这里,sys取而代之的是(sys,⍴*我)(sys;⍴*我)这确保了在所有频率上都有定义良好的相对误差。

    • Rr罗依-革兰氏病的胆固醇因子。

    算法

    1. balred第一次分解G分成稳定和不稳定的部分:

      G G 年代 + G u

    2. 当你指定ErrorBound作为绝对balred的平衡截断方法[1]减少G年代.计算汉克尔奇异值(HSV)σj基于可控性和可观察性的葛兰姆。为订单r,绝对误差 G 年代 G r 是有界的 2 j r + 1 n σ j .在这里,n州数在吗G年代

    3. 当你指定ErrorBound作为相对balred的平衡随机截断方法[2]减少G年代.在广场G年代,计算HSVσj相位矩阵的 F W 1 G 在哪里W(年代)是稳定的,最小相位谱因子绯闻女孩的

      W 年代 W 年代 G 年代 G 年代

      为订单r,相对误差 G 年代 1 G 年代 G r 是有限的:

      j r + 1 H 1 + σ j 1 σ j 1 2 j r + 1 n σ j

      的时候, 2 j r + 1 n σ j 1

    选择功能

    应用程序

    减速器模型

    住编辑任务

    减少模型的顺序

    兼容性的考虑

    全部展开

    在R2017b中行为发生了改变

    参考文献

    [1] Varga, A.“计算奇异摄动近似的无平衡平方根算法”,第30届IEEE疾病控制与控制协会会长英国布莱顿(1991),1062-1065页。

    “平衡随机截断的相对误差界”,IEEE自动控制汇刊1988年,第33卷第10期

    另请参阅

    功能

    应用程序

    住编辑任务

    之前介绍过的R2006a