主要内容

getPeakGain

动态系统频率响应的峰值增益

描述

例子

gpeak= getPeakGain (sys以绝对单位返回动态系统模型的峰值输入/输出增益,sys

  • 如果sys则峰值增益为频率响应幅值的最大值。

  • 如果sys为MIMO模型,则峰值增益为频率响应2范数(跨频率的最大奇异值)的最大值sys.这个量也称为l<年代ub>∞规范的sys,与之相吻合H<年代ub>∞稳定系统的规范(见规范).

  • 如果sys是一个具有可调或不确定参数的模型,getPeakGain以的当前值或标称值计算峰值增益sys

  • 如果sys是一个模型数组,getPeakGain返回大小相同的数组sys,在那里gpeak (k) = getPeakGain (sys (:,:, k))

例子

gpeak= getPeakGain (sys托尔返回的峰值增益sys与相对精度托尔

例子

gpeak= getPeakGain (sys托尔fband返回频率区间内的峰值增益fband[fmin, fmax]与<年代pan class="inlineequation">0≤fmin<fmax.该语法还考虑了频带中的负频率[-fmax, -fmin]复系数模型。

例子

gpeakfpeak) = getPeakGain (<年代pan class="argument_placeholder">___也会返回频率fpeak此时增益达到峰值gpeak,可以包含前面语法中的任何输入参数。fpeak对于复系数的系统可以是负的。

例子

全部折叠

在以下传递函数中计算共振的峰值增益:

年代 y 年代 9 0 年代 2 + 1 5 年代 + 9 0

sys =特遣部队(90 (1.5,90));gpeak = getPeakGain(系统)
gpeak = 6.3444

getPeakGain命令返回以绝对单位表示的峰值增益。

以0.01%的相对精度计算传递函数中共振的峰值增益。

年代 y 年代 9 0 年代 2 + 1 5 年代 + 9 0

sys =特遣部队(90 (1.5,90));gpeak = getPeakGain (sys, 0.0001)
gpeak = 6.3444

第二个参数指定相对精度为0.0001。的getPeakGain命令返回一个值,该值小于传递函数的真峰值增益的0.0001(0.01%)。默认情况下,相对精度为0.01(1%)。

计算传递函数中高频共振的峰值增益

年代 y 年代 1 年代 2 + 0 2 年代 + 1 1 0 0 年代 2 + 年代 + 1 0 0

sys为1 rad/s和10 rad/s共振的乘积。

sys =特遣部队(1,(1、2、1))*特遣部队(100年,[1100]);fband =(8、12);gpeak = getPeakGain (sys, 0.01, fband);

fband论证原因getPeakGain返回8到12 rad/s之间的本地峰值增益。

找出在传递函数中哪一种共振具有更高的增益

年代 y 年代 1 年代 2 + 0 2 年代 + 1 1 0 0 年代 2 + 年代 + 1 0 0

sys为1 rad/s和10 rad/s共振的乘积。

sys =特遣部队(1,(1、2、1))*特遣部队(100年,[1100]);[gpeak, fpeak] = getPeakGain(系统)
gpeak = 5.0747
fpeak = 0.9902

fpeak频率是否与峰值增益相对应gpeak.在1 rad/s处的峰值是总的增益峰值sys

对于复系数系统,getPeakGain可以返回一个峰值在一个负或正的频率取决于形状和fband你指定。

生成具有复杂数据的随机状态空间模型。

rng(1) A = complex(randn(10),randn(10));B =复杂(randn (10, 3), randn (10, 3));C =复杂(randn (10), randn (10));D =复杂(randn(2、3),randn(2、3);sys = ss (A, B, C, D);

以0.1%的相对精度计算峰值增益。同时,指定fband[0, 1]计算频率区间[- 1,1]中的峰值。

[gPeak, fPeak] = getPeakGain (sys, 1 e - 3, [0,1])
gPeak = 126.2396
fPeak = -0.4579

在这个区间,sys在负频率值处达到峰值。在这个范围内创建一个奇异值图来确认结果。

w = linspace (1100);选择= sigmaoptions;opt.FreqScale =<年代pan style="color:#A020F0">“线性”;opt.MagUnits =<年代pan style="color:#A020F0">“abs”;sigmaplot (sys, w,选择)

图中包含一个轴对象。轴对象包含两个类型为line的对象。该对象表示sys。

现在计算频率区间[-50,-1]∪[1,50]内的峰值增益。为此,请指定fband(1、50)

[gPeak, fPeak] = getPeakGain (sys, 1 e - 3, [1, 50])
gPeak = 43.3303
fPeak = 1.8097

在这个区间,sys在正频率值处达到峰值。

在这个范围内创建一个奇异值图来确认结果。

w = linspace (-50, 5000);sigmaplot (sys, w,选择)

图中包含一个轴对象。轴对象包含两个类型为line的对象。该对象表示sys。

对于这个区间,getPeakGain返回图中显示的较小峰值的幅度和频率值。

输入参数

全部折叠

输入动态系统,指定为任何动态系统模型或模型数组。sys可以是SISO或MIMO。

峰值增益的相对精度,指定为一个正实标量值。getPeakGain计算gpeak使得两者之间的小数差gpeak真正的峰值增益sys不比托尔.默认值为0.01,即gpeak距离真正峰值增益的1%以内。

用于计算峰值增益的频率区间,指定为1乘2的实值矢量。指定fband作为这种形式的行向量[fmin, fmax]与<年代pan class="inlineequation">0≤fmin<fmax

对于复系数模型,getPeakGain计算范围内的峰值增益[-fmax, -fmin][fmin, fmax].因此,该函数可以返回一个负频率的峰值。

输出参数

全部折叠

动态系统模型或模型阵列的峰值增益sys,作为标量值或数组返回。

  • 如果sys是一个单一的模型吗gpeak为标量值。

  • 如果sys是一个模型数组吗gpeak数组的大小是否相同sys,在那里gpeak (k) = getPeakGain (sys (:,:, k))

增益达到峰值的频率gpeak,作为实标量值或实值数组返回。频率的单位为rad/TimeUnit,相对于TimeUnit的属性sys

  • 如果sys是一个单一的模型吗fpeak是一个标量。

  • 如果sys是一个模型数组吗fpeak数组的大小是否相同sys,在那里fpeak (k)峰值增益频率是sys (:,:, k)

fpeak对于复系数的系统可以是负的。

算法

getPeakGain采用[1].所有的特征值计算都是使用SLICOT库中的结构保持算法进行的。有关SLICOT库的更多信息,请参见http://slicot.org

参考文献

n.a. Bruinsma和M. Steinbuch。一个快速计算H的算法<年代ub>∞传递函数矩阵的范数系统与控制信函第四,14日(1990年4月):287 - 93。

另请参阅

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">(鲁棒控制工具箱)

介绍了R2012a