You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Simulink中通过编程实现返回上一模块的导航功能

实现Simulink界面后退箭头的命令行方案

嘿,刚好踩过这个坑!Simulink的界面后退箭头功能完全可以用命令行代码精准复刻,核心是利用Simulink内置的历史导航API,具体实现步骤如下:

核心代码实现

直接用下面这段代码,就能和点击界面后退箭头达到一模一样的效果:

% 获取当前激活模型的历史导航实例
historyObj = Simulink.History.getCurrentHistory();
% 执行后退操作
historyObj.back();

功能说明

这段代码的行为和界面箭头完全对齐:

  • 如果你刚从顶层模型进入了某个子系统,执行后会直接返回顶层模型视图
  • 如果你刚切换选中了另一个模块,执行后会重新选中上一个操作的模块
  • 甚至连导航历史的层级都会和界面保持一致,完全不会有偏差

额外扩展

如果需要对应界面的前进箭头功能,只需要把back()换成forward()就行:

historyObj.forward();

要是想查看当前的导航历史列表,可以用:

% 输出所有历史导航节点
historyObj.getHistoryList()

注意事项

  • 这个API从Simulink R2018b版本开始支持,如果你用的是更早的版本,可能需要手动维护选中模块的历史记录(但精准度会差一些)
  • 执行前确保有激活的Simulink模型,否则getCurrentHistory()会抛出错误

内容的提问来源于stack exchange,提问作者NoamG

火山引擎 最新活动