我有简单的Simulink模型,我想根据一些信号改变积分器的初始条件 . 该信号可以取值1或0,积分器的初始条件应分别等于1.16或0.65 .
我试图在Model Workspace中设置参数 x_init
(然后在Integrator块中使用它),但我无法通过函数访问它 . 然后我尝试用 set_param(...)
在simulink模型中运行MATLAB函数,但是我得到了错误:
Function 'set_param' is not supported for code generation. Consider adding coder.extrinsic('set_param') at the top of the function to bypass code generation.
这就是Model Explorer中模型结构的样子 . 我想改变 x
的初始条件 .
1 回答
正如您所做的那样使用工作空间变量是错误的方法 .
将积分器的
Initial Condition Source
属性更改为external
. 这将为块提供额外的端口 . 将积分器复位时馈入该端口的信号值作为初始条件 .