百科问答小站 logo
百科问答小站 font logo



怎么实现matlab自定义函数(而不是在m文件中)中调用simulink? 第1页

  

user avatar   yujiangnyu 网友的相关建议: 
      

首先,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)

避免保存修改的模型


以上这些基本技巧应该够用了


最后,重要的事情说三遍:不要用全局变量,不要用全局变量,任何情况下都不要用全局变量。




  

相关话题

  如何生成多个互不重叠的不同半径圆? 
  如何评价国产软件 TRUFFER(可替代 MATLAB)? 
  95% 的人解不出这道题《史上最贱的数学题》能否用数学软件计算出来? 
  「麻辣AI」MATLAB是如何应用到人工智能的? 
  怎么实现matlab自定义函数(而不是在m文件中)中调用simulink? 
  你见过最美的 MATLAB 绘图是什么? 
  h=line('color','r','linestyle','.','xdata',0,'yda? 
  怎么把MATLAB循环程序中每一步disp的输出结果放到矩阵中或者直接放到表格中?急急急急急急? 
  以「维数」为自变量的函数怎样表示和画图象? 
  怎么把MATLAB循环程序中每一步disp的输出结果放到矩阵中或者直接放到表格中?急急急急急急? 

前一个讨论
SIMULINK编译Cpp类型的S函数找不到头文件?
下一个讨论
评价道路的流畅度模型及数据处理怎么弄?能给一下思路或编程吗?





© 2025-03-12 - tinynew.org. All Rights Reserved.
© 2025-03-12 - tinynew.org. 保留所有权利