主要内容

getValue

广义模型的现值

语法

curval=getValue(M)
curval=getValue(M,块值)
curval=getValue(M,Mref)

描述

曲线的=getValue(M)返回当前值曲线的广义LTI模型广义矩阵M.当前值是通过替换所有控制设计块在里面M通过其当前值。(对于不确定的块,“当前值”是块的标称值。)

曲线的=getValue(M,块值)使用结构中指定的块值块值计算当前值。的字段名和值块值指定块名称和相应的值。块的M未在中指定块值由其当前值替换。

曲线的=getValue(M,Mref)从通用模型继承块值Mref。此语法相当于曲线的=getValue(M,Mref.块)。使用此语法可计算的当前值M使用在别处计算的块值(例如,通过调整命令获得的调整值,如系统,环调,或鲁棒控制工具箱™ 命令辛弗斯特(鲁棒控制工具箱)).

输入参数

M

广义LTI模型广义矩阵.

块值

指定数据块的结构M以及要替换这些块的值。

的字段名块值匹配的控件设计块的名称M.使用字段值为相应的数据块指定替换值M。字段值可以是数值、动态系统模型或静态模型。如果某些字段值是控制设计块或广义LTI模型,则使用这些模型的当前值进行计算曲线的.

Mref

广义LTI模型.如果你提供Mref,getValue计算曲线的使用中块的当前值Mref谁的名字和我的方块匹配M.

输出参数

曲线的

数字数组或数值LTI模型表示的当前值M.

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

例子

为其块的指定值评估模型

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

考虑以下闭环系统:

下面的代码创建一个氏族此系统的模型具有 G ( s ) = ( s 1. ) ( s + 1. ) 3. 以及可调PI控制器C.

G=zpk(1,[-1,-1,-1],1);C=tunablePID('C','pi');Try=feedback(G*C,1)

这个氏族模型尝试有一个控制设计块,C. 街区C初始化为默认值,并且模型尝试具有取决于的当前值的当前值C使用getValue评价C尝试检查当前值。

  1. 估计C以获取其当前值。

    Cnow=getValue(C)

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

  2. 估计尝试以获取其当前值。

    Tnow=getValue(Try)

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

访问优化模型和块的值

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

此技术对于访问使用优化命令(例如)优化的模型和块的值非常有用系统,环调辛弗斯特(鲁棒控制工具箱)。例如,如果您有控制系统的闭环模型T0,带有两个可调块,C1C2,您可以使用以下方法对其进行调整:

[T,fSoft]=systune(T0,软件需求);

然后,您可以访问C1C2,以及任何闭环模型H这取决于C1C2,使用以下命令:

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

另见

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

在R2011b中引入