2012-01-19 83 views
1

我試圖將數據導入GUI並將其保存到handles。 .mat文件包含一個名爲log的結構,其中包含所有數據。我做了使用指南按鈕,並添加下面的代碼:uigetfile在Matlab中的圖形用戶界面

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時,它確實有效......我不明白髮生了什麼問題,但它必須非常簡單。

回答

0

總之:Not enough input arguments是神祕的線索。這意味着你正在使用一個函數而不是一個變量。


首先,不要使用log!這是一個內置函數 - 自然對數。當然,你可以重寫它,但這是一種糟糕的風格。

很明顯,你期望在你的代碼中有一些名字爲log的變量,而不是。我將把它作爲一個練習,讓讀者找出原因。 提示:檢查您正在加載的.mat文件。

+0

是的,造成它。我應該知道...非常感謝! – Bart