广义模型的现值
curval = getValue (M)
blockvalues curval = getValue(米)
Mref curval = getValue(米)
返回当前值curval
= getValue (米
)curval
的广义线性时不变模型或广义矩阵米
.当前值通过替换all得到控制设计模块在米
通过它们的当前值。(对于不确定的块,“当前值”是块的标称值。)
使用结构中指定的块值curval
= getValue (米
,blockvalues
)blockvalues
来计算当前值。的字段名和值blockvalues
指定块名称和相应的值。块米
没有指定的blockvalues
被其当前值所替换。
从广义模型继承块值curval
= getValue (米
,Mref
)Mref
.该语法等价于curval
= getValue (米
,Mref。块
).的当前值米
使用在其他地方计算的块值(例如,通过诸如systune
,looptune
,或鲁棒控制工具箱™命令hinfstruct
(鲁棒控制工具箱)).
|
|
|
指定块的结构 的字段名 |
|
评估模型的块的指定值
这个示例演示如何使用指定的替换值替换广义LTI模型中的控制设计块getValue
.
考虑以下闭环系统:
下面的代码创建一族
本系统的模型与
和可调PI控制器C.
G = zpk (1 (1 1 1) 1);C = tunablePID(“C”,“π”);试=反馈(G * C, 1)
的一族
模型试一试
有一个控制设计模块,C
.块C
初始化为默认值,而模型试一试
的当前值取决于的当前值C
.使用getValue
评估C
和试一试
检查当前值。
评估C
获取其当前值。
Cnow = getValue (C)
这个命令返回一个数字pid
对象的系数反映中可调参数的当前值C
.
评估试一试
获取其当前值。
Tnow = getValue(尝试)
此命令返回一个数值模型,该模型等价于反馈(G * Cnow, 1)
.
调优模型和块的访问值
将块值的更改从一个模型传播到另一个模型getValue
.
这种技术对于访问使用调优命令(例如)调优的模型和块值非常有用systune
,looptune
,或hinfstruct
(鲁棒控制工具箱).例如,如果你有一个控制系统的闭环模型T0
,有两个可调块,C1
和C2
,你可以使用:
[T, fSoft] = systune (T0, SoftReqs);
然后可以访问的调优值C1
和C2
,以及任何闭环模型H
这取决于C1
和C2
,使用以下方式:
C1t = getValue (C1, T);C2t = getValue (C2, T);Ht = getValue (H, T);
一族
|looptune
|replaceBlock
|systune
|hinfstruct
(鲁棒控制工具箱)