genss

广义状态空间模型

说明

广义状态空间(genss)模型的状态空间模型,包括可调参数或组件。genss当你把数字LTI模型包含可调部件(对照设计模块)型号机型出现。有关数字LTI模型和控制设计模块的更多信息,请参阅可调系数模型

可以使用广义状态空间模型来表示具有固定组件和可调组件混合的控制系统。将广义状态空间模型用于控制设计任务,如参数研究和使用命令(如systunelooptune

施工

建造genss模型:

  • 采用系列平行的LFT, 要么连接或算术运算符+-*/\^,以数字LTI模型与控制设计相结合的块。

  • 采用TF要么SS与一个或多个输入参数是一个广义矩阵(genmat),而不是一个数值数组

  • 转换任何数值LTI模型、控件设计块或slTuner接口(需要金宝app®控制设计™), 例如,系统,到genss形成使用:

    gensys = genss(SYS)

    什么时候?系统是一个slTuner接口,gensys包含所有在这个界面中指定的可调谐块和分析点。要计算一个特定的I / O传输函数,调用的可调谐模式getIOTransfer(gensys,IN,OUT). 在这里,外面的是分析的重点。(使用getPoints(SYS)得到的分析点的完整列表。)同样,计算一个特定的开环传递函数的可调谐模式,使用getLoopTransfer(gensys,loc). 在这里,位置感兴趣的分析点。

属性

阻碍

结构中含有包含在广义LTI模型或广义矩阵控制设计模块。的字段名阻碍名称每个控件设计块的属性。

可以使用点表示法更改这些控件设计块的某些属性。例如,如果广义LTI模型或广义矩阵中号包含雷阿尔卑可调参数一个,你可以改变的当前值一个使用:

M.Blocks.a.Value = -1;

A、 B、C、D

可调谐的,不确定的参数状态空间矩阵,存储为广义矩阵的依赖性(genmat),不确定矩阵(UMAT),或者双阵列。

这些性质进行建模的静电控制的设计模块的状态空间矩阵的依赖性,雷阿尔卑尿素ucomplex, 要么U复杂. 动态控制设计块,如tunableGain要么金枪鱼设置为当前值,内部延迟设置为零。

当相应的状态空间矩阵不依赖于任何静态控制设计的块,这些特性评估为双矩阵。

对于一个示例,请参见状态空间矩阵对参数的依赖性

Ë

ë矩阵,存储为双矩阵时广义状态空间等式是隐式的。价值E=[]意味着广义状态空间方程是显式的。有关隐式状态空间模型的详细信息,请参见状态空间模型

Statename的

状态名,存储为以下之一:

  • 特征向量 - 对于一阶模型,例如,'速度'

  • 字符向量的单元格数组-例如,对于具有两个或多个状态的模型,{'position';'velocity'}

  • “”-对于未命名的州。

您可以将状态名分配给genss只有当所有的控制设计块是静态模型。否则,它们相互连接创建之前指定的组件模型的状态名称genss模型。当你这样做的时候genss模型跟踪指定的状态名。例如,请参见轨道状态名称在广义状态空间模型

默认:“”所有州

StateUnit

状态单位标签,存储为以下之一:

  • 特征向量 - 对于一阶模型,例如,'多发性硬化症'

  • 字符向量的单元格数组-例如,对于具有两个或多个状态的模型,{'m';'m/s'}

  • “”-对于未命名的州。

StateUnit标签的每个状态的各单元为了便于说明,并且对系统的行为没有任何影响。

您可以指定国有单位的genss只有当所有的控制设计块是静态模型。否则,它们相互连接创建之前指定国家单位的组件模型genss模型。当你这样做的时候genss模型跟踪所分配的状态的单元。对于一个示例,请参见轨道状态名称在广义状态空间模型

默认:“”所有州

InternalDelay

向量保存内部延迟。

内部延迟产生,例如,当在具有延迟的系统上关闭反馈回路时,或当串联或并联连接延迟的系统时。有关内部延迟的详细信息,请参见具有时滞的闭环反馈

对于连续时间模型,内部延迟在由所指定的时间单位表示TIMEUNIT模型的属性。对于离散时间模型,内部延迟被表示为采样时间的整数倍TS。例如,InternalDelay = 3装置的三个采样周期的延迟。

您可以修改内部延迟的值。然而,条目的数量系统内部延迟不能改变,因为它是模型的结构特性。

InputDelay

输入延迟对于每个输入通道,指定为标量值或数值向量。对于连续时间系统中,存储在所述的时间单位指定输入的延迟TIMEUNIT财产。对于离散时间系统,以采样时间的整数倍指定输入延迟TS。例如,输入延迟=3装置的三个采样时间的延迟。

对于具有系统怒江输入,一组InputDelay怒江×1向量。该向量中的每个条目是表示用于相应输入通道的输入延迟的数值。

您还可以设置InputDelay一个标值应用相同的延迟到所有通道。

默认:0

OutputDelay

输出延迟。OutputDelay是一个数值向量指定为每个输出信道的时间延迟。对于连续时间系统中,存储在所述的时间单位指定输出延迟TIMEUNIT属性。对于离散时间系统中,指定的采样时间的整数倍的延迟输出TS。例如,输出延迟=3装置的三个采样周期的延迟。

对于具有系统尹恩惠输出,组OutputDelay尹恩惠×1矢量,其中每个条目是表示用于相应的输出信道的输出延迟的数值。您还可以设置OutputDelay一个标值应用相同的延迟到所有通道。

默认:0所有输出通道

TS

采样时间。对于连续时间模型,TS = 0. 对于离散时间模型,TS是表示采样周期的正标量。该值以TIMEUNIT模型的属性。为了表示与未指定的采样时间,设置一个离散时间模型TS = -1

更改此属性不离散或重新采样模式。

默认:0(连续时间)

TIMEUNIT

时间变量的单位,采样时间TS和模型中的任何时间延迟,指定为下列值之一:

  • “纳秒”

  • '微秒'

  • “毫秒”

  • “秒”

  • '分钟'

  • '小时'

  • '天'

  • “周”

  • '月'

  • '年份'

更改此属性对其他性能没有影响,因此改变了整个系统的行为。采用chgTimeUnit时间单位之间的转换,而无需修改系统行为。

默认:“秒”

InputName

输入信道的名称,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“控制”

  • 字符向量的单元阵列 - 对于多输入模型。

可替代地,使用自动向量扩展到多输入的模型分配输入名称。例如,如果系统是一个双输入模式,输入:

sys.InputName = '控制';

输入名称自动扩展为{'controls(1)';'controls(2)}

您可以使用速记符号ü参考InputName属性。例如,系统u相当于系统输入名

输入频道名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 互连模型时指定连接点

默认:“”所有输入通道

InputUnit

输入信道单元,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“秒”

  • 字符向量的单元阵列 - 对于多输入模型。

采用InputUnit跟踪输入信号单元。InputUnit对系统行为没有影响。

默认:“”所有输入通道

InputGroup

输入通道组。这个InputGroup属性可以指定MIMO系统的输入通道进行分组,并通过名称来引用每个组。指定输入的基团的结构。在这种结构中,字段名是组名称和字段值是属于各组的输入通道。例如:

sys.InputGroup.controls = [1 2];sys.InputGroup.noise = [3-5];

创建一个名为输入组控制噪声分别包括输入通道1、2和3、5。然后可以从控制输入到使用所有输出:

SYS(:, '对照')

默认:没有域结构

OutputName

输出通道名称,指定为以下之一:

  • 特征向量 - 对于单输出模式。例如,'测量'

  • 字符向量的单元阵列 - 对于多输出模式。

可替代地,使用自动向量扩展为多输出模式分配输出名称。例如,如果系统是双输出模式,输入:

sys.OutputName = '测量';

输出名称自动扩展为{ '测量(1)'; '测量(2)'}

您可以使用速记符号ÿ参考OutputName属性。例如,系统y相当于sys.OutputName

输出通道的名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 互连模型时指定连接点

默认:“”对于所有输出通道

OutputUnit

输出信道单元,指定为以下情况之一:

  • 特征向量 - 对于单输出模式。例如,“秒”

  • 字符向量的单元阵列 - 对于多输出模式。

采用OutputUnit跟踪输出信号单元。OutputUnit对系统行为没有影响。

默认:“”对于所有输出通道

OutputGroup

输出信道组。该OutputGroup属性可以指定MIMO系统的输出通道分成组,并通过名称来引用每个组。指定输出的基团的结构。在这种结构中,字段名是组名称和字段值是属于各组的输出通道。例如:

系统输出组温度=[1];系统输入组测量=[35];

创建一个名为输出组温度测量分别包括输出信道1和3、5。然后,您可以从测量输出使用:

SYS( '测量',:)

默认:没有域结构

名称

系统名,指定为字符向量。例如,'系统'1'

默认:“”

笔记

要与系统关联的任何文本,存储为字符串或字符向量的单元格数组。属性存储您提供的任何数据类型。例如,如果系统1系统2是动态的系统模型,你可以设置自己的笔记属性如下:

sys1.Notes =“sys1有一个字符串。”;sys2.Notes =“SYS2具有字符向量”。;系统1.Notes系统2.Notes
ANS = “SYS1有一个字符串”。ANS =“SYS2具有字符向量”。

默认:[0×1串]

用户数据

要与系统关联的任何类型的数据,指定为任何MATLAB®数据类型。

默认:[]

SamplingGrid

模型数组的采样网格,指定为数据结构。

对于由采样一个或多个自变量导出模型阵列,此属性跟踪与阵列中的每个模型相关联的变量的值。显示或打印模型阵列时将显示此信息。使用此信息将结果追溯到自变量。

将数据结构的字段名设置为采样变量的名称。将字段值设置为与数组中的每个模型关联的采样变量值。所有采样变量应为数值和标量值,所有采样值数组应与模型数组的维数匹配。

例如,假设在创建11×1阵列线性模型,sysarr公司通过在次服用的线性时变系统的快照T = 0:10. 下面的代码用线性模型存储时间样本。

sysarr.SamplingGrid =结构('时间',0:10分)

类似地,假设您创建了一个6乘9的模型数组,中号,通过独立地采样两个变量泽塔w ^。以下代码将在(泽塔,w)中号

的ζ,W] = ndgrid(<ζ电的6个值>,)M.SamplingGrid =结构(“泽塔”,泽塔,'W',西)

当您显示中号中,阵列中的每个条目包括对应的泽塔w ^值。

中号
M(:,:,1,1)的ζ= 0.3,W = 5] = 25 --------------秒2 + 3秒+ 25 M(:,:,2,1)的ζ= 0.35,W = 5] = 25 ----------------秒2 + 3.5秒+ 25 ...

对于由线性化在多个参数值的仿真模型或运行点,该软件填充生成的模型阵列金宝appSamplingGrid自动与变量值对应于阵列中的每个条目。例如,金宝appSimulink的控制设计命令线性化slLinearizer填入SamplingGrid通过这种方式。

默认:[]

实例

全部收缩

在本例中,您将创建一个带有一个可调参数的低通滤波器一个

F = 一个 小号 + 一个

由于的分子和分母系数可调因子块是独立的,你不能使用可调因子代表F。相反,结构F使用可调实参数对象雷阿尔卑

创建一个初始值为10

a=雷亚尔('一个',10)
A =名称: 'A' 值:10最低:-Inf最大:天道酬勤免费:1个实标量参数。

采用TF创建可调谐低通滤波器F

分子= A;分母= [1,];F = TF(分子,分母)
F=具有1个输出、1个输入、1个状态和以下块的广义连续时间状态空间模型:a:标量参数,2次出现。键入“ss(F)”查看当前值,键入“get(F)”查看所有属性,键入“F.Blocks”与块交互。

F是一个genss具有可调参数的对象一个在其阻碍属性。您可以连接F与其他可调或数字模型来创建更复杂的控制系统模型。对于一个示例,请参见与可调组件控制系统

这个例子显示了如何创建一个状态空间genss模型具有固定和可调参数。

一个 = [ 1 一个 + b 0 一个 b ] = [ - 3 0 1 ] C = [ 0 3 0 ] d = 0

哪里一个b是可调谐的参数,其初始值是-13, 分别。

创建使用可调参数雷阿尔卑

a=雷亚尔('一个',-1);B =雷阿尔卑('B',3);

用代数表达式定义广义矩阵一个b

A=[1A+b;0A*b];

一个是一个广义矩阵,其阻碍属性包含一个b。的初始值一个[1 2; 0 -3]中,从初始值一个b

创建定值状态空间矩阵。

B=[-3.0;1.5];C=[0.30];D=0;

采用SS创建状态空间模型。

系统=ss(A、B、C、D)
SYS =广义连续时间状态空间模型与1个输出,1个输入,2个状态,并且下面的块:一个:标量参数,2次出现。B:标量参数,2次出现。键入“SS(SYS)”查看当前值,“得到(SYS)”可以看到所有属性,以及“sys.Blocks”与块进行交互。

系统是广义LTI模型(genss)与可调参数一个b

此示例示出了如何创建具有两个固定的植物和传感器动力学和可调的控制部件的控制系统的可调谐模式。

考虑以下说明的控制系统。

假设植物响应 G 小号 = 1 / 小号 + 1 2 ,传感器动力学模型是 小号 小号 = / 小号 + 4 。控制器 C 是一个可调的PID控制器,预滤器 F = 一个 / 小号 + 一个 是与一个可调参数的低通滤波器,一个

创建表示工厂和传感器动力学模型。由于植物和传感器动力学是固定的,使用数字LTI模型表示它们。

G = ZPK([],[ -  1,-1],1);S = TF(5,[1〜4]);

要对可调组件建模,请使用控制设计块。创建控制器的可调表示C

C = tunablePID('C''PID');

C是一个tunablePID对象,它是一个控制设计块具有预定义的比例 - 积分 - 微分(PID)结构。

创建过滤器的模型 F = 一个 / 小号 + 一个 一个可调参数。

a=雷亚尔('一个',10);F = TF(A,[1]);

一个是一个雷阿尔卑(实际可调参数)初始值为10的对象。使用一个如在系数TF创建可调genss模型对象F

互连模型构造从完整的闭环响应模型[Rÿ

T =反馈(G * C,S)* F
T =广义连续时间状态空间模型与1个输出,1个输入端,5个状态,并以下块:C:参数PID控制器,1次发生。一个:标量参数,2次出现。键入“SS(T)”查看当前值,“得到(T)”可以看到所有属性,以及“T.Blocks”与块进行交互。

Ť是一个genss模型对象。相比于通过连接只有数字LTI模型所形成的聚集模式,Ť跟踪控制系统的可调谐元件。所述可调谐元件被存储在阻碍财产genss模型对象。检查Ť

T.Blocks
ANS =同场的结构:C:[1×1 tunablePID] A:[1x1的雷阿尔卑]

当您创建genss具有可调组件的控制系统的模型,可以使用诸如systune调整自由参数,以满足设计要求你指定。

创建一个genss与标记的状态地名模型。要做到这一点,在连接前标注成分LTI模型的状态。例如,连接两状态固定系数植物模型和一状态可调谐控制器。

A = [-1 -1;1 0];B = [1;0];C = [0 1];d = 0;G = SS(A,B,C,d);G.StateName = {'Pstate1''Pstate2'};C=调谐('C',1,1,1);L = G * C;

genss模型大号保留创建它的组件的状态名称。因为你没有指派状态名称可调谐组件C,软件会自动执行此操作。检查的州名大号确认他们。

五十、 州名
ANS =3X1细胞{'Pstate1'}{'Pstate2'}{'C.x1'}

将状态名自动分配给控制设计块允许您跟踪广义模型中哪些状态由可调组件提供。

也被保存国家的名字,当您转换genss建模为固定系数状态空间模型。为了确认,转换大号SS形成。

Lfixed = SS(L);Lfixed.StateName
ANS =3X1细胞{'Pstate1'}{'Pstate2'}{'C.x1'}

状态单位标签,存储在StateUnit财产genss模型的行为类似。

创建具有可调参数的广义模型,并检查一个这个参数的矩阵。为此,请检查一个广义模型的属性。

G = TF(1,[110]);K =雷阿尔卑(“k”,1);F = TF(K,[1个K]);L1 = G * F;L1.A
ANS =广义矩阵2行,2列,以下块:K:标量参数,2次出现。键入“双(ANS)”查看当前值,“得到(ANS)”可以看到所有属性,以及“ans.Blocks”与块进行交互。

一个属性是一个广义矩阵,保留对实体可调参数的依赖ķ. 状态空间矩阵性质一个Cd只保留静态参数的依赖关系。当。。。的时候genss模型具有动态控制的设计模块,这些被设置为它们的电流值,用于评估状态空间矩阵的特性。例如,检查一个矩阵性质genss具有可调PI块建模。

C = tunablePID('C''圆周率');L2 = G * C;L2.A
ANS =2×2-10.0000 0.0010 0 0

在这里,一个矩阵被存储为双矩阵,它的值是一个的当前值的矩阵L2

L2cur=ss(L2);L2cur.A
ANS =2×2-10.0000 0.0010 0 0

另外,使用SSDATA将所有控制的设计模块,以他们目前的或标称值,包括静态块。因此,下面的操作都返回的当前值一个矩阵L1

[A,B,C,d] = SSDATA(L1);一个
A =2×2-10 10-1
双(L1.A)
ANS =2×2-10 10-1
L1cur = SS(L1);L1cur.A
ANS =2×2-10 10-1

提示

  • 你可以操纵genss车型为普通SS楷模。分析命令,如预兆通过具有其当前值替换每个可调参数评估模型。

介绍了在R2011a