MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   检查静态范围块无法识别基本工作区中的变量 (https://www.labfans.com/bbs/showthread.php?t=26240)

poster 2019-12-14 20:13

检查静态范围块无法识别基本工作区中的变量
 
我有一个Simulink模型,其中包含“ [URL="http://www.mathworks.com/help/toolbox/simulink/slref/checkstaticrange.html"]检查静态范围”[/URL]块。在我的基本工作区中,有一个名为myNum=3的变量。在“检查静态范围”块内,有一个名为“断言失败时的模拟回调”的编辑框。在此编辑框中,我编写了disp(num2str(myNum)) 。我期望看到断言时在命令窗口中显示myNum的值。相反,我得到“ [B]评估Checks_SRange块的'AssertionFcn'回调时出错...未定义的函数或变量'myNum'。[/B] ”

当我使用[URL="http://www.mathworks.com/help/toolbox/simulink/slref/assertion.html"]Assertion[/URL]块尝试相同的回调时,它可以正常工作。如何使“检查静态范围”块识别工作区中的变量?



[B]回答:[/B]

Check Static Range块在遮罩下有一个Assertion块。 Simulink回调字符串是在掩码工作空间而不是基本工作空间中求值的,这就是您看到此错误的原因。尝试执行此操作以强制在基本工作区中进行评估,

disp(num2str(evalin('base','myNum')))



[url=https://stackoverflow.com/questions/4829517]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:23

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.