不确定状态空间模型
采用USS
模型对象表示不确定的动态系统。
模型不确定性的两种主要形式是:
不确定性在底层微分方程模型的参数(不确定状态空间矩阵)
频域的不确定性,这往往通过描述在频率响应中的绝对或相对不确定度量化模型不确定性(不确定或未建模线性动力学)
USS
模型对象可以表示与任一动态系统或不确定性的两种形式。您可以使用USS
进行鲁棒稳定性和性能分析,并测试控制器设计的鲁棒性。
有几种方法可以创建USS
模型对象,其中包括:
采用TF
与一个或多个不确定实参数(尿素
). 例如:
p=尿毒症(“p”,1);usys=tf(p,[1 p]);
有关另一个示例,请参见不确定系数传递函数.
采用党卫军
不确定状态空间矩阵(UMAT
). 例如:
p=尿毒症(“p”,1);A=[0 3*p;-p p^2];B=[0;p];C=1(2);D=0(2,1);usys=ss(A,B,C,D);
有关另一个示例,请参见不确定状态空间模型.
使用模型互联的命令,例如结合数字LTI模型与不确定因素连接
,系列
,或平行的
,或模型算术运算符,如*、+、或-。例如:
SYS = TF(1,[1 1]);p=尿毒症(“p”,1);d = ultidyn('三角洲',[1 1]);USYS = P * SYS *(1 + 0.1 * d);
有关另一个示例,请参见不确定动力学系统.
将双数组或数值LTI模型转换为USS
表单使用USYS = USS(SYS)
.在这种情况下,所得到的USS
模型对象没有任何不确定因素。例如:
M=tf(1,[11 1]);usys=uss(M);
采用ucover
创建USS
一个模型,其可能的频率响应范围包括一系列数值LTI模型中的所有响应。结果模型将行为范围表示为动态不确定性(尤里蒂恩
)。
名义价值
—不确定模型的标称值党卫军
模型对象不确定模型的标称值,指定为状态空间(党卫军
)模型对象。状态空间模型是由不确定模型的所有不确定控制设计块设置到其标称值获得。
不确定性
—不确定因素该模型的不确定因素,指定为其字段的结构是不确定块的名称,和其值是控制设计块本身。因此,存储在所述结构中的值可以是尿素
,UMAT
,尤里蒂恩
,或其他不确定的控制设计块。例如,以下命令创建一个不确定的模型usys公司
有两个不确定参数,p1号
和p2页
.
P1 =尿素('P1',1);P2 =尿素('P2',3);A=[0 3*p1;-p1p1^2];B=[0;p2];C=1(2);D=0(2,1);usys=ss(A,B,C,D);
这个不确定性
财产usys公司
是具有两个字段的结构,p1号
和p2页
,其值与尿素
参数不确定。
usys.Uncertainty
ANS =结构与字段:P1:[1×1尿素] P2:[1×1尿素]
您可以访问或单独检查每个不确定参数。例如:
得到(不确定性.p1段)
NominalValue:1模式: 'PlusMinus' 范围:[0 2] PlusMinus:[-1 1]的百分比:[-100 100] AutoSimplify: '基本' 名称: 'P1'
A、 B、C、D、E
—状态空间矩阵此属性是只读的。
状态空间矩阵,指定为数值矩阵或不确定矩阵(UMAT
). 通过固定所有动态不确定块来计算状态空间矩阵(乌丁
,尤里蒂恩
)他们的名义价值。
一个
- 状态矩阵一个,指定为正方形矩阵或UMAT
与尽可能多的行和列有系统状态。
B
-输入到状态矩阵B,指定为矩阵或UMAT
与尽可能多的行,因为有系统状态和尽可能多的列有系统的投入。
C类
-状态输出矩阵C类,指定为矩阵或UMAT
有多少行就有多少行系统输出,有多少列就有多少列系统状态。
丁
-馈通矩阵丁,指定为矩阵或UMAT
有多少行就有多少行系统输出,有多少列就有多少列系统输入。
E类
—E类隐式(描述符)状态空间模型的矩阵,指定为矩阵或UMAT
尺寸与一个
. 默认情况下E = []
,这意味着状态方程是明确的。要指定一个隐含的状态方程E类地塞米松/日期=斧头+日分中,此属性设置为相同尺寸的正方形矩阵一个
. 见决策支持系统
有关描述符状态空间模型的更多信息。
Statename的
—州名{ ''}
(默认)|特征向量|字符向量的单元阵列国家名称,指定为这些值之一:
字符向量-用于一阶模型
字符向量的单元阵列 - 对于具有两个或更多个状态的模型
''
-对于未命名的州
您可以指定Statename的
使用字符串,例如“速度”
,但状态名存储为字符向量,'速度'
.
例子:'速度'
例子:{'x1','x2'}
StateUnit
—国家单位{ ''}
(默认)|特征向量|字符向量的单元阵列国家单位,指定为下列值之一:
字符向量-用于一阶模型
字符向量的单元阵列 - 对于具有两个或更多个状态的模型
''
-对于没有指定单位的州
采用StateUnit
为了跟踪单位,每个状态都用。StateUnit
对系统行为没有影响。
您可以指定StateUnit
使用字符串,例如“英里”
,但状态单位存储为字符向量,“英里/小时”
.
例子:“英里/小时”
例子:{ 'RPM', '弧度/秒'}
内部延迟
—内部延迟内部延迟,指定为标量或向量。对于连续时间模型,内部延迟用时间单位
模型对象的属性。对于离散时间模型,内部延迟表示为采样时间的整数倍TS
.例如,内部延迟=3
指三个采样周期的延迟。
您可以修改内部延迟的值。但是,在内部延迟
无法更改,因为它是模型的结构属性。
内部延迟产生,例如,当在具有延迟的系统上关闭反馈回路时,或当串联或并联连接延迟的系统时。有关内部延迟的详细信息,请参见具有时滞的闭环反馈(控制系统工具箱)。
输入延迟
—输入延迟在每个输入处延迟,指定为标量或矢量。对于一个系统怒族
输入,设置输入延迟
到怒族
-乘1向量。此向量的每个条目都是一个数值,表示对应输入通道的输入延迟。对于连续时间模型,在存储在时间单位
模型对象的属性。对于离散时间模型,指定的采样时间的整数倍的延迟输入TS
.例如,InputDelay = 3
指三次取样的延迟。
套输入延迟
对标量值应用相同的延迟到所有通道。
输出延迟
—输出延迟每个输出的延迟,指定为标量或矢量。对于一个系统纽约
输出,设置输出延迟
到纽约
×1向量。该向量中的每个条目是表示用于相应的输出信道的输出延迟的数值。对于连续时间模型,存储在时间单位指定输出延迟时间单位
模型对象的属性。对于离散时间模型,以采样时间的整数倍指定输出延迟TS
.例如,输出延迟=3
指三次取样的延迟。
套输出延迟
对标量值应用相同的延迟到所有通道。
时间单位
—型号时间单位'秒'
(默认)|'分钟'
|'毫秒'
| ...模型的时间单位,指定为下列值之一:
“纳秒”
“微秒”
'毫秒'
'秒'
'分钟'
'小时'
'天'
'周'
'月'
'年份'
您可以指定时间单位
使用字符串,例如“小时”
,但时间单位存储为字符向量,'小时'
.
模型属性,如采样时间TS
,输入延迟
,输出延迟
,其他时间延迟用时间单位
. 更改此属性不会影响其他属性,因此会更改整个系统行为。使用chgTimeUnit
时间单位之间的转换,而无需修改系统行为。
输入名
—输入通道的名称{ ''}
(默认)|特征向量|字符向量的单元阵列输入通道的名称,指定为以下值之一:
字符向量-用于单输入模型
字符向量的单元数组-用于具有两个或多个输入的模型
''
-对于没有指定名称的输入
您可以使用自动矢量扩展为多输入模式输入分配的名称。例如,如果SYS
是一个双输入模式,输入:
系统输入名='控件';
输入名称自动扩展为{'controls(1)';'controls(2)}
.
您可以使用速记符号u型
参考输入名
财产。例如,sys.u
相当于系统输入名
.
输入通道名称有多种用途,包括:
识别模型显示和绘图上的通道
MIMO系统的子系统提取
互连模型时指定的连接点
您可以指定输入名
使用字符串,例如“电压”
,但输入名称被存储为字符向量,'电压'
.
InputUnit
—输入信号为单位{ ''}
(默认)|特征向量|字符向量的单元阵列输入信号,指定为这些值中的一个的单元:
字符向量-用于单输入模型
字符向量的单元数组-用于具有两个或多个输入的模型
''
-对于没有指定单位的输入
采用InputUnit
跟踪每个输入信号中所表示的单元。InputUnit
对系统行为没有影响。
您可以指定InputUnit
使用字符串,例如“电压”
,但输入单位存储为字符向量,'电压'
.
例子:'电压'
例子:{ '电压', '转'}
输入组
—输入通道组输入通道组,指定为一种结构,其中字段是组名,值是属于相应组的输入通道的索引。当你使用输入组
分配MIMO系统的输入通道组,你可以当你需要访问它是指每个组的名字。例如,假设你有一个五输入模式SYS
,其中前三个输入是控制输入和剩余的两个输入端的噪声表示。分配的控制和噪声输入SYS
把小组分开。
sys.InputGroup.controls系统=[1:3];sys.InputGroup.noise系统输入组噪声=[45];
使用的组名从控制输入到所有输出提取子系统。
系统(:,'控件')
例子:struct('控件',[1:3],'noise',[4 5])
输出名称
—输出通道名称{ ''}
(默认)|特征向量|字符向量的单元阵列输出通道的名称,指定为以下值之一:
特征向量 - 对于单输出模式
字符向量的单元阵列 - 对于具有两个或多个输出模型
''
- 对于没有指定名称输出
可以使用自动矢量展开为多输出模型指定输出名称。例如,如果SYS
是双输出模式,输入:
系统输出名称='测量';
输出名称自动扩展为{'measurements(1)';'measurements(2)}
.
您可以使用速记符号是的
参考输出名称
财产。例如,sys.y
相当于系统输出名称
.
输出通道名称有多种用途,包括:
识别模型显示和绘图上的通道
MIMO系统的子系统提取
互连模型时指定的连接点
您可以指定输出名称
使用字符串,例如“RPM”
,但输出名称存储为字符向量,'RPM'
.
输出单元
—输出信号单位{ ''}
(默认)|特征向量|字符向量的单元阵列输出信号单位,指定为下列值之一:
特征向量 - 对于单输出模式
字符向量的单元阵列 - 对于具有两个或多个输出模型
''
-对于没有指定单位的输出
采用输出单元
为了跟踪单位,每个输出信号都用表示。输出单元
对系统行为没有影响。
您可以指定输出单元
使用字符串,例如“电压”
,但是输出单元被存储作为字符向量,'电压'
.
例子:'电压'
例子:{ '电压', '转'}
OutputGroup
—输出信道组输出通道组,指定为结构,其中字段是组名,值是属于相应组的输出通道的索引。当你使用OutputGroup
对MIMO系统的输出通道分配到组,你可以当你需要访问它是指每个组的名字。例如,假设你有一个四输出模式SYS
,其中所述第二输出是温度,其余的是状态测量。分配这些输出到单独的组。
sys.OutputGroup.temperature = [2];sys.InputGroup.measurements = [1 3 4];
使用的组名从所有输入子系统提取到的测定输出。
SYS('测量',:)
例子:结构('温度',[2],'测量',[1 3 4])
笔记
—关于模型的文本注释[0×1串]
(默认)|串|字符向量单元数组关于模型的文本注释,存储为字符串或字符向量的单元格数组。属性存储您提供的这两种数据类型中的任何一种。例如,假设系统1
和系统2
是动态的系统模型,并设置其笔记
分别是字符串和字符向量的属性。
系统1.注释=“sys1有一个字符串。”;系统2.注释=“sys2有一个字符向量。”;sys1.Notes sys2.Notes
ans=“sys1有一个字符串。”ans=“sys2有一个字符向量。”
用户数据
—与模型关联的数据[]
(默认)|任何数据类型任何类型的数据要关联和存储与模型,指定为任何MATLAB®数据类型。
名称
—型号名称''
(默认)|特征向量型号名称,存储为特征向量。您可以指定名称
使用字符串,例如“直流电动机”
,但是输出单元被存储作为字符向量,“直流电动机”
.
例子:'系统'1'
SamplingGrid
—模型阵列的采样网格模型数组的采样网格,指定为结构。对于通过采样一个或多个独立变量而派生的模型数组,此属性跟踪与数组中每个模型关联的变量值。当您显示或绘制模型阵列所出现这个信息。使用此信息来跟踪结果反馈给独立变量。
将数据结构的字段名设置为采样变量的名称。将字段值设置为与数组中的每个模型关联的采样变量值。所有采样变量应为数值和标量值,所有采样值数组应与模型数组的维数匹配。
例如,假设在创建11×1阵列线性模型,sysarr公司
,通过拍摄线性时变系统的快照t=0:10
. 下面的代码用线性模型存储时间样本。
sysarr.SamplingGrid系统=结构('时间',0:10)
类似地,假设您创建了一个6乘9的模型数组,米
,通过独立采样两个变量,泽塔
和西
. 以下代码附加(泽塔,w)
价值观米
.
[zeta,w]=ndgrid(<6个zeta>值,<9个w>值)M.SamplingGrid=struct(“泽塔”,泽塔,'W',西)
当你展示米
,数组中的每个条目都包含泽塔
和西
值。
米
M(:,:,1,1)[zeta=0.3,w=5]=25--------s^2+3s+25m(:,:,2,1)[zeta=0.35,w=5]=25--------s^2+3.5s+25。。。
对于通过线性化Simulink生成的模型阵列万博1manbetx®模型在多个参数值或工作点,软件填充SamplingGrid
自动使用与数组中每个项对应的变量值。例如万博1manbetxSimulink控制设计™命令线性化
和线性化器
填入SamplingGrid
就这样。
大多数用于数值LTI模型的函数也可以用于USS
楷模。这些包括模型互连功能,诸如连接
和反馈
,以及线性分析函数,如预兆
和步骤信息
.生成地块的某些功能,如预兆
和步
,绘制不确定模型的随机样本,让您了解不确定动力学的分布。但是,当您使用这些命令返回数据时,它们仅对系统的标称值进行操作。
此外,你可以使用的功能,如罗布斯塔布
和wcgain
对不确定系统进行鲁棒性和最坏情况分析USS
模型。您还可以使用诸如系统
用于鲁棒控制器调谐。
下面列出包含您可以使用该功能的子集代表USS
楷模。
USS / usample |
生成不确定或广义模型的随机样本 |
罗布斯塔布 |
不确定系统的鲁棒稳定性 |
机器增益 |
不确定系统的鲁棒性能 |
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)”以查看所有属性,以及”不确定性“与不确定因素互动。
usys公司
是一个不确定的状态空间(USS
)模型有两个控制设计模块。不确定的实际参数W0
在传递函数中发生五次,在分子中发生两次,在分母中发生三次。要减少出现的次数,可以通过将分子和分母除以周0^2
.
usys=tf(1,[1/w0^2 2*zeta/w0 1])
usys=具有1个输出、1个输入、2个状态的不确定连续时间状态空间模型。模型不确定性由以下块组成:w0:不确定实数,标称=10,可变性=[-1,1],3次zeta:不确定实数,标称=0.7,范围=[0.6,0.8],1次类型”美国名义价值“要查看标称值,请获取(usys)”以查看所有属性,以及”不确定性“与不确定因素互动。
在新的提法,只有三个出现不确定参数W0
. 减少模型中控件设计块的出现次数可以提高涉及模型的计算性能。
检查系统的阶跃响应来获得的不确定性表示响应范围之感。
步骤(USYS)
使用线性分析命令时步
和预兆
创建不确定系统的响应曲线,它们会自动绘制系统的随机样本。虽然这些样品给你的属于不确定性内的反应的范围之感,他们不一定包括最坏情况下的响应。为了分析的不确定系统,使用最坏情况下的反应wcgain
或wcsigmaplot公司
.
要创建一个不确定的状态空间模型,您第一次使用控制设计模块创建不确定因素。然后,使用元素来指定该系统的状态空间矩阵。
例如,创建三个不确定的实数参数,并从中构建状态空间矩阵。
P1 =尿素('P1',10岁,'百分比',50);p2=脲醛('P2',3岁,'加减',[ - 5 1.2。]);P3 =尿素('P3',0);A=[-p1 p2;0-p1];B=[-p2;p2+p3];C=[10;11-p3];D=[0;0];
不确定参数构成的基质,一个
,B
和C类
,是不确定的矩阵(UMAT
)对象。利用他们作为投入党卫军
结果是一个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次类型”系统标称值“看名义价值,“get(sys)”查看所有属性,以及系统不确定性“与不确定因素互动。
显示屏显示,该系统包括三个不确定参数。
创建一个不确定系统,该系统包含一个具有频率相关不确定量的标称模型。您可以使用尤里蒂恩
以及表示不确定度的频率分布的加权函数。假设在3 rad/s以下的低频率下,模型与标称值相差40%。在3rad/s左右,百分比变化开始增加。不确定度在15 rad/s时超过100%,在约1000 rad/s时达到2000%。用适当的频率分布创建一个传递函数,Wunc
,作为一个加权函数,用频率调节不确定度的大小。
Wunc = makeweight(0.40,15,3);bodemag(Wunc)
接下来,创建一个表示系统标称值的传递函数。在本例中,使用单极为s公司= -60弧度/秒。然后,创建一个尤里蒂恩
模型表示一输入一输出不确定动态,并将加权不确定性加入到标称传递函数中。
sysNom = TF(1,[1/60 1]);UNC = ultidyn('unc',[11],'采样状态',3);不确定动力学%的样品有三种状态USYS = sysNom *(1 + Wunc * UNC);USYS的%设定属性usys.InputName=“你”; usys.OutputName='财政司';
检查USYS的随机抽样看到不确定的动态效果。
博德(美国,美国标准)
USS
模型,像所有的模型对象,包括性质店动力学模型和元数据。查看一个不确定的状态空间模型的性能。
P1 =尿素('P1',10岁,'百分比',50);p2=脲醛('P2',3岁,'加减',[ - 5 1.2。]);P3 =尿素('P3',0);A=[-p1 p2;0-p1];B=[-p2;p2+p3];C=[10;11-p3];D=[0;0];sys=ss(A,B,C,D);%创建USS模型获取(系统)
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的结构]
大多数属性的行为与党卫军
模型对象。这个名义价值
财产本身是一个党卫军
模型对象。因此,您可以分析标称值,就像任何状态空间模型。例如,计算标称系统的极点和阶跃响应。
极点(系统标称值)
ANS =2×1个-10 -10
台阶(系统标称值)
就像不确定矩阵一样(UMAT
),和不确定性
属性是包含不确定的元素的结构。你可以使用这个属性直接进入不确定因素。例如,检查范围
命名为不确定的元素p2页
中SYS
.
系统不确定性.p2.范围
ANS =1×2个2.5000 4.2000年
改变不确定度范围p2页
中SYS
.
系统不确定性.p2.范围=[24];
该命令只叫参数的范围p2页
在SYS
. 它不会改变变量p2页
在MATLAB的工作空间。
p2.范围
ANS =1×2个2.5000 4.2000年
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家/地区网站未针对您所在位置的访问进行优化。