【问题标题】:uigetfile from GUI in MatlabMatlab中GUI的uigetfile
【发布时间】:2012-01-19 22:33:07
【问题描述】:

我正在尝试将数据导入 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 时,它确实有效……我不明白出了什么问题,但它一定很琐碎。

【问题讨论】:

    标签: user-interface matlab


    【解决方案1】:

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


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

    显然,您希望在您的代码中有一些名为log 的变量,但实际上没有。我将把它作为练习留给读者找出原因。 提示:检查您正在加载的 .mat 文件。

    【讨论】:

    • 是的,这就是它的原因。我应该知道...非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2011-09-15
    • 2013-04-19
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多