文档

mdlSetDefaultPortDimensionInfo

设置C MEX s函数端口接受或发出的信号的默认尺寸

要求

没有

语言

C, c++

语法

#定义MDL_SET_DEFAULT_PORT_DIMENSION_INFO(SimStruct *S)

参数

年代

SimStruct表示S-Function块。

描述

的仿真软万博1manbetx件®当模型没有提供足够的信息来确定可以进入或离开由表示的块的信号的维数时,Engine在信号维数传播期间调用此方法年代.该方法应该设置动态大小为默认值的任何输入和输出端口的尺寸。此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)声明。

如果s函数没有实现此方法,引擎将尝试找到一组满足使用实现的维度传播规则的维度mdlSetInputPortDimensionInfo而且mdlSetOutputPortDimensionInfo.这个过程可能无法为具有特殊维度要求的s函数生成有效的维度集。

时,引擎将调用错误mdlSetDefaultPortDimensionInfo方法尝试修改端口的尺寸,而这些尺寸先前是由mdlSetInputPortDimensionInfomdlSetOutputPortDimensionInfo.如果s函数有多个输入或输出端口,mdlSetDefaultPortDimensionInfo在尝试设置维度之前,应检查端口的维度是否仍然是动态的。例如,mdlSetDefaultPortDimensionInfo使用以下行检查第一个输出端口的尺寸是否仍然未知。

if (ssgetoutputporttwidth (S, 0) == dynamically_size) {ssSetOutputPortMatrixDimensions(S, 0,1,1);}

例子

看到sfun_matadd.c下面是如何使用此函数的示例。

R2006a之前介绍过

这个话题有帮助吗?