主要内容

一族

广义状态空间模型

描述

广义状态空间(一族)模型状态空间模型,包括可调参数或组件。一族模型出现当你把数字LTI含有可调模型和模型组件(控制设计块)。关于数字线性时不变模型和控制设计的更多信息块,明白了模型与可调系数

您可以使用广义状态空间模型来表示控制系统有固定和可调组件的混合物。使用广义状态空间模型控制设计等任务参数研究和参数优化等命令systunelooptune

建设

构建一个一族模型:

  • 使用系列,平行,融通,或连接或算术运算符+,- - - - - -,*,/,\,^,结合数字LTI模型与控制设计。

  • 使用特遣部队党卫军与一个或多个输入参数是一个广义矩阵(genmat)而不是一个数字数组

  • 转换任何数值线性时不变模型,控制设计块,或slTuner(金宝app仿真软件控制设计)接口(需要金宝app®控制设计™),例如,sys,一族使用形式:

    gensys =一族(系统)

    sys是一个slTuner接口,gensys包含所有可调的街区和分析点在这个接口中指定。计算一个特定的I / O的可调模型传递函数,调用getIOTransfer (gensys,)。在这里,分析的兴趣点。(使用getPoints(系统)分析点的完整列表。)类似地,计算一个特定的开环传递函数的可调模型,使用getLoopTransfer (gensys loc)。在这里,疯狂的感兴趣的是分析点。

属性

包含控制结构设计模块包含在广义线性时不变模型或广义矩阵。的字段名的名字每个控制设计块的属性。

你可以改变一些属性的控制设计块使用点符号。例如,如果广义线性时不变模型或广义矩阵包含一个realp可调参数一个,你可以改变的当前值一个使用:

M.Blocks.a。值= 1;

A, B, C, D

依赖状态矩阵的可调谐和不确定参数,存储为一个广义矩阵(genmat),不确定矩阵(umat),或双数组。

这些属性模型状态方程矩阵的依赖静态控制设计模块,realp,尿素的,ucomplex,或ucomplexm。动态控制设计等模块tunableGain可调参数设置为当前值和内部延迟设置为零。

当相应的状态空间矩阵不依赖于任何静态控制设计块,这些属性评估矩阵翻倍。

例如,看到的依赖的状态矩阵参数

E

E矩阵,存储为一个双矩阵广义状态空间方程隐式。的值E = []意味着广义状态空间方程显式。隐式状态空间模型的更多信息,请参阅状态空间模型

StateName

国家名称,存储为以下之一:

  • 例如,一阶模型的特征向量,“速度”

  • 单元阵列特征向量的模型与两个或两个以上的国家,例如,{“位置”,“速度”}

  • ——匿名状态。

你可以分配国家名称一族模型只有当所有的控制设计街区是静态的。否则,指定状态名称连接之前创建的组件模型一族模型。当你这样做,一族模型跟踪分配状态的名字。例如,看到的跟踪状态在广义状态空间模型

默认值:对所有国家

StateUnit

国家单位标签,存储为以下之一:

  • 例如,一阶模型的特征向量,“米/秒”

  • 单元阵列特征向量的模型与两个或两个以上的国家,例如,{“m”;“米/秒”}

  • ——匿名状态。

StateUnit标签每个州的单位为了方便,而且没有对系统行为的影响。

你可以分配国家单位一族模型只有当所有的控制设计街区是静态的。否则,指定状态单位连接之前创建的组件模型一族模型。当你这样做,一族模型跟踪分配状态的单位。例如,看到的跟踪状态在广义状态空间模型

默认值:对所有国家

InternalDelay

向量存储内部延迟。

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

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

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

InputDelay

为每个输入通道输入延迟,指定为一个标量值或数值向量。对于连续时间系统,指定输入延迟中存储的时间单位TimeUnit财产。对于离散时间系统,指定输入整数倍的样品时间延迟Ts。例如,InputDelay = 3意味着延迟三个示例。

为一个系统ν输入,设置InputDelay到一个ν1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。

你也可以设置InputDelay一个标量值应用相同的延迟所有频道。

默认值:0

OutputDelay

输出延迟。OutputDelay是一个数值向量为每个输出通道指定一个时间延迟。对于连续时间系统,指定输出延迟中存储的时间单位TimeUnit财产。对于离散时间系统,指定输出延迟样品时间的整数倍Ts。例如,OutputDelay = 3意味着三个采样周期的延迟。

为一个系统纽约输出,OutputDelay到一个纽约1的向量,其中每个条目是一个数值表示的输出延迟相应的输出通道。你也可以设置OutputDelay一个标量值应用相同的延迟所有频道。

默认值:对所有输出通道0

Ts

样品时间。对于连续时间模型,t = 0。对于离散时间模型,Ts是一个积极的标量表示采样周期。这个值是表示在指定的单位TimeUnit模型的属性。来表示一个离散时间模型随着时间未指明的样本,集Ts = 1

改变这个属性不离散化或重新取样模型。

默认值:0(持续时间)

TimeUnit

单位时间变量,样品时间Ts在模型中,任何时间延迟,指定为以下值之一:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

改变对其他属性,这个属性没有影响,因此改变整个系统的行为。使用chgTimeUnit时间单位,无需修改系统行为之间的转换。

默认值:“秒”

InputName

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

  • 特征向量,输入模型,例如,“控制”

  • 单元阵列特征向量,对于多输入模型。

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

sys.InputName=“控制”;

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

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

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

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

  • 提取MIMO系统的子系统

  • 当互连模型指定连接点

默认值:对所有输入通道

InputUnit

输入通道单位,指定为以下之一:

  • 特征向量,输入模型,例如,“秒”

  • 单元阵列特征向量,对于多输入模型。

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

默认值:对所有输入通道

InputGroup

输入通道组。的InputGroup属性允许您指定MIMO系统的输入通道组,指每组的名字。指定输入组作为一个结构。在这个结构中,字段名称的组名称和字段值是属于每个组的输入通道。例如:

sys.InputGroup。控制=(12];sys.InputGroup。噪音= [3 - 5];

创建输入组命名控制噪音包括输入通道1、2和3,分别为5。然后您可以提取的子系统控制输入所有输出使用:

sys(:,“控制”)

默认值:结构没有字段

OutputName

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

  • 特征向量,对于模型。例如,“测量”

  • 单元阵列特征向量的——对多输出模型。

另外,使用自动分配向量扩张输出名称多输出模型。例如,如果sys是一个两个输出模型,输入:

sys.OutputName=“测量”;

输出名称自动扩大{“测量(1)”,“测量”(2)}

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

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

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

  • 提取MIMO系统的子系统

  • 当互连模型指定连接点

默认值:对所有输出通道

OutputUnit

输出通道单位,指定为以下之一:

  • 特征向量,对于模型。例如,“秒”

  • 单元阵列特征向量的——对多输出模型。

使用OutputUnit跟踪输出信号单元。OutputUnit没有对系统行为的影响。

默认值:对所有输出通道

OutputGroup

输出通道组。的OutputGroup属性允许您指定MIMO系统的输出通道组,指每组的名字。指定输出组作为一个结构。在这个结构中,字段名称的组名称和字段值是属于每个组的输出通道。例如:

sys.OutputGroup。温度=(1];sys.OutputGroup。测量=(35];

创建输出组命名温度测量包括输出通道1,3,5,分别。然后您可以从所有输入提取子系统测量输出使用:

系统(“测量”,:)

默认值:结构没有字段

的名字

系统名称、指定为一个特征向量。例如,“system_1”

默认值:

笔记

任何你想要的文本关联系统,存储为一个字符串或一个单元阵列的特征向量。您提供的属性存储任何数据类型。例如,如果sys1sys2动态系统模型,您可以设置他们的吗笔记属性如下:

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

默认值:(0×1的字符串)

用户数据

任何你想要的类型的数据与系统,指定为任何MATLAB®数据类型。

默认值:[]

SamplingGrid

采样网格模型数组,指定为一个数据结构。

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

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

例如,假设您创建一系列11-by-1的线性模型,sysarr,通过一个线性时变系统的快照t = 0:10。下面的代码存储时间和样品线性模型。

sysarr。年代一个mplingGrid = struct(“时间”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…

线性化模型数组生成的仿真软件模型在多个参数值或操作点,软件填充金宝appSamplingGrid自动变量的值,对应于每个条目数组中。例如,金宝app仿真软件控制设计命令线性化(金宝app仿真软件控制设计)slLinearizer(金宝app仿真软件控制设计)填充SamplingGrid以这种方式。

默认值:[]

例子

全部折叠

在这个例子中,您将创建一个低通滤波器和一个可调参数一个:

F = 一个 年代 + 一个

因为的分子和分母系数tunableTF块是独立的,不能使用tunableTF代表F。相反,构建F使用可调的参数对象realp

创建一个真正的可调参数的初始值10

一个= realp (“一个”,10)
=名称:a值:10最低:负最大:正自由:1真正的标量参数。

使用特遣部队创建可调的低通滤波器F

分子=一个;分母= [1];F =特遣部队(分子、分母)
广义连续时间与状态空间模型1输出,输入,1,和以下模块:标量参数2事件。输入“党卫军(F)”的当前值和“F。块”与街区。

F是一个一族对象的可调参数一个在其财产。你可以连接F与其他可调或数字模型来创建更复杂的控制系统模型。例如,看到的控制系统与可调组件

这个例子显示了如何创建一个整数一族同时拥有固定和可调参数模型。

一个 = ( 1 一个 + b 0 一个 b ] , B = ( - - - - - - 3 0 1 5 ] , C = ( 0 3 0 ] , D = 0 ,

在哪里一个b可调参数的初始值是什么13,分别。

创建一个可调参数realp

一个= realp (“一个”1);b = realp (“b”3);

定义一个广义矩阵使用代数表达式一个b

= (1 + b; 0 A * b);

一个是一个广义矩阵的吗属性包含一个b。的初始值一个(1 2;0 3)初始值的一个b

创建一个固定值状态矩阵。

B = [-3.0, 1.5];C = 0.3 [0];D = 0;

使用党卫军状态空间模型来创建。

sys = ss (A, B, C, D)
广义连续时间与状态空间模型1输出,输入,2,和以下模块:标量参数2事件。b:标量参数,2出现。输入“党卫军(sys)”看到当前值和”系统。块”与街区。

sys是一个广义线性时不变模型(一族)和可调参数一个b

这个例子展示了如何创建一个可调的控制系统模型,固定装置和传感器动态和可调控制组件。

考虑下图的控制系统。

假设植物响应 G ( 年代 ) = 1 / ( 年代 + 1 ) 2 ,传感器动态模型 年代 ( 年代 ) = 5 / ( 年代 + 4 ) 。控制器 C 是一个可调的PID控制器,和预滤器吗 F = 一个 / ( 年代 + 一个 ) 是一个低通滤波器和一个可调参数,一个

创建代表植物和传感器动态模型。因为工厂和传感器动态是固定的,代表他们使用数字线性时不变模型。

G = zpk ([], [1], 1);S =特遣部队(5 4 [1]);

模型可调组件,使用控制设计。创建一个控制器的可调表示C

C = tunablePID (“C”,“PID”);

C是一个tunablePID对象,它与一个预定义的控制设计块proportional-integral-derivative (PID)结构。

创建一个模型的过滤器 F = 一个 / ( 年代 + 一个 ) 有一个可调参数。

一个= realp (“一个”10);F =特遣部队(a [1]);

一个是一个realp(实际可调参数)对象与初始值10。使用一个作为一个系数特遣部队创建可调一族模型对象F

互连模型构造一个完整的闭环响应模型ry

T =反馈F (G * C, S) *
广义连续时间与状态空间模型1输出,输入,5个州,和以下模块:C:可调PID控制器,1出现。答:标量参数,2出现。输入“党卫军(T)”的当前值和“T。块”与街区。

T是一个一族模型对象。只与一个聚合模型由连接数字LTI模型,T跟踪控制系统的可调的元素。可调元素存储在财产的一族模型对象。检查可调的元素T

T.Blocks
ans =结构体字段:C: [1 x1 tunablePID]: [1 x1 realp]

当您创建一个一族模型的控制系统可调的组件,您可以使用调优命令等systune调优您所指定的自由参数满足设计要求。

创建一个一族模型与国家名称的标签。为此,标签组件的状态LTI模型连接它们之前。例如,连接两个固定系数模型和一个状态可调控制器。

(1 = 1;1 0];B = [1;0);C = [0 1];D = 0;G = ss (A, B, C, D);G。年代tateName = {“Pstate1”,“Pstate2”};C =可调参数(“C”,1,1,1);L = G * C;

一族模型l保护国家的名称创建它的组件。因为你没有分配状态可调组件名称C,软件自动。检查的国家名称l确认他们。

L.StateName
ans =3 x1细胞{' Pstate1} {‘Pstate2} {' C。x1的}

国家名称分配给自动控制设计模块允许您跟踪状态的广义模型是由可调的组件。

当你转换一个名字也保留状态一族状态空间模型固定系数模型。确认,将l党卫军的形式。

Lfixed = ss(左);Lfixed.StateName
ans =3 x1细胞{' Pstate1} {‘Pstate2} {' C。x1的}

国家单位标签,存储在StateUnit财产的一族模型中,同样的行为。

创建一个广义模型和一个可调参数,并检查的依赖一个矩阵参数。为此,检查一个广义模型的属性。

特遣部队(G = 1, 10 [1]);k = realp (“k”1);F =特遣部队(k, k [1]);L1 = G * F;L1.A
广义矩阵2行2列,以下模块:凯西:标量参数,2出现。类型“双(ans)“当前值和“ans.Blocks”与块。

一个房地产是一个广义矩阵保存真正的可调参数的依赖k。了状态矩阵的属性一个,B,C,D只有保持静态参数的依赖关系。当一族模型设计动态控制块,这些将他们评估了状态矩阵属性的当前值。例如,检查一个矩阵性质的一族模型与一个可调π块。

C = tunablePID (“C”,“π”);L2 = G * C;L2.A
ans =2×2-10.0000 - 0.0010 0 0

在这里,一个矩阵存储为双矩阵,其价值一个矩阵的当前值L2

L2cur = ss (L2);L2cur.A
ans =2×2-10.0000 - 0.0010 0 0

此外,状态空间矩阵提取使用ssdata所有控制设计块设置为当前或名义值,包括静态块。因此,以下操作所有返回的当前值一个矩阵的L1

[A, B, C, D] = ssdata (L1);一个
一个=2×2-10年1 0 1
双(L1.A)
ans =2×2-10年1 0 1
L1cur = ss (L1);L1cur.A
ans =2×2-10年1 0 1

提示

  • 你可以操作一族模型作为普通党卫军模型。分析命令等波德一步评估模型代替每一个可调参数的当前值。

版本历史

介绍了R2011a