嘿,我的模型中使用PreLoadFcn可能有一个非常简单的问题。
我希望我的模型在开始模拟之前加载一个m文件(这是preloadfcn的用途,我想)。
所以我添加了文件 - >模型属性 - >回调 - > PreLoadFcn行
run('./init.m')
在此文件中设置了几个变量。我的模型引用那些变量并引发异常,当我单击“开始模拟”时它无法找到它们。这表明我,回调没有做它应该做的事情......
文件'init.m'与模拟文件位于同一目录中。
即使尝试将目录添加到matlab PATH也没有任何效果。
迎接poeschlorn
答案 0 :(得分:1)
在运行模型之前,在MATLAB命令提示符下运行“init”是否有效?如果是这样,你应该用简单的
代替回调init
将运行脚本“init.m”。
答案 1 :(得分:1)
您可以使用回调跟踪来查看在加载和模拟模型的过程中调用的回调。有关详细信息,请参阅documentation on callbacks。
另外,是init脚本还是函数?它应该是一个脚本,或者应该使用evalin('base')将vars放在基础工作区中。您还可以尝试在init.m中设置断点以确保它不会被命中。
答案 2 :(得分:0)
我也有同样的问题。现在它已经解决了。 解决方案很简单。 在PreLoadFcn中定义函数之后* 你只需要保存simulink文件,然后重新启动它。 肯定会有用。
问候, 哈利