主要内容

号航空母舰

状态空间模型不确定

描述

使用号航空母舰模型对象来表示不确定的动态系统。

模型不确定性的两种主要形式:

  • 不确定性参数的微分方程模型(状态空间矩阵不确定)

  • 频域的不确定性,这常常量化模型不确定性通过描述绝对或相对频率响应的不确定性(或未建模不确定线性动力学)

号航空母舰模型对象可以表示动态系统其中一种或两种形式的不确定性。您可以使用号航空母舰进行鲁棒稳定性和性能分析和测试控制器的鲁棒性设计。

创建

有几种方法可以创建一个号航空母舰模型对象,包括:

  • 使用特遣部队与一个或多个不确定的实际参数(尿素的)。例如:

    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)。

属性

全部展开

标称值的不确定性模型,指定为非整数(党卫军)模型对象。通过状态空间模型设置的所有不确定的控制设计块不确定模型以其名义值。

不确定的模型元素,指定为一个结构的字段的名称不确定的块,控制设计街区本身的值。因此,结构中存储的值尿素的,umat,ultidyn或其他不确定的控制设计。例如,以下命令创建一个不确定的模型有两个不确定的参数,p1p2

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);

不确定性的属性结构有两个字段,p1p2相应的,其值尿素的不确定的参数。

usys.Uncertainty
ans =结构体字段:p1, p2[1×1尿素的]:[1×1尿素的]

你可以访问或单独检查每个不确定的参数。例如:

get (usys.Uncertainty.p1)
NominalValue: 1模式:“加减符”范围:[0 2]加减符:[1]比例:100年[-100]AutoSimplify:“基本”的名字:“p1”

这个属性是只读的。

状态矩阵,指定为数字矩阵或不确定的矩阵(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使用一个字符串,如“速度”,但国家的名字存储为特征向量,“速度”

例子:“速度”

例子:{x1, x2的}

国家单位,指定这些值之一:

  • 特征向量为一阶模型

  • 单元阵列模型的特征向量,与两个或两个以上的国家

  • ——对国家没有指定单位

使用StateUnit跟踪每个州的单位表示。StateUnit没有对系统行为的影响。

您可以指定StateUnit使用一个字符串,如“英里”,但国家单位被存储为一个特征向量,“英里”

例子:“英里”

例子:{“转”,“rad / s”}

内部延迟,指定为一个标量或矢量。对于连续时间模型,内部延迟是在指定的时间单位表示TimeUnit模型对象的属性。对于离散时间模型,内部延迟表示为整数倍的样品时间Ts。例如,InternalDelay = 3意味着三个采样周期的延迟。

您可以修改内部延迟的值。然而,条目的数量InternalDelay不能改变,因为它是一个结构模型的属性。

内部延迟出现,例如,当关闭反馈回路系统延迟,或者当串联或并联连接延迟系统。关于内部延迟的更多信息,请参阅与时间延迟关闭反馈回路

在每个输入延迟,指定为一个标量或矢量。为一个系统ν输入,设置InputDelay到一个ν1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。对于连续时间模型,指定输入延迟中存储的时间单位TimeUnit模型对象的属性。对于离散时间模型,指定输入整数倍的样品时间延迟Ts。例如,InputDelay = 3意味着延迟三个示例。

InputDelay一个标量值应用相同的延迟所有频道。

在每个输出延迟,指定为一个标量或矢量。为一个系统纽约输出,OutputDelay到一个纽约1的向量。这个向量的每个条目是一个数值,代表相应的输出通道输出延迟。对于连续时间模型,指定输出延迟中存储的时间单位TimeUnit模型对象的属性。对于离散时间模型,指定输出延迟样品时间的整数倍Ts。例如,OutputDelay = 3意味着延迟三个示例。

OutputDelay一个标量值应用相同的延迟所有频道。

样品时间,指定为:

  • 0 -连续时间模型。

  • 积极的标量值,离散时间模型。指定单位给出的样品时间TimeUnit模型的属性。

  • 1 -离散时间模型与未指明的样品时间。

改变这个属性不离散化或重新取样模型。使用汇集d2c连续时间和离散时间表示之间的转换。使用d2d改变样本的离散时间系统。

模型时间单位,指定这些值之一:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

您可以指定TimeUnit使用一个字符串,如“小时”,但是时间单位是存储为特征向量,“小时”

模型属性比如样品时间Ts,InputDelay,OutputDelay和其他时间延迟在指定的单位表示TimeUnit。改变对其他属性,这个属性没有影响,因此改变整个系统的行为。使用chgTimeUnit时间单位,无需修改系统行为之间的转换。

输入通道的名字,指定这些值之一:

  • 特征向量,输入模型

  • 单元阵列特征向量,与两个或两个以上的输入模型

  • 没有指定名称——输入

您可以使用自动分配向量扩张输入名字多输入模型。例如,如果sys是一个两个输入模型中,输入:

sys.InputName=“控制”;

输入名称自动扩大{“控制(1)”,“控制”(2)}

您可以使用速记符号u来指InputName财产。例如,sys.u相当于sys.InputName

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

  • 识别频道模型显示和阴谋

  • 提取MIMO系统的子系统

  • 当互连模型指定连接点

您可以指定InputName使用一个字符串,如“电压”,但输入的名字存储为特征向量,“电压”

单位的输入信号,指定这些值之一:

  • 特征向量,输入模型

  • 单元阵列特征向量,与两个或两个以上的输入模型

  • ——输入未经指定单位

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

您可以指定InputUnit使用一个字符串,如“电压”,但输入单位被存储为一个特征向量,“电压”

例子:“电压”

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

输入通道组,指定为一个字段的结构组名称和值输入通道的指标属于相应的组。当你使用InputGroup将MIMO系统的输入通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个5个输入模型sys,前三个输入控制输入和剩下的两个输入代表噪音。分配的控制和噪声的输入sys分离群体。

sys.InputGroup。控制= [1:3];sys.InputGroup。噪音= [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系统的输出通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个output模型sys,第二个输出是一个温度,其余的都是测量状态。这些输出分配给单独的组。

sys.OutputGroup。温度= [2];sys.InputGroup。测量= [1 3 4];

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

系统(“测量”:)

例子:结构(“温度”,[2],“测量”,[1 3 4])

对模型的文本笔记,存储为一个字符串或一个单元阵列的特征向量。这两个数据类型的属性存储任何你提供的。例如,假设sys1sys2动态系统模型,并设置笔记属性到一个字符串和一个特征向量,分别。

sys1。笔记=“sys1字符串。”;sys2。笔记=sys2有一个特征向量。;sys1。笔记sys2。笔记
ans =“sys1字符串。”ans = sys2有一个特征向量。

任何类型的数据,你想把和存储与模型,指定为任何MATLAB®数据类型。

模型名称,存储为一个特征向量。您可以指定的名字使用一个字符串,如“DCmotor”,但输出单位被存储为一个特征向量,“DCmotor”

例子:“system_1”

采样网格模型数组,指定为一个结构。抽样模型推导出来的数组的一个或多个自变量,这个属性追踪与数组中的每个模型相关的变量值。这个信息显示或绘制模型时出现数组。使用此信息来跟踪结果返回给独立变量。

数据结构的字段名称设置为抽样变量的名字。设置字段值的采样与数组中的每个模型相关的变量值。所有抽样变量应该是数字和标量值,和所有数组的采样值应该匹配模型的维度的数组。

例如,假设您创建一系列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。一些函数生成的情节,如波德一步、情节不确定模型的随机样本给你一个不确定的分布动态。当你使用这些命令返回数据,然而,他们只作用于系统的标称值。

此外,您可以使用等功能robstabwcgain执行不确定系统的鲁棒性和最坏情况分析为代表号航空母舰模型。您还可以使用优化等功能systune鲁棒控制器调优。

以下列表中包含了代表功能的子集可以使用号航空母舰模型。

全部展开

反馈 反馈连接的多个模型
连接 框图互联的动态系统
系列 串联的两个模型
平行 并联的两个模型
一步 阶跃响应的动态系统;阶跃响应数据
波德 波德图的频率响应,或大小和相位数据
σ 奇异值的动态系统
保证金 增益裕度、相位容限和交叉频率
diskmargin 基于磁盘的稳定利润的反馈循环
usample 生成随机的样本不确定或广义模型
robstab 不确定系统的鲁棒稳定性
robgain 健壮的不确定系统的性能
wcgain 最坏的不确定系统的增益
wcsigmaplot 情节最坏的不确定系统的增益
musyn 使用μ综合鲁棒控制器设计
systune 调整固定的结构控制系统中建模MATLAB

例子

全部折叠

创建一个二阶传递函数确定固有频率和阻尼系数。

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。减少出现的次数一块控制设计模型可以提高性能的计算模型。

检查系统的阶跃响应的响应不确定性所表示的范围。

步骤(忙)

图包含一个坐标轴对象。坐标轴对象包含21线类型的对象。这个对象表示忙。

当你使用线性分析命令一步波德创建响应的不确定性系统,他们自动绘制系统的随机样本。虽然这些样品给你反应的范围,属于不确定性,他们不一定包括最糟糕的反应。分析最坏的不确定系统的反应,使用wcgainwcsigmaplot

创建一个状态空间模型不确定性,首先使用控制设计块创建不确定元素。然后,使用元素来指定系统的状态矩阵。

例如,创建三个不确定的实际参数和建立状态空间矩阵。

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)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。该对象代表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)

图包含2轴对象。坐标轴对象1的标题:u: fs包含22行类型的对象。这些对象代表忙,untitled1。坐标轴对象2包含22行类型的对象。这些对象代表忙,untitled1。

号航空母舰模型,就像所有模型对象,包括存储动态和模型元数据的属性。视图状态空间模型不确定的属性。

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)

图包含2轴对象。坐标轴对象1包含一个类型的对象。该对象代表untitled1。坐标轴对象2包含一个类型的对象。该对象代表untitled1。

与不确定矩阵(umat),不确定性属性是一个包含不确定元素的结构。您可以使用这个属性直接访问不确定元素。例如,检查范围不确定元素的命名p2sys

sys.Uncertainty.p2.Range
ans =1×22.5000 - 4.2000

变化的不确定性范围p2sys

sys.Uncertainty.p2.Range=[2 4];

该命令只改变参数的范围p2sys。它不改变变量p2在MATLAB工作区。

p2.Range
ans =1×22.5000 - 4.2000

版本历史

之前介绍过的R2006a