ultidyn
不确定线性定常动力学
描述
ultidyn
对象表示不确定的线性定常动力学,其唯一已知的属性是其频率响应的边界。结合ultidyn
对象与其他动态系统模型和不确定元素相结合,对具有不确定动态的系统进行建模,表示为号航空母舰
或一族
模型。
创建
描述
输入参数
iosize
- - - - - -输出和输入维度
1(默认)|标量|形式向量(纽约ν)
不确定动态的输出和输入维数,指定为标量值或矢量的形式(纽约ν)
,在那里纽约
输出的数量和ν
是输入的数量。如果指定一个标量值N
,然后H
有N
输出和输入。
属性
类型
- - - - - -表示频率响应边界的形式
“GainBounded”
(默认)|“PositiveReal”
表示不确定动力学的频率响应边界的形式,指定为任意一种“GainBounded”
或“PositiveReal”
.属性的含义由该值决定绑定
属性如下:
“GainBounded”
-频率响应的极限表示为绝对增益的上限,使abs(H) <= H
(用于SISO动态)或hininfnorm (H) <= H
(MIMO动力学)在所有频率。“PositiveReal”
-频率响应的极限表示为实部的下界,使Real(H) >= H
(用于SISO动态)或H + H' >= 2*H。绑定
(MIMO动力学)在所有频率。
绑定
- - - - - -频率响应界
标量
频率响应的边界,指定为标量值。的值决定该值的含义类型
属性,如该属性的描述中所述。的默认值也取决于您如何设置类型
属性。
如果您没有指定
类型
或者如果你设置Type = 'GainBounded'
在对象创建时,默认值为Bound = 1
,即不确定动力学在所有频率下的最大绝对增益为1。如果你设置
Type = 'PositiveReal'
在对象创建时,默认值为Bound = 0
,即频率响应的实部在所有频率上均大于或等于0。
SampleStateDimension
- - - - - -随机样本中的状态数
3.(默认)|正整数
块的随机样本中的状态数,以整数形式指定。一些分析命令,如usample
而且波德
取不确定动力学的随机样本。这个性质决定了样本中的状态数。有关动态不确定性采样如何工作的更多信息,请参见生成不确定系统的样本.
SampleMaxFrequency
- - - - - -随机样本的最大频率
正
(默认)|积极的标量
随机抽样的最大频率,指定为正标量值。随机抽样的不确定动态不超过指定的值。
NominalValue
- - - - - -名义价值
党卫军
模型
此属性是只读的。
标称值,指定为状态空间模型,其输出和输入维度由iosize
.a的名义价值ultidyn
Block总是0,不管它所代表的动态是不确定的。
AutoSimplify
- - - - - -块简化级别
“基本”
(默认)|“全部”
|“关闭”
块简化级别,指定为“基本”
,“全部”
,或“关闭”
.一般来说,当您组合不确定元素来创建不确定状态空间模型时,软件会自动应用技术来消除不确定元素的冗余副本。(见简化
)。使用此属性可指定在对不确定块使用模型算法或互连技术时要应用的简化。
“基本”
-在每次算术运算或互连运算后应用初等化简方法。“全部”
-应用类似于模型还原的技术。“关闭”
—不进行简化。
名字
- - - - - -不确定元素名称
字符串|特征向量
不确定元素的名称,指定为字符串或字符向量并存储为字符向量。当您创建一个不确定的状态空间(号航空母舰
或一族
)模型使用不确定的控制设计块,软件使用您在此属性中指定的名称跟踪块,而不是MATLAB中的变量名称®工作区。例如,如果您创建了一个ultidyn
块使用H = ultidyn("Delta",2)
,并将该块与数值LTI模型结合块
生成的号航空母舰
模型列出了不确定控制设计块δ
.
InputName
- - - - - -输入通道名称
{"}
(默认)|特征向量|字符向量的单元格数组
输入通道的名称,指定为以下值之一:
字符向量-用于单输入模型
字符向量的单元数组-用于具有两个或多个输入的模型
”
—对于没有指定名称的输入
您可以使用自动向量展开为多输入模型分配输入名称。例如,如果sys
是一个双输入模型,输入:
sys。InputName =“控制”;
输入名称自动展开为{“控制(1)”,“控制”(2)}
.
你可以用速记法u
请参阅InputName
财产。例如,sys.u
等于sys。InputName
.
输入通道名有几种用途,包括:
识别模型显示和图上的通道
提取MIMO系统的子系统
在连接模型时指定连接点
你可以指定InputName
使用字符串,例如“电压”
,但输入名称存储为字符向量,“电压”
.
InputUnit
- - - - - -输入信号单位
{"}
(默认)|特征向量|字符向量的单元格数组
输入信号的单位,用下列值之一表示:
字符向量-用于单输入模型
字符向量的单元数组-用于具有两个或多个输入的模型
”
-对于没有指定单位的输入
使用InputUnit
为了跟踪每个输入信号的表达单位。InputUnit
对系统行为没有影响。
你可以指定InputUnit
使用字符串,例如“电压”
,但输入单位存储为字符向量,“电压”
.
例子:“电压”
例子:{“电压”,“转”}
InputGroup
- - - - - -输入通道组
不带字段的结构(默认)|结构
输入通道组,指定为一个结构,其中字段是组名,值是属于相应组的输入通道的索引。当你使用InputGroup
将MIMO系统的输入通道分配给组,需要访问时可以通过名称引用每个组。例如,假设您有一个五个输入的模型sys
,其中前三个输入为控制输入,其余两个输入为噪声。的控制和噪声输入sys
将各组分开。
sys.InputGroup.controls = [1:3];sys.InputGroup.noise = [4 5];
使用组名将子系统从控制输入提取到所有输出。
sys (:,“控制”)
例子:结构(“控制”,[1:3],“噪声”,[4 - 5])
OutputName
- - - - - -输出通道名称
{"}
(默认)|特征向量|字符向量的单元格数组
输出通道的名称,指定为以下值之一:
字符矢量-用于单输出模型
字符向量的单元数组-用于具有两个或多个输出的模型
”
—不指定名称的输出
您可以使用自动向量展开为多输出模型分配输出名称。例如,如果sys
是一个双输出模型,输入:
sys。OutputName =“测量”;
输出名称自动展开为{“测量(1)”,“测量”(2)}
.
你可以用速记法y
请参阅OutputName
财产。例如,sys.y
等于sys。OutputName
.
输出通道名有几种用途,包括:
识别模型显示和图上的通道
提取MIMO系统的子系统
在连接模型时指定连接点
你可以指定OutputName
使用字符串,例如“转”
,但输出名称存储为字符向量,“转”
.
OutputUnit
- - - - - -输出信号单位
{"}
(默认)|特征向量|字符向量的单元格数组
输出信号的单位,指定为下列值之一:
字符矢量-用于单输出模型
字符向量的单元数组-用于具有两个或多个输出的模型
”
—用于没有指定单位的输出
使用OutputUnit
为了跟踪每个输出信号的表达单位。OutputUnit
对系统行为没有影响。
你可以指定OutputUnit
使用字符串,例如“电压”
,但输出单位存储为字符向量,“电压”
.
例子:“电压”
例子:{“电压”,“转”}
OutputGroup
- - - - - -输出通道组
不带字段的结构(默认)|结构
输出通道组,指定为一个结构,其中字段是组名,值是属于相应组的输出通道的索引。当你使用OutputGroup
将MIMO系统的输出通道分配给组,需要访问时可以通过名称引用每个组。例如,假设您有一个四输出模型sys
,其中第二个输出是温度,其余是状态测量。将这些输出分配给单独的组。
sys.OutputGroup.temperature = [2];sys.OutputGroup.measurements = [1 3 4];
使用组名将子系统从所有输入提取到测量输出。
系统(“测量”:)
例子:Struct ('temperature',[2],'measurement',[1 3 4])
笔记
- - - - - -关于模型的文本注释
(0×1的字符串)
(默认)|字符串|字符向量的单元格数组
关于模型的文本注释,存储为字符向量的字符串或单元格数组。属性存储您提供的这两种数据类型中的任何一种。例如,假设sys1
而且sys2
是动态系统模型,并设置其笔记
属性分别设置为字符串和字符向量。
sys1。笔记=sys1有一个字符串。;sys2。笔记=sys2有一个字符向量;sys1。笔记sys2。笔记
Ans = "sys1有一个字符串" Ans = " sys2有一个字符向量"
用户数据
- - - - - -与模型相关的数据
[]
(默认)|任何数据类型
希望与模型关联并存储的任何类型的数据,指定为任何MATLAB数据类型。
Ts
- - - - - -样品时间
0(默认)|1|积极的标量
采样时间,指定为:
0 -连续时间模型。
正标量值-用于离散时间模型。中给出的单位指定采样时间
TimeUnit
模型的属性。- 1 -用于未指定采样时间的离散时间模型。
更改此属性不会对模型进行离散化或重新采样。
TimeUnit
- - - - - -模型时间单位
“秒”
(默认)|“分钟”
|的毫秒
|……
模型时间单位,指定为以下值之一:
“纳秒”
微秒的
的毫秒
“秒”
“分钟”
“小时”
“天”
“周”
“月”
“年”
你可以指定TimeUnit
使用字符串,例如“小时”
,但时间单位存储为字符向量,“小时”
.
建模属性,如采样时间Ts
,InputDelay
,OutputDelay
的单位表示,其他时延用TimeUnit
.更改此属性不会对其他属性产生影响,因此会改变整个系统行为。用于在不修改系统行为的情况下在时间单位之间进行转换。
对象的功能
许多适用于数值LTI模型的函数也适用于不确定的控制设计块,例如ultidyn
.这些包括模型互连功能,如连接
而且反馈
、线性分析函数等波德
而且stepinfo
.一些生成图的函数,例如波德
而且一步
,绘制不确定模型的随机样本,让您了解不确定动态的分布情况。但是,当您使用这些命令返回数据时,它们只对系统的标称值进行操作。下面的列表包含您可以使用的函数的一个代表性子集ultidyn
模型。
例子
频率相关的不确定动力学
要对频率相关的不确定性水平建模,请创建一个ultidyn
对象,并将其乘以合适的塑形过滤器。例如,假设你很好地了解低频情况下的系统动态,并且不想在该情况下引入不确定性,但你对高频动态了解较少。创建一个不确定动态系统模型,表示低频增益为0.1,高频增益为10的不确定性。
首先,创建一个SISOultidyn
在所有频率上增益小于1的块。
H = ultidyn(“H”, 1)
H =不确定LTI动态“H”与1输出,1输入,增益小于1。
接下来,用你想要的增益配置文件创建一个权重函数,从0.1增加到10。
W = tf([1 .1],[.]1 1]);
乘H
通过加权函数来创建所需的动态不确定性。检查所得到的不确定模型的随机样本,以确认不确定动力学的增益具有所需的频率相关边界。
Delta = W*H;bodemag(δ)
你可以结合δ
用其他模型来引入系统的动态不确定性。例如,假设您可以使用具有以下标称值的状态空间模型对系统建模。
A = [-5 10;-10 -5];B = [1 0;0 1];C = [1 10;-10 1];D = 0;Pnom = ss(A,B,C,D);
介绍δ
作为一个附加的不确定性。
Padd = Pnom + Delta;
或者,介绍δ
作为对输入的乘法不确定性Pnom
.
Pmult = Pnom*(1+Delta);
这两个台Padd上阅读清单
而且Pmult
是号航空母舰
有一个不确定块的模型ultidyn
块H
.
不确定动力学
创建一个ultidyn
具有内部名称的对象“H”
,以7为界的范数,三输入两输出。
H = ultidyn(“H”3 [2],“约束”7)
H =不确定LTI动态“H”与2输出,3输入,增益小于7。
通常,当您使用不确定动态时,您应用加权函数来强调在特定带宽中的不确定贡献。例如,假设系统的行为在低频时有一定的不确定性(比如10%),而超过20 rad/s的高频行为不能精确建模。使用补足重量的东西
创建捕捉此行为的整形筛选器。
W = makeweight(.1,20,50);bodemag (W)
在块输出处应用加权滤波器。检查未建模动态的样本。
Hw = blkdiag(W,W)*H;bodemag (Hw)
不确定动力学的奈奎斯特图
创建标量ultidyn
具有内部名称的对象“B”
,其频响实部大于2.5。
B = ultidyn(“B”[1],“类型”,“PositiveReal”,“约束”, 2.5)
B =不确定LTI动态“B”,具有1个输出,1个输入,并且正实界为2.5。
改变SampleStateDimension
到5,绘制30个随机样本的Nyquist图。
B.SampleStateDimension = 5;尼奎斯特(usample (B, 30))
版本历史
R2006a之前介绍R2020a:默认值SampleStateDimension
属性改变
的默认值SampleStateDimension
属性现在是3。R2020a之前,默认值为1。
SampleStateDimension
设置使用诸如分析命令所获取的不确定动态的随机样本中的状态数usample
而且波德
.与SampleStateDimension
= 1时,采样动态的所有Nyquist图都在(- 1,0)(频率= 0)或(1,0)(频率= 1)处接触增益界正
).更高的SampleStateDimension
产生其他频率的接触点,这意味着更好地覆盖最坏情况的可能性。(通过随机抽样达到最坏情况值的几率仍然很低。您可以使用抽样来大致了解不确定性的影响,但是对于严格的最差情况分析,可以使用以下命令wcgain
而且wcdiskmargin
)。的效果的一个例子SampleStateDimension
,请参阅生成不确定系统的样本.
的默认值的代码SampleStateDimension
为1,则更新代码以显式设置属性。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。