2013-04-22 122 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

相关问题