状态空间模型
状态空间模型是物理系统作为一阶微分方程相关的输入、输出和状态变量的集合的数学表示。状态变量定义输出变量的值。这SS.
模型对象可以在连续时间或离散时间代表SISO或MIMO状态空间模型。
在连续时间内,状态空间模型是以下形式的:
在这里,X
那你
和y
分别代表状态,输入和输出一种
那B.
那C
和D.
是状态空间矩阵。这SS.
对象表示在MATLAB一个状态空间模型®存储一种
那B.
那C
和D.
以及其他信息,如采样时间,名称和延迟,特定于输入和输出。
您可以通过直接指定状态,输入和输出矩阵,或通过转换另一种类型的模型来创建状态空间模型对象(例如传输函数模型TF.
),以状态空间形式。有关更多信息,请参见状态空间模型.你可以用SS.
模型对象:
进行线性分析
表示线性时变(LTI)模型来进行控制设计
与其他LTI模型相结合以表示更复杂的系统
一种
-状态矩阵Nx
-经过-Nx
矩阵状态矩阵,指定为Nx
-经过-Nx
矩阵,Nx
是状态数。该输入设置的属性的值一种.
B.
-输入到状态矩阵Nx
-经过-ν
矩阵输入到状态矩阵,指定为一个Nx
-经过-ν
矩阵,Nx
是州的数量和ν
是输入的数量。该输入设置的属性的值B..
C
-国家对输出矩阵纽约
-经过-Nx
矩阵状态为输出矩阵,指定为一个纽约
-经过-Nx
矩阵,Nx
是州的数量和纽约
是输出的数量。该输入设置的属性的值C.
D.
-馈通矩阵纽约
-经过-ν
矩阵馈通矩阵,指定为纽约
-经过-ν
矩阵,纽约
是输出的数目和ν
是输入的数量。该输入设置的属性的值D..
TS.
-采样时间样本时间,指定为标量。有关更多信息,请参见Ts财产。
ltiSys
-动态系统转换为状态空间形式动态系统转换到状态空间形式,指定为SISO或MIMO动态系统模型或动态系统模型的阵列。动力系统,你可以转换包括:
成分
-被识别模型的组成部分“测量”
(默认)|“噪音”
|'增强'
辨识模型转换,指定为下列情况之一的组件:
“测量”
- 转换的所测量的分量sys
.
“噪音”
- 转换的噪声分量sys
'增强'
- 转换测量和噪声分量sys
.
成分
仅适用于当sys
是一个确定的LTI模型。
有关识别的LTI模型及其测量和噪声分量的更多信息,请参阅确定了LTI模型.
ssSys
-动力系统模型转换为最小实现或明确的形式SS.
模型对象动力系统模型转换为最小实现或明确的形式,指定为SS.
模型对象。
sys
-输出系统模型SS.
模型对象|雄鸡
模型对象|USS
模型对象输出系统模型,返回:
状态空间(SS.
)模型对象,输入时一种
那B.
那C
和D.
是数值矩阵,或者从另一个模型对象类型转换时。
广义状态空间模型(雄鸡
)对象,当一个或多个矩阵的一种
那B.
那C
和D.
包括可调谐的参数,如雷阿尔卑
参数或广义矩阵(genmat
)。例如,看到创建带有固定和可调参数的状态空间模型.
不确定状态空间模型(USS
)对象,当一个或多个输入时一种
那B.
那C
和D.
包括不确定矩阵。使用不确定的模型需要鲁棒控制工具箱软件。
一种
-状态矩阵Nx
-经过-Nx
矩阵状态矩阵,指定为Nx
-经过-Nx
矩阵在哪里Nx
是状态数。状态矩阵可以根据所期望的状态空间模型的实现,如多种方式来表示:
型号规范形式
同伴规范形式
可观察的规范形式
控规范型
有关更多信息,请参见规范状态空间实现.
B.
-输入到状态矩阵Nx
-经过-ν
矩阵输入到状态矩阵,指定为一个Nx
-经过-ν
矩阵在哪里Nx
是州的数量和ν
是输入的数量。
C
-国家对输出矩阵纽约
-经过-Nx
矩阵状态为输出矩阵,指定为一个纽约
-经过-Nx
矩阵在哪里Nx
是州的数量和纽约
是输出的数量。
D.
-馈通矩阵纽约
-经过-ν
矩阵馈通矩阵,指定为纽约
-经过-ν
矩阵在哪里纽约
是输出的数目和ν
是输入的数量。D.
也称为静态增益矩阵,其表示输出与稳态条件下输入的比率。
E.
-矩阵的隐性状态空间模型Nx
-经过-Nx
矩阵隐式或描述符状态空间模型的矩阵,指定为aNx
-经过-Nx
矩阵。E.
默认情况下是空的,这意味着状态方程是显式的。指定隐式状态方程E.DX./DT.=斧头+BU.,将此属性设置为相同尺寸的平方矩阵一种
.看DSS
有关创建描述符状态空间模型的更多信息。
按比例缩小的
-指示是否启用缩放或禁用缩放的逻辑值0.
(默认)|1
指示伸缩是启用还是禁用的逻辑值,指定为其中之一0.
或者1
.
当按比例缩小的
被设置为0.
(禁用),然后是在状态空间模型上作用的大多数数值算法sys
自动重新划分状态向量以提高数值准确性。您可以通过设置防止这种自动缩放按比例缩小的
到1
(启用)。
有关缩放的更多信息,请参见预分频
.
attnename.
-国名''
(默认)|字符向量|字符向量的单元格阵列国家名称,指定为下列之一:
特征向量 - 对于一阶模型,例如,'速度'
.
字符向量单元阵列-用于具有两个或多个状态的模型
attnename.
是空的''
默认为所有状态。
StatePath
-州路径''
(默认)|字符向量|字符向量的单元格阵列国家路径,以便于线性状态块路径管理,指定为下列之一:
特征向量 - 对于一阶模型
字符向量单元阵列-用于具有两个或多个状态的模型
StatePath
是空的''
默认为所有状态。
StateUnit
-国家单位''
(默认)|字符向量|字符向量的单元格阵列国家单位,指定为下列单位之一:
特征向量 - 对于一阶模型,例如,'多发性硬化症'
字符向量单元阵列-用于具有两个或多个状态的模型
用StateUnit
来记录每个状态的单位。StateUnit
对系统行为没有影响。StateUnit
是空的''
默认为所有状态。
InternalDelay
-模型内部延迟模型中的内部延迟,指定为向量。例如,当关闭带有延迟的系统的反馈回路时,或串联或并联延迟的系统时,会出现内部延迟。有关内部延迟的更多信息,请参见关闭反馈循环随时间延迟.
对于连续时间模型,内部延迟在由所指定的时间单位表示时髦
模型的财产。对于离散时间模型,内部延迟被表示为采样时间的整数倍Ts
.例如,InternalDelay = 3.
意味着延迟三个采样周期。
您可以使用属性修改内部延迟值InternalDelay
.但是,条目的数量sys。一世N.T.E.R.N.一种lDelay
无法改变,因为它是模型的结构属性。
inputdelay.
-输入延迟0.
(默认)|标量子|ν
-By-1矢量每个输入通道的输入延迟,指定为以下内容之一:
标量-指定SISO系统的输入延迟或多输入系统的所有输入延迟。
ν
-1 vector - 指定用于输入多输入系统的单独输入延迟,其中ν
是输入的数量。
对于连续时间系统,在由指定的时间单位指定输入的延迟时髦
财产。对于离散时间系统中,指定的采样时间的整数倍的输入延迟,Ts
.
有关更多信息,请参见线性系统的时间延迟.
outputdelay.
-输出延迟0.
(默认)|标量子|纽约
-By-1矢量每个输出通道的输出延迟,指定为以下之一:
标量-指定SISO系统的输出延迟或多输出系统的所有输出的相同延迟。
纽约
×1向量 - 指定用于多输出系统,其中的输出单独的输出延迟纽约
是输出的数量。
对于连续时间系统,用指定的时间单位指定输出延迟时髦
财产。对于离散时间系统中,指定的采样时间的整数倍输出延迟,Ts
.
有关更多信息,请参见线性系统的时间延迟.
时髦
-时间可变单位'秒'
(默认)|“纳秒”
|'微秒'
|的毫秒
|'分钟'
|“小时”
|'天'
|'周'
|“月”
|“年”
|...时间变量单位,指定为下列之一:
“纳秒”
'微秒'
的毫秒
'秒'
'分钟'
“小时”
'天'
'周'
“月”
“年”
改变时髦
对其他属性没有影响,但更改了整体系统行为。用chgTimeUnit
在不修改系统行为的情况下在时间单位之间转换。
InputName.
-输入频道名称''
(默认)|字符向量|字符向量的单元格阵列输入通道名称,指定为以下之一:
字符向量,对于单输入模型。
字符向量的单元阵列,用于多输入模型。
''
,没有为任何输入通道指定的名称。
或者,您可以使用自动向量展开为多输入模型分配输入名称。例如,如果sys
是一个双输入模型,输入:
sys.inputname =.'控制';
输入名称自动展开为{'控件(1)';'控件(2)'}
.
您可以使用速记符号你
参考InputName.
财产。例如,sys.u.
相当于sys.inputname.
.
用InputName.
到:
识别模型显示和图的频道。
MIMO系统中提取子系统。
互连模型时指定的连接点。
InputUnit
-输入通道单位''
(默认)|字符向量|字符向量的单元格阵列输入通道单元,指定为以下之一:
字符向量,对于单输入模型。
字符向量的单元阵列,用于多输入模型。
''
,没有单位指定任何输入通道。
用InputUnit
指定输入信号的单元。InputUnit
对系统行为没有影响。
InputGroup.
-输入通道组输入信道组,指定为结构。用InputGroup.
分配MIMO系统的输入通道进行分组,并通过名称来引用每个组。的字段名InputGroup.
是组名,字段值是每个组的输入通道。例如:
sys.inputgroup.controls = [1 2];sys.inputgroup.noise = [3 5];
创建名为控制
和噪音
包括输入通道1
和2
, 和3.
和5.
,分别。然后,您可以从中提取子系统控制
使用以下输出的输入:
SYS(:,'控制')
默认情况下,InputGroup.
是没有田地的结构。
OutputName
-输出通道名称''
(默认)|字符向量|字符向量的单元格阵列输出通道名称,指定为以下之一:
字符向量,为单输出模式。
字符向量的单元数组,用于多输出模型。
''
,没有为任何输出通道指定的名称。
或者,您可以使用自动向量展开为多输出模型分配输出名称。例如,如果sys
是一个双输出模型,输入:
sys。OutputName ='测量';
输出名称自动展开为{ '测量(1)'; '测量(2)'}
.
您还可以使用速记符号y
参考OutputName
财产。例如,sys.y.
相当于sys。OutputName
.
用OutputName
到:
识别模型显示和图的频道。
MIMO系统中提取子系统。
互连模型时指定的连接点。
OutputUnit.
-输出通道单位''
(默认)|字符向量|字符向量的单元格阵列输出信道单元,指定为以下情况之一:
字符向量,为单输出模式。
字符向量的单元数组,用于多输出模型。
''
,没有为任何输出通道指定单位。
用OutputUnit.
指定的输出信号的单位。OutputUnit.
对系统行为没有影响。
OutputGroup
-输出通道组输出信道组,指定为结构。用OutputGroup
分配MIMO系统的输出通道分成组,并通过名称来引用每个组。的字段名OutputGroup
是组名称和字段值的每个组的输出通道。例如:
sys.outputgroup.temperature = [1];sys.inputgroup.measurement = [3 5];
创建一个名为输出组温度
和测量
包括输出通道1
, 和3.
和5.
,分别。然后可以从所有的输入中提取子系统测量
输出使用:
系统(“测量”:)
默认情况下,OutputGroup
是没有田地的结构。
姓名
-系统名称''
(默认)|字符向量系统名,指定为字符向量。例如,'system_1'
.
笔记
-用户指定的文本{}
(默认)|字符向量|字符向量的单元格阵列要与系统关联的用户指定的文本,指定为字符向量或字符向量的单元格数组。例如,系统分配的
.
用户数据
-用户指定的数据[]
(默认)|任何MATLAB数据类型用户指定的数据与系统关联,指定为任何MATLAB数据类型。
SamplingGrid.
-对于模型阵列扫描网格抽样模型阵列网格,指定为结构阵列。
用SamplingGrid.
跟踪与模型数组中每个模型关联的变量值,包括已识别的线性时不变(IDLTI)模型数组。
将结构的字段名称设置为采样变量的名称。将字段值设置为与数组中的每个模型关联的采样变量值。所有采样变量必须是数值标量,并且所有采样值阵列必须与模型阵列的尺寸匹配。
例如,可以创建一个11×1阵列线性模型,sysarr
,通过对线性时变系统进行定时快照T = 0:10
.以下代码使用线性模型存储时间样本。
sysarr。SamplingGrid =结构('时间',0:10)
类似地,可以创建一个6×9模型排列,m
,通过对两个变量独立抽样,ζ
和W.
.下面的代码映射(Zeta,W)
价值观m
.
[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)'Zeta',Zeta,'W',w)
当您显示m
,数组中的每一项都包含相应的ζ
和W.
值。
m
(:: 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.
自动使用与数组中的每个条目对应的变量值。例如,万博1manbetx仿真软件控制设计™命令线性化
(万博1manbetxSimulink Control Design)和slLinearizer
(万博1manbetxSimulink Control Design)填充SamplingGrid.
自动。
默认情况下,SamplingGrid.
是没有田地的结构。
创建由下列状态空间矩阵定义的SISO状态空间模型:
指定A,B,C和D矩阵,并创建状态空间模型。
a = [-1.5,-2; 1,0];b = [0.5; 0];c = [0,1];D = 0;sys = ss(a,b,c,d)
sys = a = x1 x2 x1 -1.5 -2 x2 1 0 b = u1 x1 0.5 x2 0 c = x1 x2 y1 0 1 d = u1 y1 0连续时间 - 空间模型。
创建具有0.25秒和下面的状态空间矩阵的样品时的状态空间模型:
指定状态空间矩阵。
A = [0 1;- 1];B = [0; 3);C = [0 1];D = 0;
指定采样时间。
TS = 0.25;
创建状态空间模型。
sys = ss (A, B, C, D, Ts);
在这个例子中,假设一个立方体旋转约与惯性张角落j
和阻尼力F
0.2级。系统的输入是驱动力矩,而角速度是输出。立方体的状态空间矩阵为:
指定一种
那B.
那C
和D.
矩阵,建立连续时间状态空间模型。
J = [8 -3 -3;-3 8 -3;-3 -3 8];F = 0.2×眼(3);A = -J \ F;B = INV(J);C =眼(3);D = 0;sys = ss(a,b,c,d)
sys = = (x1, x2) x3 x1 x2 -0.04545 -0.02727 -0.02727 -0.02727 -0.04545 -0.02727 x3 -0.02727 -0.02727 -0.04545 B = u1, u2 u3 x1 x2 0.2273 0.1364 0.1364 0.1364 0.2273 0.1364 x3 0.1364 0.1364 0.2273 C = (x1, x2) x3 y1 1 0 0 y2 0 1 0 y3 0 0 1 D = u1, u2 u3 y1 0 0 0 y2 0 0 0 0 0 0 3日元连续时间状态空间模型。
sys
是MIMO,因为系统包含3个输入和从基质观察到的3个输出C
和D.
.有关MIMO状态空间模型的更多信息,请参阅天线系统状态空间模型.
使用以下的离散时间,多输入,多输出状态矩阵的采样时间创建一个状态空间模型t = 0.2
秒:
指定状态空间矩阵和创建的离散时间MIMO状态空间模型。
A = [-7,0; 0,-10];B = [5,0; 0,2];C = [1,-4; -4,0.5];d = [0,-2; 2,0]。TS = 0.2;sys = ss(a,b,c,d,ts)
sys = a = x1 x2 x1 -7 0 x2 0 -10 b = u1 u2 x1 5 0 x2 0 2 c = x12y1 1 -4 y2 -4 0.5 d = u1 u2 y1 0 -2 y2 2 0采样时间:0.2秒离散时间 - 空间模型。
创建状态空间矩阵并指定采样时间。
A = [0 1;- 1];B = [0; 3);C = [0 1];D = 0;t = 0.05;
创建状态空间模型,并指定使用的名称 - 值对的状态和输入名称。
sys = ss(a,b,c,d,ts,'attename',{'位置''速度'},...'InputName'那'力量');
状态和输入名称的数量必须与尺寸一致一种
那B.
那C
, 和D.
.
与MIMO系统响应曲线打交道时命名输入和输出可以是有用的。
步骤(SYS)
注意输入名称力
在阶跃响应曲线的称号。
对于这个例子,创建与来自另一状态空间模型继承了相同的时间和输入单元特性的状态空间模型。考虑以下状态空间模型:
首先,创建一个状态空间模型SYS1.
与之时髦
和InputUnit
属性设置为“分钟
'。
A1 = [-1.5, 2; 1,0];B1 = (0.5; 0);C1 = [0, 1];D1 = 5;sys1 = ss (A1, B1, C1, D1,“TimeUnit”那'分钟'那“InputUnit”那'分钟');
验证的时间和输入单元属性SYS1.
设置为'分钟
'。
propvalues1 = [sys1.timeUnit,sys1.inputunit]
propvalues1 =1x2的细胞{“分钟”}{“分钟”}
使用继承的属性创建第二个状态空间模型SYS1.
.
A2 = [7, - 1; 0,2];B2 = [0.85; 2];C2 = [10,14];D2 = 2;系统2 = SS(A2,B2,C2,D2,SYS1);
验证时间和输入单位SYS2.
被继承了SYS1.
.
propValues2 = [sys2.TimeUnit sys2.InputUnit]
propValues2 =1x2的细胞{“分钟”}{“分钟”}
在本例中,您将创建一个静态增益MIMO状态空间模型。
考虑以下两输入,双输出静态增益矩阵:
指定增益矩阵,并创建静态增益状态空间模型。
D =[2、4;3、5];sys1 = ss (D)
SYS1 = D = U1 U2 Y1 2 4 Y2 3 5静态增益。
计算以下传输功能的状态空间模型:
创建传递函数模型。
h = [tf([1 1],[1 3 3 2]);TF([1 0 3],[1 1 1])];
将此模型转换为状态空间模型。
sys = ss(h);
检查状态空间模型的大小。
大小(SYS)
状态空间模型,有2个输出,1个输入,5个状态。
状态数等于中SISO条目的累积顺序H(S.)。
为了获得一个最小的实现H(S.), 进入
SYS = SS(H,“最低”);大小(SYS)
状态空间模型与2个输出,1个输入端,和3个状态。
生成的模型有三个顺序,这是需要表示的状态的最小数量H(S.)。要查看此状态,重构H(S.)作为一阶系统和二阶系统的乘积。
对于此示例,提取所识别的多项式模型的测量和噪声分量分成两个独立的状态空间模型。
加载Box-Jenkins多项式模型ltiSys
在identifiedModel.mat
.
加载('identifiedModel.mat'那'ltisys');
ltiSys
是以下形式的识别的离散时间模型:
, 在哪里
代表测得的组分和
的噪声成分。
提取测量和噪声分量作为状态空间模型。
sysmeas = ss(ltisys,“测量”)
sysMeas = A = X1 X2 X1 1.575 -0.6115×2 1 0 B = U1 X1 X2 0.5 0 C = X1 X2 Y1 -0.2851 0.3916 d = U1 Y1 0输入延迟(采样周期):2采样时间:0.04离散时间状态-space模型。
SYSNOISE = SS(ltiSys,“噪音”)
SYSNOISE = A = X1 X2 X3 X1 1.026 -0.26 0.3899×2 1 0 0×3 0 0.5 0 B = V @ Y1 X1 X2 0.25 0 0 X3 C = X1 X2 X3 Y 1 0.319 -0.04738 0.07106 d = V Y1 @ Y1 0.04556输入组:名称通道噪声1采样时间:0.04离散时间状态空间模型。
所测得的组分可以作为植物模型,而噪声分量可以被用作扰动模型控制系统的设计。
创建描述符状态空间模型(E.≠一世)。
A = [2 -4;4 2];B = [-1;0.5];C = [-0.5,-2];d = [-1];E = [1 0;-3 0.5];SYSD = DSS(A,B,C,d,E);
计算系统的显式实现(E.=一世)。
SYSE = SS(SYSD,'显式')
SYSE = A = X1 X2 X1 2 -4×2 20 -20 B = U1 X1 X2 -1 -5 C = X1 X2 Y1 -0.5 -2 d = U1 Y1 -1连续时间状态空间模型。
确认描述和明确的实现有相当的力度。
贝德普洛特(Sysd,Syse,“g——”)
此示例显示如何创建状态空间雄鸡
模型具有固定和可调参数。
在哪里一种和B.是可调参数,其初始值是-1
和3.
,分别。
创建使用可调参数雷阿尔卑
.
a = REAMP('一种',-1);b = REAMP('B',3);
用的代数表达式定义一个广义矩阵一种
和B.
.
A = [1 A +b;0 A *b];
一种
是一种广义矩阵块
属性包含一种
和B.
.的初始值一种
是[1 2; 0 -3]
,来自初始值一种
和B.
.
创建固定值状态空间矩阵。
b = [-3.0; 1.5];c = [0.3 0];d = 0;
用SS.
创建状态空间模型。
sys = ss(a,b,c,d)
SYS =广义连续时间状态空间模型与1个输出,1个输入,2个状态,并且下面的块:一个:标量参数,2次出现。B:标量参数,2次出现。键入“SS(SYS)”查看当前值,“得到(SYS)”可以看到所有属性,以及“sys.Blocks”与块进行交互。
sys
是广义LTI模型(雄鸡
)有可调参数一种
和B.
.
对于这个例子,考虑一个由以下状态空间矩阵定义的SISO状态空间模型:
考虑0.5秒的输入延迟和2.5秒的输出延迟,创建一个状态空间模型对象来表示A,B,C和d矩阵。
a = [-1.5,-2; 1,0];b = [0.5; 0];c = [0,1];D = 0;sys = ss(a,b,c,d,'InputDelay',0.5%,'OutputDelay',2.5)
SYS = A = X1 X2 X1 -1.5 -2×2 1 0 B = U1 X1 X2 0.5 0 C = X1 X2 Y1 0 1 d = U1 Y1 0输入的延迟(秒):0.5输出延迟(秒):2.5连续时间状态空间模型。
你也可以用the得到
命令显示MATLAB对象的所有属性。
(系统)
答:[2x2 double] b:[2x1 double] c:[0 1] D:0 e:[]缩放:0 stateName:{2x1 Cell} StatePath:{2x1 Cell} StateUnit:{2x1 Cell} InternalDelay:[0x1DOUBLE]输入:0.5000 OUTPUTDELAY:2.5000 TS:0 oneUpunit:'秒'InputName:{''} InputUnit:{''} InputGroup:[1x1 struct] OutputName:{''} OutputUnit:{''} OutputGroup:[1x1struct]注意:[0x1字符串] UserData:[]名称:''samplinggrid:[1x1 struct]
有关为LTI模型指定时间延迟的详细信息,请参见指定时间延迟.
对于这个例子,考虑一个状态空间系统对象,它表示以下状态矩阵:
创建状态空间对象sys
使用SS.
命令。
A = [-1.2,-1.6,0; 1,0,0; 0,1,0];B = [1; 0; 0];C = [0,0.5,1.3];D = 0;SYS = SS(A,B,C,d);
接下来,计算单位负增益的闭环状态空间模型,并找到闭环状态空间系统对象的极点sysFeedback
.
sysFeedback =反馈(sys, 1);P =杆(sysFeedback)
P =3×1复-0.2305 - 1.3062i -0.7389 + 0.00000 i
单位增益的反馈回路是稳定的,因为所有极点都有负的实部。检查闭环极点提供了稳定性的二元评估。在实践中,了解稳定性的健壮性(或脆弱性)更有用。鲁棒性的一个指标是在失去稳定性之前环路增益可以改变多少。您可以使用根轨迹图来估计的范围K.
值,其中循环是稳定的。
rlocus(系统)
在环路增益变化是唯一的鲁棒稳定性方面。在一般情况下,不完美的植物造型意味着这两个增益和相位不完全知道。由于建模误差有附近的增益交叉频率最不利的影响(频率在那里开环增益为0dB),这也是很重要的多少相位变化可以在这个频率被容忍。
您可以如下方式在波德图上显示增益和相位裕度。
博德(SYS)格
有关更详细的示例,请参见评估增益和相位裕度.
针对本例,为如下矩阵表示的系统设计一个目标带宽为0.75 rad/s的二自由度PID控制器:
创建状态空间对象sys
使用SS.
命令。
A = [-0.5,-0.1; 1,0];B = [1; 0];c = [0,1];D = 0;sys = ss(a,b,c,d)
SYS = A = X1 X2 X1 -0.5 -0.1×2 1 0 B = U1 X1 X2 1 0 C = X1 X2 Y1 0 1 d = U1 Y1 0连续时间状态空间模型。
使用目标带宽,使用pidtune
生成2-DOF控制器。
WC = 0.75;C2 = pidtune(SYS,“PID2”,厕所)
C2 = 1 u = Kp (b*r-y) + Ki——(r-y) + Kd*s (c*r-y) s,具有Kp = 0.513, Ki = 0.0975, Kd = 0.577, b = 0.344, c = 0并联形式的连续二自由度PID控制器。
使用类型“PID2”
原因pidtune
以生成二自由度控制器,表示为PID2.
对象。显示器确认此结果。显示屏也显示出来pidtune
调优所有控制器系数,包括设定值权重B.
和C
,以平衡性能和稳健性。
对于在现场编辑器互动PID自整定,见曲调PID控制器现场编辑任务。此任务可以交互地设计一个PID控制器,并自动生成MATLAB代码为您的生活脚本。
为了在独立的应用程序,使用互动PID自整定PID调谐器.看PID控制器设计快速参考跟踪以使用应用程序设计控制器为例。
考虑一个国家空间植物G
有五个输入,四个输出和一个状态空间反馈控制器K.
具有三个输入和两个输出。工厂的输出1,3和4G
必须连接控制器吗K.
输入,控制器输出到设备的输入4和2。
在这个例子中,可以考虑两个连续两个时间状态空间模型G
和K.
由以下组矩阵表示:
AG) = [3, 0.4, 0.3, -0.5, -2.8, -0.8, 0.2, 0.8, 3];BG = [0.4, 0, 0.3, 0.2, 0; -0.2,, 0.1, -0.9, -0.5, 0.6, 0.9, 0.5, 0.2, 0];CG =[0、-0.1、1;0,-0.2,1.6,-0.7,1.5,1.2,-1.4,-0.2,0];DG = [0, 0, 0, 0, 1, 0, 0.4, -0.7, 0, 0.9, 0, 0.3, 0, 0, 0, 0.2, 0, 0, 0, 0);sysG = ss (AG)、BG、CG DG)
sysG = A = X1 X2 X3 X1 -3 0.4 0.3 -0.5×2 -2.8 -0.8×3 0.2 0.8 -3 B = U1 U2 U3 U4 U5 X1 0.4 0 0.3 0.2 0 -0.2×2 -1 0.1 -0.9 -0.5 0.6×3 0.90.5 0.2 0 C = X1 X2 X3 Y 1 0 -0.1 -1 Y2 0 -0.2 1.6 -0.7 Y3 1.5 1.2 Y4 -1.4 -0.2 0 d = U1 U2 U3 U4 U5 Y1 0 0 0 0 -1 0 Y2 0.4 -0.7 00.9 Y3 0 0.3 0 0 0 0.2 Y4 0 0 0 0连续时间状态空间模型。
AK = [-0.2,2.1,0.7; -2.2,-0.1,-2.2; -0.4,2.3,-0.2];BK = [-0.1,-2.1,-0.3; -0.1,0,0.6; 1,0,0.8];CK = [-1,0,0; -0.4,-0.2,0.3];DK = [0,0,0; 0,0,-1.2];sysK = SS(AK,BK,CK,DK)
sysK = = (x1, x2) x3 x1 x2 -0.2 2.1 0.7 -2.2 -0.1 -2.2 x3 -0.4 2.3 -0.2 B = u1, u2 u3 x1 0.6 -0.1 -0.1 -2.1 -0.3 x2 0 x3 1 0 x1 0.8 C = x3 y1 1 0 0 y2 -0.4 -0.2 0.3 D = u1, u2 u3 y1 0 0 0 y2 0 0 -1.2连续时间状态空间模型。
定义喂料
和饲料中
基于输入和输出连接在反馈回路中的向量。
Feedin = [4 2];Feedout = [1 3 4];sys =反馈(sysG sysK、feedin feedout, 1)
SYS = A = X1 X2 X3 X4 X5 X6 X1 -3 0.4 0.3 0.2 0 X2 1.18 -2.56 -0.8 -1.3 -0.2 0.3 x3 -1.312 0.584 -3 0.56 0.18 -0.27 x4 2.948 -2.929 -2.42 -0.452 1.974 0.889 x5-0.84 -0.11 0.1 -2.2 -0.1 -2.2 x6 -1.12 -0.26 -1-0.4 2.3 -0.2 B = U1 U2 U3 U4 U5 x1 0.4 0 0.3 0.2 0 x2 -0.44 -1 0.1 -0.9 -0.5 x3 0.816 0.9 0.50.2 0 x4 -0.2112 -0.63 0 0 0.1 x5 0.12 0 0 0 0.1 x6 0.16 0 0 0 -1 c = x1 x2 x3 x4 x5 x6 y1 0 -0.1 -1 0 0 0 y2 -0.672 -0.296 1.6 0.16 0.08 -0.12Y3 -1.204 1.428 1.2 0.12 0.06 -0.09 y4 -1.4 -0.2 0 0 0 0 d = U1 U2 U3 U4 U5 Y1 0 0 0 0 0 -1 Y2 0.096 0.4 -0.7 0 0.9 Y3 0.072 0.3 0 0 0 Y 4 0.2 0 0 00连续时间空间模型。
大小(SYS)
状态空间模型带4个输出,5个输入,和6个状态。
sys
通过连接指定的输入和输出获得的结果闭环状态空间模型G
和K.
.
Tiene UnaVersiónModififada de Este Ejegro。¿desea abrir este ejegro ejemero con modififiones?
Ha Hecho Clic en en enrace que参考este comando de matlab:
把它扔进introduciéndolo然后把它扔进MATLAB。Los navegadores web no admit comandos de MATLAB。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。