2012-09-01 42 views
1

我已經在這裏工作了3個小時 - 所以我需要幫助。加載GUI指南中的文件以閱讀MATLAB中的2列

我在MATLAB的GUI界面上有一個按鈕,用於加載一個文本文件來存儲2 數據列,如xy

所以x = [12, 12, 23];

文本文件A是:

12 23 
    12 32 
    23 32 

是在引導GUI的代碼是pushbutton LOAD_FILE下如下:

filename = uigetfile('*.txt') 
loaddata = fullfile(pathname,filename) 
load(loaddata) 
A = filename(:,1) 
B = filename(:,2) 
handles.input1 = A; 
handles.input2 = B; 
axes(handles.axes1) 
plot(handles.input1,handles,imput2) 

回答

1

load將加載一個文本文件,但它除非您明確指定輸出,否則不會將內容分配給任何內容。

%# load xy data from file 
xy = load(loaddata,'-ascii') 
%# assign columns to A and B, respectively 
%# (why not x,y)? 
A = xy(:,1) 
B = xy(:,2) 

負載的-ascii選項是沒有必要的,但保證了文件加載文本,並會幫助你以後記住,數據應該是一個文本文件。

+0

感謝您的幫助。 – user1608954

1

首先,你可能想發佈您的錯誤消息以確保我報告的是正確的問題,但我可以馬上看到一個問題:

行:

A = filename(:,1) 
B = filename(:,2) 

只檢索一個字符串命名的文件,而不是實際的數據。因此,首先,你要知道,正在加載的數據的名稱,然後更改負載線:

data = load(loaddata,'-ascii') 

現在:

A = data(:,1) 
B = data(:,2) 
+0

如果文件'loaddata'是一個.mat文件,這個答案是正確的。不幸的是,事實並非如此。 – Jonas

+0

唉,沒有接受,更新。謝謝。 –