主要内容

getLoopTransfer

开环传递函数在指定点使用SLINESERIZER.slTuner接口

描述

例子

linsys= getLoopTransfer (年代,pt返回点对点开环传递函数在与之相关的模型的指定分析点处SLINESERIZER.slTuner接口,年代

软件强制所有的永久循环开口指定为年代它计算时linsys.如果你配置了s.Parameters,或s.OperatingPoints, 或两者,getLoopTransfer执行多次线性化并返回一个循环传递函数的数组。

例子

linsys= getLoopTransfer (年代,pt,符号指定用于计算开环响应的反馈符号。默认,linsys为正反馈开环传递函数。

符号-1计算负反馈开环传递函数的应用,假定负反馈定义linsys.许多经典的设计和分析技术,如尼奎斯特或根轨迹设计技术,使用负反馈约定。

闭环灵敏度为pt等于反馈(1 linsys标志)

例子

linsys= getLoopTransfer (年代,pt,temp_opening考虑在指定点的其他临时开口temp_opening.例如,使用开口来计算内环的环路传递函数,在工厂输入处测量,外环开放。

linsys= getLoopTransfer (年代,pt,temp_opening,符号指定临时开口和反馈符号。

例子

linsys= getLoopTransfer (___,mdl_index.返回批次线性化结果的子集。mdl_index.除了先前语法中的任何输入参数之外,还指定感兴趣的线性化的索引。

使用此语法进行高效的线性化,当您希望仅获得批次线性化结果的子集的循环传输功能。

例子

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

例子

全部收缩

获得回路传递函数,计算在e, 为了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;公司\{数组}$ $

创建一个SLINESERIZER.模型的接口。

sllin = slLinearizer (mdl);

获得循环传输功能e,把这一点加到Slin.作为分析点。

addpoint(slin,“e”);

获得循环传输功能e

sys = getLooptransfer(Slin,“e”);TF(SYS)
ANS =从输入“E”以输出“E”:-3 ----- S + 5连续时间传输功能。

该软件添加了线性化输出,打破了循环,并添加了线性化输入,,在e

sys传递函数来自哪里e.因为软件假定反馈是正的,所以它会返回sys作为门将美元

获取负反馈回路传递函数,计算e, 为了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;公司\{数组}$ $

创建一个SLINESERIZER.模型的接口。

sllin = slLinearizer (mdl);

获得循环传输功能e,把这一点加到Slin.作为分析点。

addpoint(slin,“e”);

获得循环传输功能e

sys = getLooptransfer(Slin,“e”,-1);TF(SYS)
ANS =从输入“E”输出“E”:3 ----- S + 5连续时间传输功能。

该软件添加了线性化输出,打破了循环,并添加了线性化输入,,在e

sys传递函数来自哪里e.因为第三个输入参数表示负反馈,软件返回sys作为$ gk $

获得内环的回路传递函数,计算在e2, 为了scdcascade模型。

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl);

创建一个SLINESERIZER.模型的接口。

sllin = slLinearizer (mdl);

要计算内环的循环传递函数,使用e2信号作为分析点。要消除外部循环的影响,请在y1m.把这些要点加到Slin.

addPoint (sllin, {'e2',“y1m”});

获取内圈环路传输功能e2

sys = getLooptransfer(Slin,'e2',“y1m”);

在这里,“y1m”,第三个输入参数,指定临时循环打开。该软件在计算时假设正反馈sys

假设您批量线性化scdcascade多重传递函数的模型。对于大多数线性化,你改变比例(kp2.)和积分增益(Ki2)的C2控制器,在10%的范围内。对于此示例,计算内循环的环路传输函数e2对于最大值kp2.Ki2

打开scdcascade模型。

mdl =“scdcascade”;open_system (mdl);

创建一个SLINESERIZER.模型的接口。

sllin = slLinearizer (mdl);

调整比例(kp2.)和积分增益(Ki2)的C2控制器在10%范围内。

kp2_range = linspace(0.9 * kp2,1.1 * kp2,3);ki2_range = linspace(0.9 * ki2,1.1 * ki2,5);[kp2_grid,ki2_grid] = ndgrid(kp2_range,ki2_range);Params(1).name ='kp2';参数(1)。价值=kp2._grid; params(2).Name =“Ki2”;params(2).value = ki2_grid;slin.parameters = params;

要计算内环的循环传递函数,使用e2信号作为分析点。要消除外部循环的影响,请在y1m.把这些要点加到Slin.

addPoint (sllin, {'e2',“y1m”});

确定的最大值的索引Ki2kp2.

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

获取内圈环路传输功能e2,打开外部循环。

sys = getLooptransfer(Slin,'e2',“y1m”1、mdl_index);

第四个输入参数指定了环路传输计算的负反馈。

打开Sim万博1manbetxulink模型。

mdl =“watertank”;Open_System(MDL)

创建一个线性化选项集,并设置储层器官选项。

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

创建SLINESERIZER.接口。

sllin = slLinearizer (mdl,选择);

在罐输出端口添加分析点。

addpoint(slin,'watertank /水箱系统');

计算分析点处的回路传递函数,得到相应的线性化偏移量。

[SYS,INFO] = GETLOOPTRANSFER(SLIN,'watertank /水箱系统');

查看偏移。

信息。偏移量
ANS =带字段的结构:x:[2x1 double] dx:[2x1 double] u:1 y:1 stateName:{2x1 cell} inputname:{'watertank /水箱系统'} outputname:{'watertank /水 -坦克系统'} TS:0

输入参数

全部收缩

接口到Simulink模型,指万博1manbetx定为SLINESERIZER.接口或一个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传递函数,从每个线性化输入到每个线性化输出都有一个传递函数。

反馈符号,指定为以下值之一:

  • +1(默认)getLoopTransfer返回正反馈开环传输功能。

  • -1- - - - - -getLoopTransfer返回负反馈开环传输功能。负反馈传递函数是-1乘以正反馈传递函数。

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

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

    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).value <= 5;

    表达方式参数(1)value > 0.5 & params(2)。值< 5使用逻辑索引并返回逻辑阵列。此逻辑阵列大小相同参数(1)。价值Params(2).Value.中对应项的表达式的逻辑求值参数(1)。价值Params(2).Value

  • 正整数矢量 - 利益线性化线性指标。假设你改变两个参数,PAR1PAR2,并希望为组合提取线性化par1 > 0.5par2 <= 5.使用:

    params = s.parameters;mdl_index = find(params(1).value> 0.5和params(2).value <= 5);

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

输出参数

全部收缩

点对点开环传输函数,如下所述返回:

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

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

  • 如果您配置了s.OperatingPoints仅,软件仅计算每个指定的操作点的线性化。linsys返回与?相同大小的状态空间模型数组s.OperatingPoints

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

  • 如果您配置了s.Parameters和指定s.OperatingPoints作为多个操作点对象,软件为每个参数网格点计算线性化。软件需要s.OperatingPoints是否与参数grid指定的大小相同s.Parameters.该软件使用相应的操作点和参数网格点计算每个线性化。linsys作为与参数grid相同大小的状态空间模型数组返回。

  • 如果您配置了s.Parameters和指定s.OperatingPoints对于多个模拟快照时间,软件对每个快照时间和参数网格点组合的模型进行模拟和线性化。假设您指定了一个大小为grid的参数pN快照时间。linsys作为大小的状态模型阵列返回N-经过-p

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

线性化偏移量,返回为[]如果s.Options.StoreOffsets.除此以外,偏移量返回为以下其中之一:

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

  • 如果linsys是一系列状态空间模型,然后偏移量结构数组的维数是否与linsys

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

描述
x 用于线性化的状态偏移,作为长度的列向量返回nx, 在哪里nx是州的数量linsys
y 用于线性化的输出偏移量,作为长度的列向量返回ny, 在哪里ny是输出的数量linsys
u 用于线性化的输入偏移,作为长度的列向量返回nu, 在哪里nu输入的数量是多少linsys
dx 连续时间系统的导数偏移或离散时间系统的更新状态值,以长度列向量返回nx
attnename. 状态名,作为包含nx中的名称匹配的linsys.statename.
InputName 输入名称,作为包含的单元格数组返回nu中的名称匹配的linsys。InputName
outputName. 输出名称,作为包含的单元数组返回ny中的名称匹配的linsys.outputname.
Ts 线性化系统的采样时间,作为符合采样时间的标量返回linsys.ts..对于连续时间系统,Ts0

如果偏移量是结构数组,可以配置LPV系统块使用偏移集。为此,请先使用所需格式将它们转换为所需的格式getoffsetsforlpv..例如,看到使用LTI系统数组近似非线性行为

线性化诊断信息,返回[]如果s.Options.StoreAdvisor.除此以外,顾问返回为以下其中之一:

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

  • 如果linsys是一系列状态空间模型,顾问是一系列的LinearizationAdvisor尺寸与尺寸相同的物体linsys

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

更多关于

全部收缩

循环传输功能

闭环传递函数在一点是点对点开环传递函数从一个加性干扰在一点到一个测量在同一点。

为了计算分析点的回路传递函数,x,软件增加一个线性化输出,插入一个循环中断,并增加一个线性化输入,dx.该软件计算转移功能dxx,它等于环路传输功能x

Simulink模型中的分析点万博1manbetx 如何getLoopTransfer解释分析点 循环传输功能

传递函数的dxx

例如,考虑下面的模型,在这里计算循环传递函数e

在这里,在e,软件增加一个线性化输出,插入一个循环中断,并增加一个线性化输入,.回路传递函数在e,l,来自转移功能el计算如下:

e G K l d e

计算-KG,使用u作为分析点getLoopTransfer

当计算环路传输功能时,软件不会修改Simulink模型。万博1manbetx

分析点

分析点,用于SLINESERIZER.slTuner接口,识别与线性分析和控制系统调谐相关的模型中的位置。您将分析点用作线性化命令的输入,例如getIOTransfer,getLoopTransfer,getSensitivity, 和getCompSensitivity.作为线性化命令的输入,分析点可以指定模型中的任何开环或闭环传递函数。当使用诸如此类的命令调优控制系统时,您还可以使用分析点来指定设计需求systune

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

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

s = slinearizer(“scdcascade”,{'U1',“日元”});

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

查看所有分析点年代, 类型年代在命令提示符中显示接口内容。对于每个分析点年代,显示包括块名称、端口号和此时产生的信号名称。您还可以通过编程获得使用的所有分析点的列表GetPoints.

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

永久性开口

永久性开口,用于SLINESERIZER.slTuner接口,识别软件打破信号流的型号内的位置。该软件强制执行这些开口以进行线性化和调整。使用永久开口来隔离特定的模型组件。假设您有一个大规模的模型捕获飞行器动态,并且您希望仅对机动帧进行线性分析。您可以使用永久开口来排除模型的所有其他组件。另一个例子是您在模型中具有级联循环,并且要分析特定循环。

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

您可以将永久性开口添加到SLINESERIZER.slTuner接口,年代创建接口时,或使用递抄命令。若要从永久开口列表中移除某个位置,请使用去掉命令。

查看所有的开口年代, 类型年代在命令提示符中显示接口内容。每个永久性开放年代,显示屏包括块名称和端口号以及发起此位置的信号的名称。您还可以编程方式使用所有永久循环开口的列表getOpenings

介绍在R2013B.