.m 文件中的工作区不会导入到 simulink 模型中。 MATLAB

Posted

技术标签:

【中文标题】.m 文件中的工作区不会导入到 simulink 模型中。 MATLAB【英文标题】:Workspace from a .m file won't import into a simulink model. MATLAB 【发布时间】:2013-07-02 21:58:43 【问题描述】:

我正在用 Matlab 制作一个 GUI,它运行一个初始化文件(充满变量),然后用这些变量模拟一个 Simulink 文件。但是,Simulink 模型不会将这些变量从工作区导入其中,因此我会收到未定义值的错误等。有没有办法解决这个问题?我无法具体告诉 Simulink 文件需要使用哪些变量,因为我正在制作这个 GUI 来全面使用不同的初始化文件/Simulink 模型,并且初始化文件中的变量数量有数百个。

这是我的代码(简短):

open_system(fullfile_loadSimulink)

run(fullfile_loadInitialization)

run(fullfile_loadInitialization2)

sim(fullfile_loadSimulink)

很简单,fullfileXXX 就是每个文件的字符串和路径。这甚至可以直接从命令行工作,因此工作空间在 GUI 中不匹配肯定是有问题。

提前致谢。

【问题讨论】:

【参考方案1】:

听起来您的代码是一个函数,而不是脚本。那是对的吗?如果是这样,您的函数应该是一个脚本,否则该函数有自己的工作区,Simulink 模型在基础工作区中运行。

【讨论】:

你正中钉子。感谢您的解决方案,我一直想知道基本和功能工作区。如果其他人遇到这个问题:mathworks.com/help/matlab/matlab_prog/…

以上是关于.m 文件中的工作区不会导入到 simulink 模型中。 MATLAB的主要内容,如果未能解决你的问题,请参考以下文章

怎么把M文件导入Simulink

工作区结构数组输入到 Simulink M 文件 S 函数

simulink如何导入workspace中的三维矩阵?

matlabm文件中如何调用simulink模块

怎么使用m函数获取Simulink模型运行结果参数

matlab工作空间数据导入simulink