【发布时间】:2015-04-24 15:47:56
【问题描述】:
我有一个带有调用 uigetfile 的按钮的 Matlab gui。用户选择他们想要运行的文件,然后我的 gui 应该执行那个 .m 文件,将结果返回给 gui 以供进一步处理。
Uigetfile 效果很好,我可以捕获文件名和文件路径:
[filename, pathname] = uigetfile('*.m', 'Pick a .m file');
当我尝试执行文件名时:
total = [pathname filename];
% copy into current directory since files user selects could be in other directories
copyfile(total);
% attempt to execute .m function the user selected
[a, b] = filename();
我得到这个错误:
Indexing cannot yield multiple results.
我的研究表明这是因为我有一个名为“文件名”的变量,所以 Matlab 认为我正在尝试使用该变量,而不是调用该函数。这对我来说很有意义,但是我不知道如何解决这个问题!
如何在不作为变量的情况下调用 uigetfile 的结果?或者,我还能如何运行用户在 gui 中选择的 .m 文件?
谢谢!
【问题讨论】:
标签: matlab matlab-guide