文档

参数的函数

LibBlockMatrixParameter

LibBlockMatrixParameter(param, rucv, rlcv, ridx, cucv, clcv, cidx)给定行和列用户控制变量(rucvcucv),循环控制变量(rlcvclcv)和索引(ridxcidx).一般来说,块应该使用LibBlockParameter.如果你有一个矩阵参数,你应该把它写成一个列主向量,通过访问它LibBlockParameter

请注意

目前不支持循环滚动,如果被请求,将生成一个错误金宝apprlcvclcv不等于"").

行的索引参数和列索引参数类似于LibBlockParameter.列索引(cidx)重载以处理复数。

看到LibBlockMatrixParameterparamlib.tlc

LibBlockMatrixParameterAddr

LibBlockMatrixParameterAddr(param, rucv, rlcv, ridx, cucv, clcv, cidx)返回矩阵参数的地址。

请注意

LibBlockMatrixParameterAddr返回矩阵参数的地址。不支持循环滚动(即,金宝apprlcv而且clcv都应该是空字符串)。

看到LibBlockMatrixParameterAddrparamlib.tlc

LibBlockMatrixParameterBaseAddr

LibBlockMatrixParameterBaseAddr(参数)返回矩阵参数的基址。

看到LibBlockMatrixParameterBaseAddrparamlib.tlc

LibBlockParamSetting

LibBlockParamSetting (bType psType)返回指定块类型的指定参数设置的字符串。如果将空块类型传递给此函数,则参数设置将假定为ParamSettings块的记录。如果将非空块类型传递给函数,则参数设置将假定为% < Btype > ParamSettings该块的记录。

看到LibBlockParamSettingparamlib.tlc

LibBlockParameter

根据参数引用(参数),用户控件变量(ucv),循环控制变量(液位控制阀),则信号指数(sigIdx),参数内联状态,LibBlockParameter(参数,ucv, lcv, sigIdx)返回对块参数的引用。返回值是有效的右值(表达式的右边值)。例如,

情况下 函数调用 可以生产

1

LibBlockParameter(增益,“i”,lcv, sigIdx) rtP.blockname[我]

2

LibBlockParameter(增益,“i”,lcv, sigIdx) rtP.blockname

3.

LibBlockParameter(增益,"",lcv, sigIdx) p_Gain[我]

4

LibBlockParameter(增益,"",lcv, sigIdx) p_Gain

5

LibBlockParameter(增益,"",lcv, sigIdx) 4.55

6

LibBlockParameter(增益,"",lcv, sigIdx) rtP.blockname.re

7

LibBlockParameter(增益,"",lcv, sigIdx) rtP.blockname.im

的基本工作原理LibBlockParameter,设非复向量信号,其中获得[0]= 4.55

LibBlockParameter(增益,"","i", 0)
情况下 滚动 内联参数 类型 结果 内存要求

1

0

是的

标量

4.55

没有

2

1

是的

标量

4.55

没有

3.

0

是的

向量

4.55

没有

4

1

是的

向量

p_Gain[我]

是的

5

0

没有

标量

rtP.blk.Gain

没有

6

0

没有

标量

rtP.blk.Gain

没有

7

0

没有

向量

rtP.blk.prm [0]

没有

8

0

没有

向量

p.Gain[我]

是的

注意案例4。即使Inline Parameter是Yes,该参数也必须放在内存(RAM)中,因为它是在内存中访问的循环。

请注意

LibBlockParameter还支持与内金宝app联参数和参数调优一起使用的表达式。

例如,如果参数字段有MATLAB®表达式“2 *”LibBlockParameter会返回C表达式吗的(2 *).支持的函数列表金宝appLibBlockParameter是由函数决定的FcnConvertNodeToExpr而且FcnConvertIdToFcn.为了增强功能,可以增强或更新这些功能中的任何一个。

注意,某些类型的表达式不受支持,例如金宝appx * y在哪里这两个x而且y为非标量表达式。

有关支持的确切函数和语法的详细信息,请参阅有关可调参数的文档。金宝app

警告

不要使用LibBlockParameter访问参数的地址,或者可能会错误地引用一个数字(即,&4.55)当参数是内联的。你可以通过使用LibBlockParameterAddr

看到LibBlockParameterparamlib.tlc

LibBlockParameterAddr

LibBlockParameterAddr(参数,ucv, lcv, idx)返回块参数的地址。

使用LibBlockParameterAddr时访问参数InlineParamsVariable = 1将导致变量被声明常量而不是内联。

当表达式中有多个可调/滚动变量时,访问该表达式的地址将导致错误。

看到LibBlockParameterAddrparamlib.tlc

LibBlockParameterBaseAddr

LibBlockParameterBaseAddr(参数)返回块参数的基址。

使用LibBlockParameterBaseAddr时访问参数InlineParams变量等于1将导致变量被声明常量而不是内联。

当表达式中有多个可调/滚动变量时,访问该表达式的地址将导致错误。

看到LibBlockParameterBaseAddrparamlib.tlc

LibBlockParameterDataTypeId

LibBlockParameterDataTypeId(参数)返回与指定块参数的数据类型对应的数字ID。

看到LibBlockParameterDataTypeIdparamlib.tlc

LibBlockParameterDataTypeName

雷姆LibBlockParameterDataTypeName(参数)返回与指定块参数对应的数据类型的名称。

看到LibBlockParameterDataTypeNameparamlib.tlc

LibBlockParameterDimensions

LibBlockParameterDimensions(参数)返回长度的行向量N(N >= 1)给出参数数据的维数。

例如,

%assign dims = LibBlockParameterDimensions("paramName") %assign nDims = SIZE(dims,1) %foreach i=nDims /* Dimension % = % */ %endforeach

LibBlockParameterDimensions不同于LibBlockParameterSize对象折叠之前,它返回参数数据的维度矩阵列主向量的参数。已指定它们的运行时参数将发生折叠outputAsMatrix字段作为

看到LibBlockParameterDimensionsparamlib.tlc

LibBlockParameterIsComplex

LibBlockParameterIsComplex(参数)如果指定的块参数复杂,则返回1,否则返回0。

看到LibBlockParameterIsComplexparamlib.tlc

LibBlockParameterSize

LibBlockParameterSize(参数)返回格式中大小为2的向量(nRows, nCols)在哪里nRows行数是和吗nCols是列数。

看到LibBlockParameterSizeparamlib.tlc

LibBlockParameterString

基于块参数引用(参数),LibBlockParameterString(参数)返回以字符串形式解释的指定块参数,例如,此函数返回:

  • STRINGOF (param.Value [0])如果参数是行矩阵

  • STRINGOF (param.Value)否则

请注意

如果使用矩阵值形参且有多行,则会出错。

如果您只使用LibBlockParameterValueLibBlockParameterString,考虑将参数从可调转换为不可调。然后,用ssWriteRTWParamSettings将参数的值写入模型.rtw文件。内联参数可以减少RAM的使用,因为代码生成器在生成的代码中使用参数的数值,而不是它们的符号名称。

看到LibBlockParameterStringparamlib.tlc

LibBlockParameterValue

基于块参数引用(参数)和数组的索引元素(elidx),elIdx LibBlockParameterValue(参数)返回参数的数值。您可以使用LibBlockParameterWidth(参数)函数获取数组的宽度,然后使用elidx(有效的0宽度)来获取数组中的一个特定元素。

如果您只使用LibBlockParameterValueLibBlockParameterString,考虑将参数从可调转换为不可调。然后,用ssWriteRTWParamSettings将参数的值写入模型.rtw文件。内联参数可以减少RAM的使用,因为代码生成器在生成的代码中使用参数的数值,而不是它们的符号名称。

例子

如果你想根据块的参数为不同的积分器生成代码,你可以使用以下方法:

%assign mode = LibBlockParameterValue(Integrator, 0) %switch (mode) %case 1 % %break %case 2 % %break %default错误:无法识别的Integrator值。%打破% endswitch

看到LibBlockParameterValueparamlib.tlc

LibBlockParameterWidth

LibBlockParameterWidth(参数)返回参数的元素个数(宽度)。

看到LibBlockParameterWidthparamlib.tlc

相关的话题