2013-04-22 118 views
1

我的代碼有2個部分。第一部分是這樣編程的自動文件打開:嘗試在Matlab中打開文件時發生錯誤

fichierref = 'H:\MATLAB\Archive_08112012'; 
files = dir(fullfile(fichierref, '*.txt')); 
numberOfFiles = numel(files); 
delimiterIn = ' '; 
headerlinesIn = 11; 
for d = 1:numberOfFiles 
    filenames(d) = cellstr(files(d).name); 
end 

for i=1:numberOfFiles 
    data = importdata(fullfile(fichierref,filenames{i}),delimiterIn,headerlinesIn); 
end 

後來,我希望用戶選擇他的文件進行分析。雖然這有一個問題。我輸入的線路如下:

reference = warndlg('Choose the files from which you want to know the magnetic field'); 
uiwait(reference); 
filenames = cellstr(uigetfile('./*.txt','MultiSelect', 'on')); 
numberOfFiles = numel(filenames); 
delimiterIn = ' '; 
headerlinesIn = 11; 

它給我下面的錯誤後,我按OK鍵上的提示:

Error using cellstr (line 34) 
Input must be a string. 

Error in FreqVSChampB_no_spec (line 128) 
filenames = cellstr(uigetfile('./*.txt','MultiSelect', 'on')); 

任何人有一個想法,爲什麼它在做什麼呢?

+0

你選擇了任何文件? – Shai 2013-04-22 15:18:59

+0

我不能。一旦我按下確定,程序就會停止,並且出現錯誤。它通常會打開一個窗口,我可以選擇程序。 – Vissenbot 2013-04-22 15:28:53

回答

1

你並不需要的uigetfile輸出的cellstr命令'MultiSelect'模式:輸出已經處於cellarray表(見的uigetfile DOC)。

+0

@ Marc-olivierLessard - 不要以這種方式編輯您的問題。如果你有新的錯誤 - 那麼你應該問一個新的問題(如果你將問題鏈接到上下文將會很好)。通過編輯你可以改變問題的含義。 – Shai 2013-04-24 13:43:15

+0

http://stackoverflow.com/questions/16194424/non-cell-array-with-uigetfile-in-matlab 這裏是新的問題:) – Vissenbot 2013-04-24 14:18:40

相關問題