主要内容

getCompSensitivity

用在指定点上的互补灵敏度函数slLinearizer单反调谐器界面

描述

实例

林西= getCompSensitivity (s,pt)返回互补的灵敏度函数关联模型的指定分析点slLinearizer单反调谐器接口,s

软件执行所有的永久的空缺指定s当它计算林西.如果你配置了s.Parameters,或s、 操作点,或者两者兼有,getCompSensitivity执行多重线性化并返回互补灵敏度函数数组。

实例

林西= getCompSensitivity (s,pt,temp_opening)在指定的点考虑额外的、临时的开口temp_opening.例如,使用一个开口来计算外部开口的内环的互补灵敏度函数。

实例

林西= getCompSensitivity (___,mdl_index)返回批处理线性化结果的子集。mdl_index除前面语法中的任何输入参数外,指定感兴趣的线性化的索引。

当您只想获得批量线性化结果子集的互补灵敏度函数时,请使用此语法进行有效线性化。

实例

[林西,信息) = getCompSensitivity (___)返回额外的线性化信息。

例子

全部折叠

的互补灵敏度函数,在设备输出处计算ex_scd_simple_fdbk模型。

打开ex_scd_simple_fdbk模型。

mdl =“ex_scd_simple_fdbk”;open_system (mdl);

在此模型中:

数组$ $ \开始{}{1}& # xA; K (s) = {K_p} = 3 \ \ & # xA; G (s) = \压裂{1}{{s + 5}} & # xA; \{数组}$ $

创建一个slLinearizer模型的接口。

sllin=SLL线性化器(mdl);

要计算工厂输出的互补灵敏度函数,使用Y信号作为分析点。将此点添加到sllin

addPoint (sllin“y”);

求得在处的互补灵敏度函数Y

sys = getCompSensitivity (sllin,“y”);特遣部队(系统)
ans =从输入“y”到输出“y”:-3 ----- s + 8连续时间传递函数。

该软件增加了一个线性化输出在Y,然后是线性化输入,dy

sys传递函数从哪里来dyY,等于(美元)- I + g·^{1}门将美元

scdcascade模型,得到内环在处的互补灵敏度函数y2

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl);

创建一个slLinearizer模型的接口。

sllin=SLL线性化器(mdl);

计算内环处的互补灵敏度传递函数y2,使用y2信号作为分析点。为了消除外环的影响,在y1m.把这两点加起来sllin

addPoint (sllin, {“日元”,“y1m”});

得到内环的互补灵敏度函数为y2

sys = getCompSensitivity (sllin,“日元”,“y1m”);

在这里,“y1m”,第三个输入参数,指定外部循环的临时开口。

假设你批量线性化scdcascade多传递函数模型。对于大多数线性化,可以改变比例(Kp2)及积分增益(Ki2)的C2控制器在10%范围内。对于本例,计算内环的互补灵敏度函数的最大值为Kp2Ki2

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl);

创建一个slLinearizer模型的接口。

sllin=SLL线性化器(mdl);

改变比例(Kp2)及积分增益(Ki2)的C2控制器在10%范围内。

* Kp2 Kp2_range = linspace (0.9, 1.1 * Kp2, 3);* Ki2 Ki2_range = linspace (0.9, 1.1 * Ki2, 5);[Kp2_grid, Ki2_grid] = ndgrid (Kp2_range Ki2_range);参数(1)。Name =Kp2的;参数(1)。价值=Kp2_grid; params(2).Name =“Ki2”;参数(2)。价值=Ki2_grid; sllin.Parameters = params;

为了计算内环的互补灵敏度,使用y2信号作为分析点。为了消除外环的影响,在y1m.把这两点加起来sllin

addPoint (sllin, {“日元”,“y1m”})

的最大值的索引Ki2Kp2

mdl_index =参数(1)。价值==max(Kp2_range) & params(2).Value == max(Ki2_range);

获得在以下条件下的互补灵敏度传递函数:y2

sys = getCompSensitivity (sllin,“日元”,“y1m”,mdl_指数);

打开仿真软万博1manbetx件模型。

mdl =“watertank”;open_system (mdl)

创建一个线性化选项集,并设置StoreOffsets选择。

opt=线性化选项(“StoreOffsets”,真正的);

创建slLinearizer接口。

sllin = slLinearizer (mdl,选择);

在油箱输出口增加一个分析点。

addPoint (sllin“watertank /水箱系统”);

计算在处的互补灵敏度函数Y,得到相应的线性化偏移量。

(sys,信息)= getCompSensitivity (sllin,“watertank /水箱系统”);

查看偏移量。

信息。抵消
ans = struct with fields: x: [2x1 double] dx: [2x1 double] u: 1 y: 1 StateName: {2x1 cell} InputName: {'watertank/Water-Tank System'} OutputName: {'watertank/Water-Tank System'} Ts: 0

输入参数

全部折叠

到Simulink模型的接口,万博1manbetx指定为slLinearizer接口或单反调谐器接口。

分析点信号名称,指定为:

  • 字符向量或字符串-分析点信号名称。

    要确定与分析点相关联的信号名称,请键入s.该软件显示的内容s在MATLAB®命令窗口,包括分析点信号名称、块名称和端口号。假设分析点没有信号名,只有块名和端口号。您可以指定pt作为块名。使用不在分析点列表中的点s,首先添加点使用附加点

    您可以指定pt作为完整信号名称或块名称的唯一匹配部分。假设一个分析点的信号全名为“LoadTorque”.您可以指定pt“扭矩”只要“扭矩”信号名称的一部分不是用于其他分析点的吗s

    例如,pt='y1m'

  • 字符向量的单元格数组或字符串数组-指定多个分析点名称。例如,pt ={‘y1m’,‘y2m}

计算林西时,软件添加一个线性化输出,然后是一个线性化输入pt

考虑以下模型:

指定pt“y”:

软件计算林西作为传递函数dyY

如果您指定pt例如,作为多个信号pt={u',y'},软件添加一个线性化输出,然后在每个点上添加一个线性化输入。

dy是线性化的输入,和UY线性化输出。软件计算林西作为MIMO传递函数,具有从每个线性化输入到每个线性化输出的传递函数。

临时开启信号名称,指定为:

  • 字符向量或字符串-分析点信号名称。

    temp_opening必须在分析点列表中指定一个分析点s.要确定与分析点相关联的信号名称,请键入s.该软件显示的内容s在MATLAB命令窗口中,包括分析点的信号名称、块名称和端口号。假设一个分析点没有信号名称,只有块名称和端口号。您可以指定temp_opening作为块名。使用不在分析点列表中的点s,首先添加点使用附加点

    您可以指定temp_opening作为完整信号名称或块名称的唯一匹配部分。假设一个分析点的信号全名为“LoadTorque”.您可以指定temp_opening“扭矩”只要“扭矩”信号名称的一部分不是用于其他分析点的吗s

    例如,temp_opening = ' y1m '

  • 字符向量的单元格数组或字符串数组-指定多个分析点名称。例如,临时开口={y1m',y2m'}

感兴趣的线性化指数,指定为:

  • 逻辑值数组-感兴趣的线性化的逻辑数组索引。假设您改变两个参数,par1par2,并想要提取线性化的组合par1>0.5par2 < = 5.用途:

    params = s.Parameters;mdl_index = params(1). value >0.5 & params(2)。值< = 5;

    表达式参数(1)value > 0.5 & params(2)。值< 5使用逻辑索引并返回逻辑数组。这个逻辑阵列的大小与参数(1)。价值参数(2)。价值。每个条目都包含中对应条目表达式的逻辑求值参数(1)。价值参数(2)。价值

  • 正整数的向量-感兴趣的线性化的线性指数。假设你改变两个参数,par1par2,并想要提取线性化的组合par1>0.5par2 < = 5.用途:

    params = s.Parameters;mdl_index = find(params(1). value >0.5 & params(2)。值< = 5);

    表达式参数(1)value > 0.5 & params(2)。值< 5返回逻辑数组。找到返回逻辑数组中每个真实项的线性索引

输出参数

全部折叠

互补灵敏度函数,返回如下:

  • 如果没有配置s.Parameterss、 操作点,软件计算林西使用默认的模型参数值。该软件采用模型初始条件作为线性化工作点。林西作为状态空间模型返回。

  • 如果你配置s.Parameters只是,软件计算每个参数网格点的线性化。林西作为与参数网格大小相同的状态空间模型数组返回。

  • 如果你配置s、 操作点只是,软件计算每个指定的工作点的线性化。林西作为与相同大小的状态空间模型数组返回s、 操作点

  • 如果你配置s.Parameters和指定s、 操作点作为一个单一的工作点,软件对每个参数网格点进行线性化。该软件使用指定的工作点作为线性化工作点。林西作为与参数网格大小相同的状态空间模型数组返回。

  • 如果你配置s.Parameters和指定s、 操作点作为多个工作点对象,该软件对每个参数网格点进行线性化处理。软件要求s、 操作点是否与指定的参数网格大小相同s.Parameters.该软件利用相应的工作点和参数网格点计算每个线性化。林西作为与参数网格大小相同的状态空间模型数组返回。

  • 如果你配置s.Parameters和指定s、 操作点对于多个仿真快照次数,软件对每个快照时间和参数网格点组合进行仿真并线性化。假设您指定了一个大小为参数的网格PN快照时间。林西作为大小为N——- - - - - -P

线性化信息,作为带有以下字段的结构返回:

线性化偏移,返回为[]如果s、 Options.storeoffset错误的.否则,抵消返回为以下内容之一:

  • 如果林西是一个单一的状态空间模型,那么抵消是一个结构。

  • 如果林西是状态空间模型的数组吗抵消结构数组是否具有相同的维度林西

每个偏移量结构有以下字段:

领域 描述
x 用于线性化的状态偏移量,返回为长度的列向量Nx,在那里Nx状态数是多少林西
Y 用于线性化的输出偏移量,作为长度的列向量返回NY,在那里NY输出的数量在吗林西
U 用于线性化的输入偏移量,返回为长度的列向量NU,在那里NU输入的数量是多少林西
dx 连续时间系统的导数偏移量或离散时间系统的更新状态值,返回为长度的列向量Nx
StateName 状态名称,作为包含Nx与中的名称匹配的元素linsys。stateName
输入名称 输入名称,返回为包含NU与中的名称匹配的元素linsys。我NPUtName
OutputName 输出名称,返回为包含NY与中的名称匹配的元素linsys。OutputName
Ts 线性化系统的采样时间,作为与采样时间相匹配的标量返回linsys。Ts.对于连续时间系统,Ts0

如果抵消是一个结构数组,您可以配置LPV系统使用偏移量阻塞。要做到这一点,首先使用getOffsetsForLPV.例如,请参见使用LTI系统阵列逼近非线性行为

线性化诊断信息,返回为[]如果s、 Options.StoreAdvisor错误的.否则,顾问返回为以下内容之一:

  • 如果林西是一个单一状态空间模型,顾问是一个LinearizationAdvisor对象。

  • 如果林西是状态空间模型的数组,顾问LinearizationAdvisor具有相同尺寸的物体林西

LinearizationAdvisor对象存储单个线性化块的线性化诊断信息。为一个故障排除线性化结果使用LinearizationAdvisor对象,看到故障排除在命令行线性化结果

更多关于

全部折叠

互补的灵敏度函数

这个互补的灵敏度函数在某一点上为从该点上的附加扰动到同一点上的测量值的传递函数。与灵敏度函数相比,增加了干扰之后测量。

为了计算某分析点的互补灵敏度函数,x时,该软件添加一个线性化输出为x,然后是线性化输入,dx. 互补灵敏度函数是dxx

Simulink模型中的分析点万博1manbetx 怎样getCompSensitivity解释分析点 互补的灵敏度函数

传递函数的dxx

例如,考虑以下模型,其中计算的互补灵敏度函数为Y:

在此,软件在以下位置添加线性化输出:Y,然后是线性化输入,dy.互补灵敏度函数为Y,T的传递函数dyYT计算公式如下:

Y = G K ( Y + D Y ) Y = G K Y G K D Y ( + G K ) Y = G K D Y Y = ( + G K ) 1. G K T D Y

在这里单位矩阵的大小和GK.互补灵敏度传递函数为Y等于-1乘以闭环传递函数RY

一般来说,互补灵敏度函数,T,从参考信号计算到电厂输出,等于s在这里s敏感度函数在和点处吗是大小相等的单位矩阵。但是,因为getCompSensitivity添加线性化输出和输入同时,T,由getCompSensitivity,等于s

软件在计算互补灵敏度函数时不修改Simulink模型。万博1manbetx

分析点

分析点,由slLinearizer单反调谐器接口,在模型中识别与线性分析和控制系统调谐相关的位置。您使用分析点作为线性化命令的输入,例如getIOTransfer,getLoopTransfer,getSensitivity,getCompSensitivity.作为线性化命令的输入,分析点可以指定模型中的任意开环或闭环传递函数。当使用命令对控制系统进行调优时,您还可以使用分析点来指定设计需求系统

位置指模型中的特定块输出端口或此类输出端口中的总线元素。为方便起见,您可以使用源自此端口的信号的名称来指代分析点。

您可以添加分析点到slLinearizer单反调谐器接口,s,当您创建接口时。例如:

s = slLinearizer (“scdcascade”, {‘u1’,“日元”});

或者,您可以使用附加点命令。

来查看所有的分析要点s、类型s在命令提示下显示界面内容。对于s,显示内容包括块名称和端口号以及在此点发出的信号的名称。您还可以使用getPoints

有关如何使用分析点的详细信息,请参见为控制系统分析和设计标记感兴趣的信号为批量线性化标记感兴趣的信号

永久循环开口

永久的空缺,由slLinearizer单反调谐器接口,识别模型中软件中断信号流的位置。软件对这些开口进行线性化和调优。使用永久开口来隔离特定的模型组件。假设您有一个捕获飞机动力学的大型模型,并且您只想对机身进行线性分析。您可以使用永久开口来排除模型的所有其他组件。另一个例子是,当你的模型中有级联循环时,你想要分析一个特定的循环。

位置指模型中特定的块输出端口。为方便起见,您可以使用来自该端口的信号的名称来引用一个开口。

你可以在一个slLinearizer单反调谐器接口,s,当您创建接口或使用addOpening命令。要从永久洞口列表中删除位置,请使用removeOpening命令。

看所有的开口s、类型s在命令提示符处显示接口内容。为每一个永久开放s,显示包括块名称和端口号以及在此位置发出的信号的名称。还可以使用以下方法以编程方式获取所有永久循环开口的列表getOpenings

介绍了R2013b