为什么load()函数在GUI回调或其他自定义函数中使用时不加载.mat文件?



我遇到了一个问题,当尝试加载。mat文件在Matlab GUI与按钮回调。代码如下:

function button1_callback()
[filename,pathname,filterindex]=uigetfile('*.mat','open data');
s1=load (strcat([pathname filename]));

然后,在工作空间中没有加载任何内容。我该怎么做才能解决这个问题?谢谢!

在这种情况下,您的语句s1 = load(...)请求将load的结果作为变量s1中的struct返回,请参阅文档的这一部分。变量s1是在函数button1_callback内部定义的,因此在该函数执行完成时被销毁。

所以,你需要做一些来把s1的数据放在你接下来需要的地方。如果你在编程UI,你可能会修改UI的一些状态。或者,您可以通过使用assignin

将数据推入MATLAB的基本工作空间。
assignin('base', 's1', s1)

相关内容

  • 没有找到相关文章

最新更新