主要内容

getSensitivity

灵敏度函数在指定点使用slLinearizerslTuner接口

描述

例子

linsys= getSensitivity (年代pt返回灵敏度函数关联模型的指定分析点slLinearizerslTuner接口,年代

软件执行所有的永久的空缺指定年代当它计算linsys.如果你配置了s.Parameters,或s.OperatingPoints,或者两者兼有,getSensitivity执行多个线性化并返回一个灵敏度函数数组。

例子

linsys= getSensitivity (年代pttemp_opening在指定的点考虑额外的、临时的开口temp_opening.例如,使用一个开口来计算外环打开时内环的灵敏度函数。

例子

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

当您只想为批处理线性化结果的一个子集获取灵敏度函数时,请使用此语法进行有效的线性化。

例子

linsys信息) = getSensitivity (___返回额外的线性化信息。

例子

全部折叠

ex_scd_simple_fdbk模型,得到在植物输入处的灵敏度,u

打开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 = slLinearizer (mdl);

为了获得在植物输入处的灵敏度,u,添加u作为一个分析点sllin

addPoint (sllin“u”);

获得在工厂输入处的灵敏度,u

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

软件使用线性化输入,,线性化输出u来计算sys

sys传递函数从哪里来u,等于美元(I +公斤)^ {1}$

scdcascade模型,得到输出处的内环灵敏度G2,外环打开。

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl)

创建一个slLinearizer模型的接口。

sllin = slLinearizer (mdl);

来计算输出处的灵敏度G2,可以使用y2信号作为分析点。为了消除外环的影响,在y1m.把这两点加起来sllin

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

获得的灵敏度为y2外环打开。

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

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

假设你批量线性化scdcascade多传递函数模型。对于大多数线性化,您可以改变比例(Kp2)及积分增益(Ki2)的C2控制器在10%范围内。对于本例,获得在的输出处的灵敏度G2时,外环开,取最大值Kp2Ki2

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl)

创建一个slLinearizer模型的接口。

sllin = slLinearizer (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;

来计算输出处的灵敏度G2,可以使用y2信号作为分析点。为了消除外环的影响,在y1m.把这两点加起来sllin分析点。

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

的最大值的索引Ki2Kp2

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

得到在的输出处的灵敏度G2指定的参数组合。

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

打开仿真软金宝app件模型。

mdl =“watertank”;open_system (mdl)

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

选择= linearizeOptions (“StoreOffsets”,真正的);

创建slLinearizer接口。

sllin = slLinearizer (mdl,选择);

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

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

计算分析点处的灵敏度函数,得到相应的线性化偏移量。

(sys,信息)= getSensitivity (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模型的接口,金宝app指定为slLinearizer接口或一个slTuner接口。

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

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

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

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

    例如,pt = ' y1m '

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

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

考虑以下模型:

指定pt作为“u”

软件计算linsys作为传递函数u

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

dy为线性化输入,uy线性化输出。软件计算linsys作为一个MIMO传递函数,其传递函数从每个线性化输入到每个线性化输出。

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

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

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

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

    例如,temp_opening = ' y1m '

  • 字符向量或字符串数组的单元格数组-指定多个分析点名称。例如,temp_opening ={‘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.OperatingPoints,软件计算linsys使用默认的模型参数值。该软件采用模型初始条件作为线性化工作点。linsys作为状态空间模型返回。

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

  • 如果你配置s.OperatingPoints只是,软件计算每个指定的工作点的线性化。linsys返回的状态空间模型数组大小与s.OperatingPoints

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

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

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

对于大多数的模型,linsys作为党卫军对象或数组党卫军对象。但是,如果您的模型在定义的线性化路径中包含下列块之一pt,然后linsys返回指定的状态空间模型类型。

linsys类型
块,使用指定为一族对象或可调模型对象 一族
使用指定为不确定模型的替换块,例如号航空母舰 号航空母舰(鲁棒控制工具箱)
稀疏的二阶 mechss
描述符状态块配置为线性化到稀疏模型 桅杆

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

线性化偏移量,返回为[]如果s.Options.StoreOffsets.否则,偏移量以下列方式之一返回:

  • 如果linsys那么,是一个单一的状态空间模型吗偏移量是一个结构。

  • 如果linsys是状态空间模型的数组吗偏移量结构数组是否具有相同的维度linsys

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

描述
x 用于线性化的状态偏移量,返回为长度的列向量nx,在那里nx状态数是多少linsys
y 用于线性化的输出偏移量,作为长度的列向量返回ny,在那里ny输出的数量在吗linsys
u 用于线性化的输入偏移量,返回为长度的列向量nu,在那里nu输入的数量是多少linsys
dx 连续时间系统的导数偏移量或离散时间系统的更新状态值,返回为长度的列向量nx
StateName 状态名称,返回为包含nx中的名称匹配的元素linsys。年代tateName
InputName 输入名称,返回为包含nu中的名称匹配的元素linsys。我nputName
OutputName 输出名称,返回为包含ny中的名称匹配的元素linsys。OutputName
Ts 线性化系统的采样时间,作为与采样时间相匹配的标量返回linsys。Ts.对于连续时间系统,Ts0

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

线性化诊断信息,返回为[]如果s.Options.StoreAdvisor.否则,顾问以下列方式之一返回:

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

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

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

更多关于

全部折叠

灵敏度函数

灵敏度函数,也被简单地称为灵敏度,用来测量信号对附加干扰的敏感度。灵敏度是一个闭环测量。反馈降低了在开环增益大于的频段的灵敏度1

为了计算分析点的灵敏度,x时,软件注入干扰信号,dx在这一点上。然后,软件计算传递函数dxx,它等于在的灵敏度函数x

Simulink模型中的分析点金宝app 如何getSensitivity解释分析点 灵敏度函数

传递函数的dxx

例如,考虑以下模型,其中计算灵敏度函数为u

在这里,软件注入一个干扰信号()u.的敏感性u年代u的传递函数u.软件计算年代u如下:

u d u K G u + K G u d u u + K G 1 d u 年代 u + K G 1

在这里,单位矩阵的大小和KG

类似地,要计算在y时,软件注入干扰信号(dy)y.该软件计算灵敏度函数作为传递函数dyy.这个传递函数等于(+GK-1,在那里单位矩阵的大小和GK

在计算灵敏度传递函数时,软件不修改Simulink模型。金宝app

分析点

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

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

您可以添加分析点到slLinearizerslTuner接口,年代,当您创建接口时。例如:

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

或者,您可以使用addPoint命令。

来查看所有的分析要点年代、类型年代在命令提示符处显示接口内容。对于每个分析点年代,显示包括块名称和端口号,以及由此发出的信号的名称。您还可以使用以下方法以编程方式获取所有分析点的列表getPoints

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

永久的空缺

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

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

你可以在一个slLinearizerslTuner接口,年代,当您创建接口或使用addOpening命令。要从永久开口列表中删除某个位置,请使用removeOpening命令。

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

介绍了R2013b