来自Matlab中GUI的uigetfile

时间:2012-01-19 22:33:07

标签: user-interface matlab

我正在尝试将数据导入GUI并将其保存到handles。 .mat文件包含一个名为log的结构,其中包含所有数据。我使用GUIDE创建了一个按钮并添加了以下代码:

function loadMatFileButton_Callback(hObject, eventdata, handles)
[FileName,PathName] = uigetfile('*.mat');
loadDataName = fullfile(PathName,FileName);
load(loadDataName); % gives log struct

handles.log = log;

但是在执行时我得到了这个错误:

??? Error using ==> log
Not enough input arguments.

Error in ==> VisualizeData>loadMatFileButton_Callback at 160
handles.log = log;

真的很奇怪。我已经尝试通过在load命令后放置一个断点来调试它。当我在控制台中手动输入handles.log = log时,它确实有用......我不明白出了什么问题,但它一定是非常简单的。

1 个答案:

答案 0 :(得分:0)

简而言之: Not enough input arguments是神秘的线索。这意味着您使用的是函数而不是变量。


首先,不要使用log!它是一个内置函数 - 自然对数。当然,你可以覆盖它,但这是一种糟糕的风格。

显然,您希望代码中有一些名为log的变量,而不是。{我将把它作为练习留给读者找出原因。 提示:检查您要加载的.mat文件。