1

我的代码有两部分。第一部分是一个像这样编程的自动文件打开:

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'));

任何人都知道它为什么这样做?

4

1 回答 1

1

您不需要in模式的cellstr输出命令 :输出已经是单元阵列形式(参见 doc of )。uigetfile'MultiSelect'uigetfile

于 2013-04-22T15:21:01.023 回答