主要内容

ultidyn

不确定线性定常动力学

描述

ultidyn对象表示不确定的线性定常动力学,其唯一已知的属性是其频率响应的边界。结合ultidyn对象与其他动态系统模型和不确定元素相结合,对具有不确定动态的系统进行建模,表示为号航空母舰一族模型。

创建

描述

例子

H= ultidyn (名字iosize创建一个ultidyn对象建模不确定动力学与增益界为1和输出和输入维度确定iosize

例子

H= ultidyn (名字iosize名称,值属性使用一个或多个名称-值参数。例如,设置增益绑定为0.1,set“约束”到0.1。

输入参数

全部展开

不确定动态的输出和输入维数,指定为标量值或矢量的形式(纽约ν),在那里纽约输出的数量和ν是输入的数量。如果指定一个标量值N,然后HN输出和输入。

属性

全部展开

表示不确定动力学的频率响应边界的形式,指定为任意一种“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。

块的随机样本中的状态数,以整数形式指定。一些分析命令,如usample而且波德取不确定动力学的随机样本。这个性质决定了样本中的状态数。有关动态不确定性采样如何工作的更多信息,请参见生成不确定系统的样本

随机抽样的最大频率,指定为正标量值。随机抽样的不确定动态不超过指定的值。

此属性是只读的。

标称值,指定为状态空间模型,其输出和输入维度由iosize.a的名义价值ultidynBlock总是0,不管它所代表的动态是不确定的。

块简化级别,指定为“基本”“全部”,或“关闭”.一般来说,当您组合不确定元素来创建不确定状态空间模型时,软件会自动应用技术来消除不确定元素的冗余副本。(见简化)。使用此属性可指定在对不确定块使用模型算法或互连技术时要应用的简化。

  • “基本”-在每次算术运算或互连运算后应用初等化简方法。

  • “全部”-应用类似于模型还原的技术。

  • “关闭”—不进行简化。

不确定元素的名称,指定为字符串或字符向量并存储为字符向量。当您创建一个不确定的状态空间(号航空母舰一族)模型使用不确定的控制设计块,软件使用您在此属性中指定的名称跟踪块,而不是MATLAB中的变量名称®工作区。例如,如果您创建了一个ultidyn块使用H = ultidyn("Delta",2),并将该块与数值LTI模型结合生成的号航空母舰模型列出了不确定控制设计块δ

输入通道的名称,指定为以下值之一:

  • 字符向量-用于单输入模型

  • 字符向量的单元数组-用于具有两个或多个输入的模型

  • —对于没有指定名称的输入

您可以使用自动向量展开为多输入模型分配输入名称。例如,如果sys是一个双输入模型,输入:

sys。InputName =“控制”

输入名称自动展开为{“控制(1)”,“控制”(2)}

你可以用速记法u请参阅InputName财产。例如,sys.u等于sys。InputName

输入通道名有几种用途,包括:

  • 识别模型显示和图上的通道

  • 提取MIMO系统的子系统

  • 在连接模型时指定连接点

你可以指定InputName使用字符串,例如“电压”,但输入名称存储为字符向量,“电压”

输入信号的单位,用下列值之一表示:

  • 字符向量-用于单输入模型

  • 字符向量的单元数组-用于具有两个或多个输入的模型

  • -对于没有指定单位的输入

使用InputUnit为了跟踪每个输入信号的表达单位。InputUnit对系统行为没有影响。

你可以指定InputUnit使用字符串,例如“电压”,但输入单位存储为字符向量,“电压”

例子:“电压”

例子:{“电压”,“转”}

输入通道组,指定为一个结构,其中字段是组名,值是属于相应组的输入通道的索引。当你使用InputGroup将MIMO系统的输入通道分配给组,需要访问时可以通过名称引用每个组。例如,假设您有一个五个输入的模型sys,其中前三个输入为控制输入,其余两个输入为噪声。的控制和噪声输入sys将各组分开。

sys.InputGroup.controls = [1:3];sys.InputGroup.noise = [4 5];

使用组名将子系统从控制输入提取到所有输出。

sys (:,“控制”

例子:结构(“控制”,[1:3],“噪声”,[4 - 5])

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

  • 字符矢量-用于单输出模型

  • 字符向量的单元数组-用于具有两个或多个输出的模型

  • —不指定名称的输出

您可以使用自动向量展开为多输出模型分配输出名称。例如,如果sys是一个双输出模型,输入:

sys。OutputName =“测量”

输出名称自动展开为{“测量(1)”,“测量”(2)}

你可以用速记法y请参阅OutputName财产。例如,sys.y等于sys。OutputName

输出通道名有几种用途,包括:

  • 识别模型显示和图上的通道

  • 提取MIMO系统的子系统

  • 在连接模型时指定连接点

你可以指定OutputName使用字符串,例如“转”,但输出名称存储为字符向量,“转”

输出信号的单位,指定为下列值之一:

  • 字符矢量-用于单输出模型

  • 字符向量的单元数组-用于具有两个或多个输出的模型

  • —用于没有指定单位的输出

使用OutputUnit为了跟踪每个输出信号的表达单位。OutputUnit对系统行为没有影响。

你可以指定OutputUnit使用字符串,例如“电压”,但输出单位存储为字符向量,“电压”

例子:“电压”

例子:{“电压”,“转”}

输出通道组,指定为一个结构,其中字段是组名,值是属于相应组的输出通道的索引。当你使用OutputGroup将MIMO系统的输出通道分配给组,需要访问时可以通过名称引用每个组。例如,假设您有一个四输出模型sys,其中第二个输出是温度,其余是状态测量。将这些输出分配给单独的组。

sys.OutputGroup.temperature = [2];sys.OutputGroup.measurements = [1 3 4];

使用组名将子系统从所有输入提取到测量输出。

系统(“测量”:)

例子:Struct ('temperature',[2],'measurement',[1 3 4])

关于模型的文本注释,存储为字符向量的字符串或单元格数组。属性存储您提供的这两种数据类型中的任何一种。例如,假设sys1而且sys2是动态系统模型,并设置其笔记属性分别设置为字符串和字符向量。

sys1。笔记=sys1有一个字符串。;sys2。笔记=sys2有一个字符向量;sys1。笔记sys2。笔记
Ans = "sys1有一个字符串" Ans = " sys2有一个字符向量"

希望与模型关联并存储的任何类型的数据,指定为任何MATLAB数据类型。

采样时间,指定为:

  • 0 -连续时间模型。

  • 正标量值-用于离散时间模型。中给出的单位指定采样时间TimeUnit模型的属性。

  • - 1 -用于未指定采样时间的离散时间模型。

更改此属性不会对模型进行离散化或重新采样。

模型时间单位,指定为以下值之一:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

你可以指定TimeUnit使用字符串,例如“小时”,但时间单位存储为字符向量,“小时”

建模属性,如采样时间TsInputDelayOutputDelay的单位表示,其他时延用TimeUnit.更改此属性不会对其他属性产生影响,因此会改变整个系统行为。用于在不修改系统行为的情况下在时间单位之间进行转换。

对象的功能

许多适用于数值LTI模型的函数也适用于不确定的控制设计块,例如ultidyn.这些包括模型互连功能,如连接而且反馈、线性分析函数等波德而且stepinfo.一些生成图的函数,例如波德而且一步,绘制不确定模型的随机样本,让您了解不确定动态的分布情况。但是,当您使用这些命令返回数据时,它们只对系统的标称值进行操作。下面的列表包含您可以使用的函数的一个代表性子集ultidyn模型。

全部展开

反馈 多型号反馈连接
连接 动态系统连接的框图
系列 两种型号串联
平行 两种型号并联
usample 生成不确定模型或元素的随机样本
usubs 用给定值代替不确定对象的不确定元素
一步 动态系统的阶跃响应图;阶跃响应数据
波德 波德图的频率响应,或幅度和相位数据
尼奎斯特 频率响应的奈奎斯特图

例子

全部折叠

要对频率相关的不确定性水平建模,请创建一个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(δ)

图中包含一个轴对象。axis对象包含21个line类型的对象。该对象表示Delta。

你可以结合δ用其他模型来引入系统的动态不确定性。例如,假设您可以使用具有以下标称值的状态空间模型对系统建模。

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号航空母舰有一个不确定块的模型ultidynH

创建一个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)

图中包含一个轴对象。axis对象包含一个line类型的对象。这个对象表示W。

在块输出处应用加权滤波器。检查未建模动态的样本。

Hw = blkdiag(W,W)*H;bodemag (Hw)

图中包含6个轴对象。轴对象1,标题From: In(1)包含21个类型为line的对象。该节点表示Hw。Axes对象2包含21个line类型的对象。该节点表示Hw。轴对象3,标题From: In(2)包含21个类型为line的对象。该节点表示Hw。Axes对象4包含21个line类型的对象。该节点表示Hw。轴对象5,标题From: In(3)包含21个类型为line的对象。 This object represents Hw. Axes object 6 contains 21 objects of type line. This object represents 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))

图中包含一个轴对象。axis对象包含30个line类型的对象。这个对象代表B。

版本历史

R2006a之前介绍

全部展开

Baidu
map