首先,sim是可以用local workspace的,比如
function the_best_function() ... options = simset('SrcWorkspace', 'current'); sim(modelname, [], options) ... end
更新一点的版本里可以直接用
sim(modelname, ‘SrcWorkspace’, ‘current’)
但是注意这个方法不能和PCT(并行计算工具箱)一起用。
然后,如果要用PCT的话,可以这样搞
hw = get_param(modelname, ‘modelworkspace’)
hw.assignin(variablename, value)
也就是把变量assign到模型的model workspace里面。不过这种方法会把模型变dirty,所以如果函数的开头用
open_system(modelname)
或者
load_system(modelname)
那么结尾最好用
close_system(modelname, 0)
避免保存修改的模型
以上这些基本技巧应该够用了
最后,重要的事情说三遍:不要用全局变量,不要用全局变量,任何情况下都不要用全局变量。