主要内容

参数的函数

LibBlockMatrixParameter

LibBlockMatrixParameter(参数、rucv rlcv、ridx cucv, clcv, cidx)返回一个矩阵参数一块,行和列用户控制变量(rucv,cucv),循环控制变量(rlcv,clcv)和指数(ridx,cidx)。一般来说,应该使用块LibBlockParameter。如果你有一个矩阵参数,你应该把它写成一个列为主的向量,通过访问它LibBlockParameter

请注意

目前还不支持循环滚动,将生成一个错误如果要求(即。金宝app,如果不是rlcvclcv不等于”“)。

行和列索引参数类似的理由LibBlockParameter。列指数(cidx处理复数)是超载。

看到LibBlockMatrixParameterparamlib.tlc

LibBlockMatrixParameterAddr

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

请注意

LibBlockMatrixParameterAddr返回一个矩阵参数的地址。不支持循环滚动(例如,金宝apprlcvclcv应该都是一个空字符串)。

看到LibBlockMatrixParameterAddrparamlib.tlc

LibBlockMatrixParameterBaseAddr

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

看到LibBlockMatrixParameterBaseAddrparamlib.tlc

LibBlockParamSetting

LibBlockParamSetting (bType psType)返回指定参数的字符串设置为指定的块类型。如果你空块类型传递给这个函数,参数设置将被认为是ParamSettings块的记录。如果一个非空的块类型是传递到函数,参数设置将被认为是% < Btype > ParamSettings块的记录。

看到LibBlockParamSettingparamlib.tlc

LibBlockParameter

基于参数的引用(参数),用户控制变量(ucv),循环控制变量(液位控制阀),信号指数(sigIdx)和内联的状态参数,LibBlockParameter(参数、ucv lcv sigIdx)一块参数返回一个引用。返回的值是有效的右值一个表达式(右值)。例如,

情况下 函数调用 可以生产

1

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

2

LibBlockParameter(增益、“我”,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(获得,“”,“我”,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。尽管内联参数是肯定的,参数必须放置在内存(RAM),因为它是在一个访问循环。

请注意

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

例如,如果参数字段MATLAB®表达式“2 *”,LibBlockParameter将返回的C表达式的(2 *)。支持的功能列表金宝appLibBlockParameter是由功能决定的吗FcnConvertNodeToExprFcnConvertIdToFcn。增强功能,增加或更新这两种功能。

请注意,不支持某些类型的表达式,如金宝appx * y在哪里这两个xynonscalar表达式。

看到更多细节关于可调参数的文档的功能和语法支持。金宝app

警告

不要使用LibBlockParameter访问一个参数的地址,或者你可能会错误地引用一个号码(例如,&4.55参数是内联时)。你可以避免这种情况使用LibBlockParameterAddr

看到LibBlockParameterparamlib.tlc

LibBlockParameterAddr

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

使用LibBlockParameterAddr当全球访问参数InlineParams变量= 1将导致变量声明常量在RAM中而不是内联。

访问的地址表达式,表达式有多个可调/滚变量会导致一个错误。

看到LibBlockParameterAddrparamlib.tlc

LibBlockParameterBaseAddr

LibBlockParameterBaseAddr(参数)返回一个街区的基地址参数。

使用LibBlockParameterBaseAddr当全球访问参数InlineParams变量等于1将导致变量声明常量在RAM中而不是内联。

访问的地址表达式,表达式有多个可调/滚变量会导致一个错误。

看到LibBlockParameterBaseAddrparamlib.tlc

LibBlockParameterDataTypeId

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

看到LibBlockParameterDataTypeIdparamlib.tlc

LibBlockParameterDataTypeName

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

看到LibBlockParameterDataTypeNameparamlib.tlc

LibBlockParameterDimensions

LibBlockParameterDimensions(参数)返回一个行向量的长度N(N > = 1)给的尺寸参数数据。

例如,

%分配= LibBlockParameterDimensions dim (paramName) %分配nDims =大小(dim, 1) % foreach i = nDims / *维% < i + 1 > = % < dim[我]> * / % 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)否则

请注意

这是一个错误来调用这个函数与一个矩阵值参数超过一行。

如果你访问参数值通过使用LibBlockParameterValueLibBlockParameterStringNontunable,考虑转换的参数可调。然后,用ssWriteRTWParamSettings写参数的值模型.rtw文件。内联参数减少内存的使用,因为代码生成器使用参数的数值,而不是他们的符号名称,生成的代码。

看到LibBlockParameterStringparamlib.tlc

LibBlockParameterValue

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

如果你访问参数值通过使用LibBlockParameterValueLibBlockParameterStringNontunable,考虑转换的参数可调。然后,用ssWriteRTWParamSettings写参数的值模型.rtw文件。内联参数减少内存的使用,因为代码生成器使用参数的数值,而不是他们的符号名称,生成的代码。

例子

如果你想为不同的积分器取决于生成代码块的参数,使用:

%分配模式= LibBlockParameterValue(积分器,0)%开关(模式)% 1% < CodeForIntegrator1 > %休息%例< CodeForIntegrator2 > 2% % %默认错误:无法识别的积分器的价值。%打破% endswitch

看到LibBlockParameterValueparamlib.tlc

LibBlockParameterWidth

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

看到LibBlockParameterWidthparamlib.tlc

LibGetParameterValue

LibGetParameterValue返回向量模型的参数写入数据ModelParameters记录模型.rtw。例如,您可以使用:

%分配numRowValues =大小(LibGetParameterValue (RowIndex), 1)
对于不是模型参数的记录,代码生成器返回记录value。使用LibGetParameterValue函数来访问数据向量模型的参数而不是获取记录value

如果数据向量的模型参数的函数LibGetParameterValue返回是一个数字标量数值表达式,并导致一个错误,附加一个[0]到它。例如,如果

%分配金额= LibGetParameterValue (RowIndex) + 10
返回这个错误:
“数字参数+操作符只”
然后修改表达式为:
%分配金额= LibGetParameterValue (RowIndex) [0] + 10

看到LibGetParameterValueparamlib.tlc

相关的话题