可变大小信号的生成代码
Aarti最近发布了关于可变大小信号在仿真金宝app软件。韩寒回应道这样的评论:
Aarti,
我感兴趣的是对可变大小信号的RTW生成代码的影响。你能举几个例子吗?
汉
以下是Aarti的回应。
嗨,汉族,
谢谢你的评论。在可变大小信号的情况下,生成的代码为输入/输出变量分配最大可能的大小。
这允许信号大小在执行过程中变化(而不是在模型编译后硬编码)。生成的代码还通过模型传播信号大小,并相应地为信号分配所需的维度。算法代码只需要操作所需的内存部分(因此节省了执行时间)。
下面的模型使用开关块来改变其输出信号的大小。
生成的代码如下所示:
/* Switch: '
/Switch'合并:*导入:'
/In1' *导入:'
/In2' *导入:'
/In3' */ if (In2 >= 0.0) {model_XDim = 1;X[0] = In1;} else {model_XDim = 5;For (tmp = 0;TMP < 5;{X[tmp] = In3[tmp];}} /*增益:'
/Gain' */ model_YDim = model_XDim;loop_ub = model_XDim - 1;For (tmp = 0;TMP <= loop_ub;{Y[tmp] = 2.0 * X[tmp];}
在生成的代码中,请注意变量model_Xdim将下界和上界预先分配为1和5,5是第三个导入块的宽度。使用这些值,loop_ub为Switch块计算变量。
谢谢!
Aarti
这是您期望的代码吗?留下一个这里的评论跟我说说。
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。