尝试在Matlab中打开文件时出错

时间:2013-04-22 15:13:45

标签: matlab file

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

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;

在我按下提示上的确定后,它给了我以下错误:

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

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

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

1 个答案:

答案 0 :(得分:1)

cellstr模式下,uigetfile的输出不需要'MultiSelect'命令:输出已经采用了cellarray形式(参见uigetfile的文档)。