主要内容

getValue

广义模型的现值

语法

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。块).的当前值使用在其他地方计算的块值(例如,通过诸如systunelooptune,或鲁棒控制工具箱™命令hinfstruct(鲁棒控制工具箱)).

输入参数

广义线性时不变模型广义矩阵

blockvalues

指定块的结构和用来替换这些块的值。

的字段名blockvalues匹配控件设计块的名称.的对应块使用字段值指定替换值.字段值可以是数值、动态系统模型或静态模型。如果某些字段值是Control Design Blocks或Generalized LTI模型,则使用这些模型的当前值进行计算curval

Mref

广义线性时不变模型.如果您提供MrefgetValue计算curval中块的当前值Mref谁的名字匹配

输出参数

curval

数字数组或数字LTI模型的当前值

如果没有为给定的控件设计块指定替换值getValue使用该块的当前值。

例子

评估模型的块的指定值

这个示例演示如何使用指定的替换值替换广义LTI模型中的控制设计块getValue

考虑以下闭环系统:

下面的代码创建一族本系统的模型与 G 年代 ) 年代 1 ) 年代 + 1 ) 3. 和可调PI控制器C

G = zpk (1 (1 1 1) 1);C = tunablePID(“C”,“π”);试=反馈(G * C, 1)

一族模型试一试有一个控制设计模块,C.块C初始化为默认值,而模型试一试的当前值取决于的当前值C.使用getValue评估C试一试检查当前值。

  1. 评估C获取其当前值。

    Cnow = getValue (C)

    这个命令返回一个数字pid对象的系数反映中可调参数的当前值C

  2. 评估试一试获取其当前值。

    Tnow = getValue(尝试)

    此命令返回一个数值模型,该模型等价于反馈(G * Cnow, 1)

调优模型和块的访问值

将块值的更改从一个模型传播到另一个模型getValue

这种技术对于访问使用调优命令(例如)调优的模型和块值非常有用systunelooptune,或hinfstruct(鲁棒控制工具箱).例如,如果你有一个控制系统的闭环模型T0,有两个可调块,C1C2,你可以使用:

[T, fSoft] = systune (T0, SoftReqs);

然后可以访问的调优值C1C2,以及任何闭环模型H这取决于C1C2,使用以下方式:

C1t = getValue (C1, T);C2t = getValue (C2, T);Ht = getValue (H, T);

另请参阅

||||(鲁棒控制工具箱)

介绍了R2011b