Simulink无法读取Workspace中uavMission.origin变量问题求助
解决Simulink读取Workspace嵌套结构体变量的问题
方法1:将嵌套变量提取为顶层变量
在MATLAB命令行或初始化脚本中添加一行代码,把结构体成员赋值给Workspace顶层变量:origin = uavMission.origin;之后在From Workspace模块的“Data”参数中填入
origin即可正常读取。方法2:使用MATLAB Function模块读取
添加一个MATLAB Function模块,在模块内编写代码直接读取基础工作区的嵌套变量:function output = readOrigin() % 从基础工作区读取uavMission.origin output = evalin('base', 'uavMission.origin'); end模块输出端即可得到该变量的值。
方法3:排查模型工作区变量冲突
打开Model Explorer(快捷键Ctrl+H),检查模型工作区是否存在同名的origin变量。如果有,删除该变量或重命名,避免与基础工作区的嵌套变量混淆。方法4:通过数据存储模块传递变量
- 添加Data Store Memory模块,设置“Data store name”为自定义名称(比如
ds_origin),将“Initial value”设为uavMission.origin; - 添加Data Store Read模块,选择对应的
ds_origin数据存储,即可读取变量值。
- 添加Data Store Memory模块,设置“Data store name”为自定义名称(比如
内容的提问来源于stack exchange,提问作者RoostOne
相关产品推荐
相关产品推荐

