我有一个Simulink模型,其中包含“
检查静态范围”块。在我的基本工作区中,有一个名为myNum=3的变量。在“检查静态范围”块内,有一个名为“断言失败时的模拟回调”的编辑框。在此编辑框中,我编写了disp(num2str(myNum)) 。我期望看到断言时在命令窗口中显示myNum的值。相反,我得到“
评估Checks_SRange块的'AssertionFcn'回调时出错...未定义的函数或变量'myNum'。 ”
当我使用
Assertion块尝试相同的回调时,它可以正常工作。如何使“检查静态范围”块识别工作区中的变量?
回答:
Check Static Range块在遮罩下有一个Assertion块。 Simulink回调字符串是在掩码工作空间而不是基本工作空间中求值的,这就是您看到此错误的原因。尝试执行此操作以强制在基本工作区中进行评估,
disp(num2str(evalin('base','myNum')))
更多&回答...