我有一个带有Check Static Range块的Simulink模型。在我的基础工作区中,我有一个名为myNum=3
的变量。在Check Static Range块中,有一个名为'断言失败时的模拟回调'的编辑框。在这个编辑框中,我写了disp(num2str(myNum))
。我期望看到在发生断言时在命令窗口中显示myNum的值。相反,我得到“错误评估'AssertionFcn'回调Checks_SRange块...未定义的函数或变量'myNum'。”
当我尝试使用Assertion块进行相同的回调时,它没有问题。如何使Check Static Range块识别工作区中的变量?
答案 0 :(得分:1)
Check Static Range块在掩码下面有一个Assertion块。 Simulink回调字符串在掩码工作区中进行评估,而不是基本工作区,这就是您看到错误的原因。请尝试使用此方法强制在基础工作区中进行评估,
DISP(num2str(evalin( '基', 'myNum的')))
答案 1 :(得分:0)
我这里没有Matlab来测试。你有没有在编辑框的内容周围加上引号? 'disp(''''')'有效吗? (因为你在一个字符串中,用双引号)