状态空间模型不确定
采用美国军舰
模型对象表示不确定的动态系统。
模型不确定性的两种主要形式有:
不确定性在底层微分方程模型的参数(不确定状态空间矩阵)
频域的不确定性,这往往通过描述在频率响应中的绝对或相对不确定度量化模型不确定性(不确定或未建模线性动力学)
美国军舰
模型对象可以用一种或两种形式的不确定性来表示动态系统。你可以用美国军舰
执行鲁棒稳定性和性能分析和测试控制器的设计的稳健性。
有几种方法来创建美国军舰
模型对象,包括:
采用TF
具有一个或多个不确定的实际参数(尿毒症
)。例如:
p =尿素的('P'1);USYS = TF(P,[1个P]);
另一个例子,请看具有不确定系数的传递函数。
采用党卫军
不确定状态空间矩阵(麻省大学
)。例如:
p =尿素的('P'1);A = [0 3*p;- p p ^ 2);B = [0;p];C = 1 (2);D = 0 (2, 1);忙= ss (A, B, C, D);
另一个例子,请看不确定状态空间模型。
使用模型互联的命令,例如结合数字LTI模型与不确定因素连接
,系列
,或平行
,或模型算术运算符,如*、+或-。例如:
SYS = TF(1,[1 1]);p =尿素的('P',1);D=最后('三角洲',[1 1]);USYS = P * SYS *(1 + 0.1 * d);
另一个例子,请看系统的不确定动态。
转换一个双阵列或数字LTI模型来美国军舰
形式使用usys=uss(系统)
. 在这种情况下,结果是美国军舰
模型对象没有任何不确定因素。例如:
M = tf(1,[1 1 1]);忙=号航空母舰(M);
采用乌科弗
创建美国军舰
模型,其可能的频率响应范围包括数值LTI模型数组中的所有响应。得到的模型将行为的范围表示为动态不确定性(ultidyn
)。
NominalValue
-不确定模型的标称值党卫军
模型对象不确定模型的标称值,指定为状态空间(党卫军
)模型对象。通过将不确定模型的所有不确定控制设计块设置为其标称值,得到状态空间模型。
不确定
-不确定因素模型的不确定元素,指定为一个结构,其字段是不确定块的名称,其值是控制设计块本身。因此,存储在结构中的值可以是尿毒症
,麻省大学
,ultidyn
或其他不确定控制设计块。例如,下面的命令创建了一个不确定的模型忙
有两个不确定参数,p1
和p2
。
p1=尿毒症('p1'1);P2 =尿素('第2页'3);A = [0 3*p1;p1 p1 ^ 2);B = [0;p2);C = 1 (2);D = 0 (2, 1);忙= ss (A, B, C, D);
该不确定
财产忙
是一个有两个场的结构,p1
和p2
,其值相应的尿毒症
不确定的参数。
不确定性
ans=带字段的结构:p1:[1×1 ureal]p2:[1×1 ureal]
您可以访问或单独检查每个不确定参数。例如:
get (usys.Uncertainty.p1)
NominalValue:1模式: 'PlusMinus' 范围:[0 2] PlusMinus:[-1 1]的百分比:[-100 100] AutoSimplify: '基本' 名称: 'P1'
A,B,C,d,E
-国家空间矩阵此属性是只读的。
状态空间矩阵,指定为数值矩阵或不确定矩阵(麻省大学
)。状态空间矩阵通过固定所有动态的不确定性块(评价udyn
,ultidyn
)它们的标称值。
一个
- 状态矩阵一个,指定为平方矩阵或麻省大学
具有与系统状态相同的行和列。
乙
- 输入到状态矩阵乙,指定为矩阵或麻省大学
有多少行就有多少行系统状态,有多少列就有多少列系统输入。
C
- 国家对输出矩阵C,指定为矩阵或麻省大学
与尽可能多的行作为有系统输出和尽可能多的列有系统状态。
d
- 穿心矩阵d,指定为矩阵或麻省大学
与尽可能多的行作为有系统输出和尽可能多的列有系统的输入。
Ë
-Ë矩阵为隐式的(描述符)的状态空间模型,指定为基质或麻省大学
与相同的尺寸一个
。默认E = []
,这意味着状态方程是明确的。要指定一个隐含的状态方程ËDX/DT=斧头+卜中,此属性设置为相同尺寸的正方形矩阵一个
。看到dss
有关描述符状态空间模型的更多信息。
州名
-国家的名字{''}
(默认)|特征向量|字符向量的单元阵列国家名称,指定为这些值之一:
字符向量-用于一阶模型
字符向量的单元阵列 - 对于具有两个或更多个状态的模型
''
- 对于未命名状态
您可以指定州名
使用一个字符串,诸如“速度”
,但状态名存储为字符向量,'速度'
。
例:'速度'
例:{x1, x2的}
StateUnit
-国家单位{''}
(默认)|特征向量|字符向量的单元阵列国家单位,指定为这些值之一:
字符向量-用于一阶模型
字符向量的单元阵列 - 对于具有两个或更多个状态的模型
''
- 各国没有指定的单位
采用StateUnit
跟踪每个状态中所表达的单位。StateUnit
对系统行为没有影响。
您可以指定StateUnit
使用一个字符串,诸如“英里”
,但国家单元被存储作为字符向量,“英里”
。
例:“英里”
例:{ 'RPM', '弧度/秒'}
InternalDelay
-内部延迟内部延迟,指定为标量或矢量。对于连续时间模型,内部延迟在由所指定的时间单位表示TimeUnit
模型对象的属性。对于离散时间模型,内部延迟被表示为采样时间的整数倍TS
. 例如,InternalDelay = 3
装置的三个采样周期的延迟。
您可以修改内部延迟的值。但是,在InternalDelay
不能改变,因为它是模型的结构属性。
内部延迟出现,例如,在系统关闭时反馈回路用的延迟,或连接在串联或并联延迟系统时。有关内部延迟的更多信息,请参阅关闭反馈回路时滞(控制系统工具箱)。
InputDelay
-延迟在输入延迟在每个输入,指定为一个标量或向量。对于具有系统ν
输入,设置InputDelay
给一个ν
×1向量。该向量中的每个条目是表示用于相应输入通道的输入延迟的数值。对于连续时间模型,存储在时间单位指定输入延迟TimeUnit
模型对象的属性。对于离散时间模型,指定的采样时间的整数倍的延迟输入TS
. 例如,InputDelay = 3
指三次取样的延迟。
组InputDelay
将相同的延迟应用于所有通道。
OutputDelay
-延迟在输出延迟在每个输出,指定为一个标量或向量。对于具有系统纽约
输出,组OutputDelay
给一个纽约
×1向量。该向量中的每个条目是表示用于相应的输出信道的输出延迟的数值。对于连续时间模型,存储在时间单位指定输出延迟TimeUnit
模型对象的属性。对于离散时间模型,指定的采样时间的整数倍的延迟输出TS
. 例如,OutputDelay = 3
指三次取样的延迟。
组OutputDelay
将相同的延迟应用于所有通道。
TimeUnit
-型号时间单位“秒”
(默认)|“分钟”
|的毫秒
|……模型时间单位,指定为下列值之一:
'纳秒'
“微秒”
的毫秒
“秒”
“分钟”
'小时'
'天'
“周”
“月”
'年份'
您可以指定TimeUnit
使用一个字符串,诸如“小时”
,但时间单元被存储作为字符向量,'小时'
。
模型性能如采样时间TS
,InputDelay
,OutputDelay
和其他时间延迟在由指定的单位表示TimeUnit
。更改此属性对其他性能没有影响,因此改变了整个系统的行为。采用时间单位
在时间单位之间转换而不修改系统行为。
InputName
-输入通道名称{''}
(默认)|特征向量|字符向量的单元阵列输入通道的名称,指定为以下值之一:
特征向量 - 对于单输入模式
字符向量的单元阵列 - 对于具有两个或更多个输入的型号
''
- 对于没有指定的名称输入
您可以使用自动矢量扩展为多输入模式输入分配的名称。例如,如果SYS
是双输入模型,请输入:
sys.InputName =“控制”;
输入名称自动扩展到{ '对照(1)'; '控制(2)'}
。
你可以用速记法ü
指代InputName
属性。例如,sys.u
相当于sys.InputName
。
输入频道名称有多种用途,包括:
模型显示和图形上确定信道
MIMO系统的子系统提取
互连模型时指定的连接点
您可以指定InputName
使用一个字符串,诸如“电压”
,但输入名称存储为字符向量,'电压'
。
输入单元
-输入信号为单位{''}
(默认)|特征向量|字符向量的单元阵列输入信号单位,指定为下列值之一:
特征向量 - 对于单输入模式
字符向量的单元阵列 - 对于具有两个或更多个输入的型号
''
- 对于没有指定单元输入
采用输入单元
跟踪每个输入信号中所表示的单元。输入单元
对系统行为没有影响。
您可以指定输入单元
使用一个字符串,诸如“电压”
,但输入单元存储为字符向量,'电压'
。
例:'电压'
例:{电压','转速'}
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)}
。
你可以用速记法ÿ
指代OutputName
属性。例如,sys.y
相当于sys.OutputName
。
输出通道名称有几种用途,包括:
模型显示和图形上确定信道
MIMO系统的子系统提取
互连模型时指定的连接点
您可以指定OutputName
使用一个字符串,诸如“转速”
,但输出名存储为字符向量,'RPM'
。
OutputUnit
-输出信号的单位{''}
(默认)|特征向量|字符向量的单元阵列输出信号,指定为这些值中的一个的单元:
特征向量 - 对于单输出模式
字符向量的单元数组-用于具有两个或多个输出的模型
''
- 对于没有指定的单位输出
采用OutputUnit
跟踪每个输出信号中所表示的单元。OutputUnit
对系统行为没有影响。
您可以指定OutputUnit
使用一个字符串,诸如“电压”
,但是输出单元被存储作为字符向量,'电压'
。
例:'电压'
例:{电压','转速'}
输出组
-输出信道组输出信道组,指定为这样的结构:这些字段是组名称和值是属于相应组的输出信道的索引。当您使用输出组
要将MIMO系统的输出信道分配给组,需要访问时可以按名称引用每个组。例如,假设您有一个四输出模型SYS
,其中第二个输出是温度,其余是状态测量。将这些输出分配给不同的组。
系统输出组温度=[2];sys.InputGroup.measurements系统输入组测量=[1 3 4];
使用的组名从所有输入子系统提取到的测定输出。
SYS('测量':)
例:STRUCT( '温度',[2], '测量',[1 3 4])
笔记
-关于模型的文本注释[0×1串]
(默认)|串|字符向量的单元阵列关于模型的文字注释,存储为字符串或字符向量的单元阵列。该属性存储无论你提供这两个数据类型。举例来说,假设SYS1
和系统2
是动态系统模型,并设置其笔记
属性分别设置为字符串和字符向量。
sys1。笔记=“SYS1有一个字符串。”;sys2。笔记=“sys2有一个字符向量。”;sys1.Notes sys2.Notes
ANS = “SYS1有一个字符串”。ANS =“SYS2具有字符向量”。
用户数据
-数据与模型相关联[]
(默认)|任何数据类型要与模型关联并存储的任何类型的数据,指定为任何MATLAB®数据类型。
名称
-型号名称''
(默认)|特征向量模型名,存储为字符向量。您可以指定名称
使用一个字符串,诸如“直流电动机”
,但是输出单元被存储作为字符向量,“DCmotor”
。
例:'system_1'
SamplingGrid
-模型阵列的采样网格模型阵列的采样网格,指定为结构。对于由采样一个或多个自变量导出模型阵列,此属性跟踪与阵列中的每个模型相关联的变量的值。当您显示或绘制模型阵列所出现这个信息。使用此信息来跟踪结果反馈给独立变量。
设置数据结构的字段名的采样变量的名称。设置字段值与阵列中的每个模型相关联的采样的变量值。所有采样变量应该是数字和标量值,并且采样值的所有阵列应当匹配模型阵列的尺寸。
例如,假设您创建一个11乘1的线性模型数组,sysarr
,通过不时拍摄线性时变系统的快照T = 0:10
。下面的代码存储时间采样与线性模型。
sysarr。SamplingGrid =结构(“时间”,0:10)
类似地,假设创建一个6×9模型排列,中号
通过独立采样两个变量,泽塔
和w ^
。以下代码将在(ζ电,w)的
值中号
。
[zeta,w] = ndgrid(<6个zeta>值,<9个w>值)M。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…
对于由线性化的Simulink生成的模型阵列万博1manbetx®模型在多个参数值或工作点,软件填充SamplingGrid
自动使用与数组中每个条目对应的变量值。例如,万博1manbetxSimulink的控制设计™命令线性化
和slLinearizer
填充SamplingGrid
通过这种方式。
大多数函数上的数字LTI模型的工作还工作在美国军舰
模型。这些功能包括模型互连功能,如连接
和反馈
和线性分析功能,如波德
和stepinfo
. 一些生成绘图的函数,例如波德
和步
,不确定模型的情节随机样本给你不确定动态分配的感觉。当你使用这些命令返回的数据,但是,他们只在系统的标称值运行。
此外,你可以使用的功能,如robstab
和wcgain公司
来执行由不确定表示系统的鲁棒性和最坏情况分析美国军舰
楷模。您还可以使用调节的功能,如systune
用于鲁棒控制器调节。
以下列表包含可用于的函数的代表性子集美国军舰
楷模。
步 |
动态系统的阶跃响应曲线图;阶跃响应数据 |
波德 |
频率响应,或者幅度和相位数据的Bode曲线 |
西格玛 |
动力系统的奇异值的积 |
保证金 |
增益裕度、相位裕度和交叉频率 |
diskmargin |
基于磁盘的反馈环稳定裕度 |
USS / usample |
生成不确定或广义模型的随机样本 |
robstab |
不确定系统的鲁棒稳定性 |
robgain |
不确定系统的鲁棒性 |
wcgain公司 |
不确定系统的最坏情况下的增益 |
wcsigmaplot |
不确定系统的情节最坏情况下的增益 |
创建具有不确定的固有频率和阻尼系数的二阶传递函数。
w0 =尿素的('W0',10);ζ电=尿素(“ζ”,0.7,'范围',[0.6,0.8]);USYS = TF(W0 ^ 2,[1 2 *ζ电* W0 W0 ^ 2])
usys =不确定连续时间状态空间模型,具有1个输出,1个输入,2个状态。模型不确定度由以下几块组成:w0:不确定实值,标称值= 10,变化率=[-1,1],5个出现点zeta:不确定实值,标称值= 0.7,范围=[0.6,0.8],1个出现点类型“usys”。“NominalValue”用于查看标称值,“get(usys)”用于查看所有属性,“usys”用于查看所有属性。“不确定性”与不确定因素相互作用。
忙
是一个不确定的状态空间(美国军舰
)带有两个控制设计块的模型。不确定实参数W0
在传递函数中出现5次,在分子中出现2次,在分母中出现3次。为了减少出现的次数,可以通过分子和分母同时除以来重写传递函数W0 ^ 2
。
usys = tf(1,[1/w0^2 2*zeta/w0 1])
usys =不确定连续时间状态空间模型,具有1个输出,1个输入,2个状态。该模型不确定性由以下部分构成:W0:不确定真实的,标称= 10,变异性= [-1,1],3次出现的ζ:不确定真实的,标称= 0.7,范围= [0.6,0.8],1次出现输入“usys.NominalValue”看到标称值,‘得到(USYS)’可以看到所有属性,以及‘usys.Uncertainty’与不确定因素的相互作用。
在新的公式中,不确定参数只有三次出现W0
。减少模型中的控制设计块出现的次数可以提高涉及模型计算的性能。
检查系统的阶跃响应来获得的不确定性表示响应范围之感。
台阶(usys)
当您使用线性分析命令时,比如步
和波德
为了创建不确定系统的响应图,它们会自动绘制系统的随机样本。虽然这些样本可以让您了解不确定性范围内的响应范围,但它们不一定包括最坏情况下的响应。要分析不确定系统的最坏情况响应,请使用wcgain公司
或wcsigmaplot
。
要创建不确定状态空间模型,首先使用控制设计块创建不确定元素。然后,使用元素指定系统的状态空间矩阵。
例如,创建一个从他们三年不确定真实参数,并建立国家空间矩阵。
p1=尿毒症('p1'10“比例”,50);P2 =尿素('第2页',3,“加减符”,[ - 5 1.2。]);P3 =尿素('p3',0);A = [-p1 P2;0 -p1];B = [-P2;P2 + P3]。C = [1 0;1 1-P3];d = [0;0];
不确定参数构成的基质,一个
,乙
,C
,是不确定矩阵(麻省大学
)对象。利用他们作为投入党卫军
结果在2输出,1-输入,2状态不确定系统。
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,1],2次出现输入 “sys.NominalValue” 看到标称值, “得到(SYS)” 可以看到所有的属性,以及 “sys.Uncertainty” 到与不确定因素的相互作用。
显示系统包含三个不确定参数。
创建包括具有不确定性的依赖于频率的量的标称模型的不确定系统。您可以使用模型这种不确定性ultidyn
和表示不确定性频率分布的加权函数。假设在较低的频率下,低于3 rad/s,模型可以从其标称值变化高达40%。在3 rad/s左右,百分比变化开始增加。不确定度在15 rad/s时达到100%,在约1000 rad/s时达到2000%。创建一个具有适当频率分布的传递函数,北卡罗来纳州
,作为一个加权函数使用,以频率调节不确定度的量。
Wunc=制造重量(0.40,15,3);bodemag(Wunc)
接下来,创建一个表示系统标称值的传递函数。在本例中,使用带有单极的传递函数at小号=–60 rad/s。然后,创建ultidyn
模型表示1-输入、1-输出的不确定动态,并将加权不确定性加入到名义传递函数中。
sysNom=tf(1,[1/60 1]);unc=ultidyn(“联合国军司令部”,[1 1],'SampleStateDim'3);不确定动力学%的样品有三种状态usys = sysNom*(1 + Wunc*unc);USYS的%设定属性usys.InputName ='U';忙。OutputName ='FS';
检查USYS的随机抽样看到不确定的动态效果。
博德(USYS,usys.Nominal)
美国军舰
模型,像所有的模型对象,包括性质店动力学模型和元数据。查看一个不确定的状态空间模型的性能。
p1=尿毒症('p1'10“比例”,50);P2 =尿素('第2页',3,“加减符”,[ - 5 1.2。]);P3 =尿素('p3',0);A = [-p1 P2;0 -p1];B = [-P2;P2 + P3]。C = [1 0;1 1-P3];d = [0;0];SYS = SS(A,B,C,d);%创建USS模型得到(SYS)
NominalValue:[2×SS]不确定度:[1x1的结构] A:[2×2 UMAT] B:[2×1 UMAT] C:[2×2 UMAT] d:[2×1双] E:[] Statename的:{2×1细胞} StateUnit:{2×1细胞} InternalDelay:为0x1双] InputDelay:0 OutputDelay:[2×1双] TS:0 TIMEUNIT: '秒' InputName:{ ''} InputUnit:{ ''} InputGroup:[1x1的结构] OutputName:{2×1细胞} OutputUnit:{2×1细胞} OutputGroup:[1x1的结构]注:[为0x1字符串]的UserData:[]名称: '' SamplingGrid:[1x1的结构]
大多数属性的行为方式与它们的行为方式类似党卫军
模型对象。该NominalValue
财产本身是一个党卫军
模型对象。因此,您可以分析标称值,就像任何状态空间模型。例如,计算标称系统的极点和阶跃响应。
极(sys.NominalValue)
答复=2×1-10至10
步骤(sys.NominalValue)
由于与不确定矩阵(麻省大学
)时,不确定
属性是包含不确定的元素的结构。你可以使用这个属性直接进入不确定因素。例如,检查范围
命名为不确定的元素p2
在内部SYS
。
sys.Uncertainty.p2.Range
答复=1×22.5000 4.2000
改变的不确定性范围p2
在内部SYS
。
sys.Uncertainty.p2.Range=[2 4];
此命令仅更改调用的参数的范围p2
在里面SYS
。它不会改变的变量p2
在MATLAB的工作空间。
p2.Range
答复=1×22.5000 4.2000
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
也可以从以下列表中选择网站:
选择最佳的网站性能的中国网站(在中国或英文)。The MathWorks公司的其他国家的站点不会从您的位置访问进行了优化。