号航空母舰
状态空间模型不确定
描述
使用号航空母舰
模型对象来表示不确定的动态系统。
模型不确定性的两种主要形式:
不确定性参数的微分方程模型(状态空间矩阵不确定)
频域的不确定性,这常常量化模型不确定性通过描述绝对或相对频率响应的不确定性(或未建模不确定线性动力学)
号航空母舰
模型对象可以表示动态系统其中一种或两种形式的不确定性。您可以使用号航空母舰
进行鲁棒稳定性和性能分析和测试控制器的鲁棒性设计。
创建
有几种方法可以创建一个号航空母舰
模型对象,包括:
使用
特遣部队
与一个或多个不确定的实际参数(尿素的
)。例如:p =尿素的(“p”1);忙=特遣部队(p, p [1]);
另一个例子,看到传递函数与不确定的系数。
使用
党卫军
不确定状态空间矩阵(umat
)。例如:p =尿素的(“p”1);一个= [0 3 * p;- p p ^ 2);B = [0;p];C = 1 (2);D = 0 (2, 1);忙= ss (A, B, C, D);
另一个例子,看到状态空间模型不确定。
结合数字LTI模型使用模型不确定元素互连命令等
连接
,系列
,或平行
,或模型等算术运算符*,+,-。例如:sys =特遣部队([1]);p =尿素的(“p”1);D = ultidyn (“δ”[1]);忙= p * sys * (1 + 0.1 * D);
另一个例子,看到与不确定的动态系统。
将两个数组或数字线性时不变模型
号航空母舰
形式使用忙=号(系统)
。在这种情况下,产生的号航空母舰
模型对象没有不确定的元素。例如:特遣部队(M = 1, (1 1 1));忙=号航空母舰(M);
使用
ucover
创建一个号航空母舰
模型的可能的频率响应范围包括所有反应数值数组线性时不变模型。由此产生的模型表达行为的范围动态不确定性(ultidyn
)。
属性
NominalValue
- - - - - -不确定模型的标称值
党卫军
模型对象
标称值的不确定性模型,指定为非整数(党卫军
)模型对象。通过状态空间模型设置的所有不确定的控制设计块不确定模型以其名义值。
不确定性
- - - - - -不确定的因素
结构
不确定的模型元素,指定为一个结构的字段的名称不确定的块,控制设计街区本身的值。因此,结构中存储的值尿素的
,umat
,ultidyn
或其他不确定的控制设计。例如,以下命令创建一个不确定的模型忙
有两个不确定的参数,p1
和p2
。
p1 =尿素的(“p1”1);p2 =尿素的(“p2”3);一个= [0 3 * p1;p1 p1 ^ 2);B = [0;p2);C = 1 (2);D = 0 (2, 1);忙= ss (A, B, C, D);
的不确定性
的属性忙
结构有两个字段,p1
和p2
相应的,其值尿素的
不确定的参数。
usys.Uncertainty
ans =结构体字段:p1, p2[1×1尿素的]:[1×1尿素的]
你可以访问或单独检查每个不确定的参数。例如:
get (usys.Uncertainty.p1)
NominalValue: 1模式:“加减符”范围:[0 2]加减符:[1]比例:100年[-100]AutoSimplify:“基本”的名字:“p1”
A, B, C, D, E
- - - - - -状态矩阵
数字矩阵|不确定的矩阵
这个属性是只读的。
状态矩阵,指定为数字矩阵或不确定的矩阵(umat
)。了状态矩阵评价修复所有动态不确定性块(udyn
,ultidyn
)的名义值。
一个
——状态矩阵一个,指定为一个方阵umat
尽可能多的行和列有系统状态。B
——Input-to-state矩阵B,指定为一个矩阵umat
尽可能多的行有系统状态和尽可能多的列有系统输入。C
——State-to-output矩阵C,指定为一个矩阵umat
尽可能多的行有系统输出和尽可能多的列有系统状态。D
——直通的矩阵D,指定为一个矩阵umat
尽可能多的行有系统输出和尽可能多的列有系统输入。E
- - - - - -E状态空间模型,隐式矩阵(描述符)指定为一个矩阵或umat
相同的尺寸一个
。默认情况下E = []
,这意味着状态方程是显式的。指定一个隐式状态方程Edx/dt=斧头+部,将此属性设置为一个方阵的大小一样一个
。看到dss
关于状态空间模型描述符的更多信息。
StateName
- - - - - -国家的名字
{"}
(默认)|特征向量|单元阵列的特征向量
国家名称,指定这些值之一:
特征向量为一阶模型
单元阵列模型的特征向量,与两个或两个以上的国家
”
——匿名状态
您可以指定StateName
使用一个字符串,如“速度”
,但国家的名字存储为特征向量,“速度”
。
例子:“速度”
例子:{x1, x2的}
StateUnit
- - - - - -国家单位
{"}
(默认)|特征向量|单元阵列的特征向量
国家单位,指定这些值之一:
特征向量为一阶模型
单元阵列模型的特征向量,与两个或两个以上的国家
”
——对国家没有指定单位
使用StateUnit
跟踪每个州的单位表示。StateUnit
没有对系统行为的影响。
您可以指定StateUnit
使用一个字符串,如“英里”
,但国家单位被存储为一个特征向量,“英里”
。
例子:“英里”
例子:{“转”,“rad / s”}
InternalDelay
- - - - - -内部延迟
标量|向量
内部延迟,指定为一个标量或矢量。对于连续时间模型,内部延迟是在指定的时间单位表示TimeUnit
模型对象的属性。对于离散时间模型,内部延迟表示为整数倍的样品时间Ts
。例如,InternalDelay = 3
意味着三个采样周期的延迟。
您可以修改内部延迟的值。然而,条目的数量InternalDelay
不能改变,因为它是一个结构模型的属性。
内部延迟出现,例如,当关闭反馈回路系统延迟,或者当串联或并联连接延迟系统。关于内部延迟的更多信息,请参阅与时间延迟关闭反馈回路。
InputDelay
- - - - - -在输入延迟
0(默认)|标量|向量
在每个输入延迟,指定为一个标量或矢量。为一个系统ν
输入,设置InputDelay
到一个ν
1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。对于连续时间模型,指定输入延迟中存储的时间单位TimeUnit
模型对象的属性。对于离散时间模型,指定输入整数倍的样品时间延迟Ts
。例如,InputDelay = 3
意味着延迟三个示例。
集InputDelay
一个标量值应用相同的延迟所有频道。
OutputDelay
- - - - - -在输出延迟
0(默认)|标量|向量
在每个输出延迟,指定为一个标量或矢量。为一个系统纽约
输出,OutputDelay
到一个纽约
1的向量。这个向量的每个条目是一个数值,代表相应的输出通道输出延迟。对于连续时间模型,指定输出延迟中存储的时间单位TimeUnit
模型对象的属性。对于离散时间模型,指定输出延迟样品时间的整数倍Ts
。例如,OutputDelay = 3
意味着延迟三个示例。
集OutputDelay
一个标量值应用相同的延迟所有频道。
TimeUnit
- - - - - -模型时间单位
“秒”
(默认)|“分钟”
|的毫秒
|……
模型时间单位,指定这些值之一:
“纳秒”
微秒的
的毫秒
“秒”
“分钟”
“小时”
“天”
“周”
“月”
“年”
您可以指定TimeUnit
使用一个字符串,如“小时”
,但是时间单位是存储为特征向量,“小时”
。
模型属性比如样品时间Ts
,InputDelay
,OutputDelay
和其他时间延迟在指定的单位表示TimeUnit
。改变对其他属性,这个属性没有影响,因此改变整个系统的行为。使用chgTimeUnit
时间单位,无需修改系统行为之间的转换。
InputName
- - - - - -的名字输入通道
{"}
(默认)|特征向量|单元阵列的特征向量
输入通道的名字,指定这些值之一:
特征向量,输入模型
单元阵列特征向量,与两个或两个以上的输入模型
”
没有指定名称——输入
您可以使用自动分配向量扩张输入名字多输入模型。例如,如果sys
是一个两个输入模型中,输入:
sys.InputName=“控制”;
输入名称自动扩大{“控制(1)”,“控制”(2)}
。
您可以使用速记符号u
来指InputName
财产。例如,sys.u
相当于sys.InputName
。
输入通道名称有几种用途,包括:
识别频道模型显示和阴谋
提取MIMO系统的子系统
当互连模型指定连接点
您可以指定InputName
使用一个字符串,如“电压”
,但输入的名字存储为特征向量,“电压”
。
InputUnit
- - - - - -单位的输入信号
{"}
(默认)|特征向量|单元阵列的特征向量
单位的输入信号,指定这些值之一:
特征向量,输入模型
单元阵列特征向量,与两个或两个以上的输入模型
”
——输入未经指定单位
使用InputUnit
跟踪每个输入信号表示在单位。InputUnit
没有对系统行为的影响。
您可以指定InputUnit
使用一个字符串,如“电压”
,但输入单位被存储为一个特征向量,“电压”
。
例子:“电压”
例子:{“电压”,“转”}
InputGroup
- - - - - -输入通道组
结构没有字段(默认)|结构
输入通道组,指定为一个字段的结构组名称和值输入通道的指标属于相应的组。当你使用InputGroup
将MIMO系统的输入通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个5个输入模型sys
,前三个输入控制输入和剩下的两个输入代表噪音。分配的控制和噪声的输入sys
分离群体。
sys.InputGroup。控制= [1:3];sys.InputGroup。噪音= [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系统的输出通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个output模型sys
,第二个输出是一个温度,其余的都是测量状态。这些输出分配给单独的组。
sys.OutputGroup。温度= [2];sys.InputGroup。测量= [1 3 4];
使用组名来提取子系统从所有测量的输入输出。
系统(“测量”:)
例子:结构(“温度”,[2],“测量”,[1 3 4])
笔记
- - - - - -文本笔记关于模型
(0×1的字符串)
(默认)|字符串|单元阵列的特征向量
对模型的文本笔记,存储为一个字符串或一个单元阵列的特征向量。这两个数据类型的属性存储任何你提供的。例如,假设sys1
和sys2
动态系统模型,并设置笔记
属性到一个字符串和一个特征向量,分别。
sys1。笔记=“sys1字符串。”;sys2。笔记=sys2有一个特征向量。;sys1。笔记sys2。笔记
ans =“sys1字符串。”ans = sys2有一个特征向量。
用户数据
- - - - - -数据与模型
[]
(默认)|任何数据类型
任何类型的数据,你想把和存储与模型,指定为任何MATLAB®数据类型。
的名字
- - - - - -模型名称
”
(默认)|特征向量
模型名称,存储为一个特征向量。您可以指定的名字
使用一个字符串,如“DCmotor”
,但输出单位被存储为一个特征向量,“DCmotor”
。
例子:“system_1”
SamplingGrid
- - - - - -阵列采样网格模型
结构没有字段(默认)|结构
采样网格模型数组,指定为一个结构。抽样模型推导出来的数组的一个或多个自变量,这个属性追踪与数组中的每个模型相关的变量值。这个信息显示或绘制模型时出现数组。使用此信息来跟踪结果返回给独立变量。
数据结构的字段名称设置为抽样变量的名字。设置字段值的采样与数组中的每个模型相关的变量值。所有抽样变量应该是数字和标量值,和所有数组的采样值应该匹配模型的维度的数组。
例如,假设您创建一系列11-by-1的线性模型,sysarr
,通过一个线性时变系统的快照t = 0:10
。下面的代码存储时间和样品线性模型。
sysarr。SamplingGrid =结构(“时间”0:10)
同样的,假设你创建一个6-by-9模型数组,米
独立采样两个变量,ζ
和w
。下面的代码高度(ζ,w)
值米
。
[ζ,w] = ndgrid(< 6的值ζ>、< 9 w的值>)。SamplingGrid =结构(“ζ”ζ,' w 'w)
当您显示米
数组中的每一项都包含相应的ζ
和w
值。
米
(::1,- 1)(ζ= 0.3 w = 5) = 25 - - - - - - - - - - - - - - - - s ^ 2 + 3 s + 25米(:,:,2,1)(ζ= 0.35 w = 5) = 25 - - - - - - - - - - - - - - - - - s ^ 2 + 3.5 s + 25…
生成的模型阵列的线性化模型金宝app®模型在多个参数值或操作点,软件填充SamplingGrid
自动变量的值,对应于每个条目数组中。例如,金宝app仿真软件控制设计™命令线性化
(金宝app仿真软件控制设计)和slLinearizer
(金宝app仿真软件控制设计)填充SamplingGrid
以这种方式。
对象的功能
大多数函数数值线性时不变模型也工作号航空母舰
模型。这些包括模型连接等功能连接
和反馈
、线性分析等功能波德
和stepinfo
。一些函数生成的情节,如波德
和一步
、情节不确定模型的随机样本给你一个不确定的分布动态。当你使用这些命令返回数据,然而,他们只作用于系统的标称值。
此外,您可以使用等功能robstab
和wcgain
执行不确定系统的鲁棒性和最坏情况分析为代表号航空母舰
模型。您还可以使用优化等功能systune
鲁棒控制器调优。
以下列表中包含了代表功能的子集可以使用号航空母舰
模型。
线性分析
一步 |
阶跃响应的动态系统;阶跃响应数据 |
波德 |
波德图的频率响应,或大小和相位数据 |
σ |
奇异值的动态系统 |
保证金 |
增益裕度、相位容限和交叉频率 |
diskmargin |
基于磁盘的稳定利润的反馈循环 |
鲁棒性和最坏情况分析
usample |
生成随机的样本不确定或广义模型 |
robstab |
不确定系统的鲁棒稳定性 |
robgain |
健壮的不确定系统的性能 |
wcgain |
最坏的不确定系统的增益 |
wcsigmaplot |
情节最坏的不确定系统的增益 |
例子
传递函数与不确定的系数
创建一个二阶传递函数确定固有频率和阻尼系数。
w0 =尿素的(“w0”10);ζ=尿素的(“ζ”,0.7,“范围”[0.6,0.8]);忙=特遣部队(w0 ^ 2,[1 2 *ζ* w0 w0 ^ 2])
忙=不确定连续系统的状态空间模型1输出,1输入,2。模型不确定性包含以下模块:w0:不确定真实,名义= 10,可变性=[1],5出现ζ:不确定真实,名义= 0.7,=[0.6,0.8],1事件类型”忙。NominalValue“名义值”,得到(忙)“看到所有属性,“忙。不确定性”与不确定的交互元素。
忙
是一个不确定状态(号航空母舰
)模型和两个控制设计。不确定的参数w0
传递函数发生5次,两次在分子和分母的三倍。减少出现的数量,您可以重写传递函数的分子和分母除以w0 ^ 2
。
忙=特遣部队([1 / w0 ^ 2 2 *ζ/ w0 1])
忙=不确定连续系统的状态空间模型1输出,1输入,2。模型不确定性包含以下模块:w0:不确定真实,名义= 10,可变性=[1],3出现ζ:不确定真实,名义= 0.7,=[0.6,0.8],1事件类型”忙。NominalValue“名义值”,得到(忙)“看到所有属性,“忙。不确定性”与不确定的交互元素。
新配方,只有三种出现的不确定的参数w0
。减少出现的次数一块控制设计模型可以提高性能的计算模型。
检查系统的阶跃响应的响应不确定性所表示的范围。
步骤(忙)
当你使用线性分析命令一步
和波德
创建响应的不确定性系统,他们自动绘制系统的随机样本。虽然这些样品给你反应的范围,属于不确定性,他们不一定包括最糟糕的反应。分析最坏的不确定系统的反应,使用wcgain
或wcsigmaplot
。
状态空间模型不确定
创建一个状态空间模型不确定性,首先使用控制设计块创建不确定元素。然后,使用元素来指定系统的状态矩阵。
例如,创建三个不确定的实际参数和建立状态空间矩阵。
p1 =尿素的(“p1”10“比例”,50);p2 =尿素的(“p2”3,“加减符”,(-。5 1.2]);p3 =尿素的(“p3”,0);一个= [p1 p2;0 p1);B = [p2;p2和p3);C = [1 0;1 1-p3];D = [0;0);
不确定参数矩阵构造,一个
,B
,C
不确定矩阵(umat
)对象。使用它们作为输入党卫军
结果在2-output 1-input,国不确定系统。
sys = ss (A, B, C, D)
sys =不确定连续系统的状态空间模型2输出,1输入,2。模型不确定性包含以下模块:p1:不确定真实,名义= 10,可变性=(-50年,50)%,2出现p2:不确定真实,名义= 3,可变性=[-0.5,1.2],2出现p3:不确定真实,名义= 0,可变性= [1],2“sys事件类型。NominalValue“名义值”,得到(sys)“看到所有属性,”系统。不确定性”与不确定的交互元素。
显示器显示,该系统包括三个不确定参数。
与不确定的动态系统
创建一个不确定的系统包括一个名义模型与频率相关的不确定性。你可以使用这种不确定性模型ultidyn
和一个加权函数表示频率的不确定性。假设在低频率,低于3 rad / s,该模型可以改变从其名义价值高达40%。大约3 rad / s,百分比变化开始增加。不确定性跨越100% 15 rad / s和达到2000%约1000 rad / s。创建一个传递函数与一个合适的频率,Wunc
,作为一个调节的权重函数的数量与频率的不确定性。
Wunc =补足重量的东西(3)0.40,15日;bodemag (Wunc)
接下来,创建一个传递函数代表系统的标称值。对于这个示例,使用一个单极的传递函数年代= -60 rad / s。然后,创建一个ultidyn
模型代表1-input 1输出不确定的动力学,并添加名义传递函数加权的不确定性。
sysNom =特遣部队(1)[1]1/60);unc = ultidyn (“unc”[1],“SampleStateDim”3);%的样本不确定动力学有三个州忙= sysNom * (1 + Wunc * unc);%设置属性的忙忙。InputName =“u”;忙。OutputName =“fs”;
检查随机的样本忙不确定动力学的影响。
波德(忙usys.Nominal)
号的属性对象
号航空母舰
模型,就像所有模型对象,包括存储动态和模型元数据的属性。视图状态空间模型不确定的属性。
p1 =尿素的(“p1”10“比例”,50);p2 =尿素的(“p2”3,“加减符”,(-。5 1.2]);p3 =尿素的(“p3”,0);一个= [p1 p2;0 p1);B = [p2;p2和p3);C = [1 0;1 1-p3];D = [0;0);sys = ss (A, B, C, D);%创建号航空母舰模型(系统)
NominalValue (2 x1 ss):不确定性:[1 x1 struct]: [2 x2 umat] B: [2 x1 umat] C: [2 x2 umat] D: [2 x1双]E: [] StateName: {2 x1细胞}StateUnit: {2 x1细胞}InternalDelay: [0 x1双]InputDelay: 0 OutputDelay: [2 x1双]Ts: 0 TimeUnit:“秒”InputName: {} InputUnit:“{”} InputGroup: [1 x1 struct] OutputName: {2 x1细胞}OutputUnit: {2 x1细胞}OutputGroup: [1 x1 struct]指出:[0 x1字符串]用户数据:[]的名字:“SamplingGrid: [1 x1 struct]
大多数属性的行为类似于他们的是如何表现的党卫军
模型对象。的NominalValue
属性本身就是一个党卫军
模型对象。你可以因此分析标称值将任何状态方程模型。例如,计算波兰人和标称系统的阶跃响应。
极(sys.NominalValue)
ans =2×1-10 -10
步骤(sys.NominalValue)
与不确定矩阵(umat
),不确定性
属性是一个包含不确定元素的结构。您可以使用这个属性直接访问不确定元素。例如,检查范围
不确定元素的命名p2
在sys
。
sys.Uncertainty.p2.Range
ans =1×22.5000 - 4.2000
变化的不确定性范围p2
在sys
。
sys.Uncertainty.p2.Range=[2 4];
该命令只改变参数的范围p2
在sys
。它不改变变量p2
在MATLAB工作区。
p2.Range
ans =1×22.5000 - 4.2000
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。