我正在使用的代码从多个文件中导入数据并将它们保存到一个单元格数组中,代码如下:
[FileName,PathName,FilterIndex] = uigetfile('*.txt*','MultiSelect','on');
numfiles = size(FileName,2);
FileData= cell(1,numfiles);
for ii = 1:numfiles
FileName{ii};
A=[];
entirefile =fullfile(PathName,FileName{ii});
fid = fopen(entirefile);
tline = fgets(fid);
while ischar(tline)
parts = textscan(tline, '%f;');
if numel(parts{1}) > 0
A = [ A ; parts{:}' ];
end
tline = fgets(fid);
end
fclose(fid);
FileData{ii} = A;
A = FileData{ii};
X = A(:,1);
Y = A(:,5);
DataToUse = [X,Y];
end
现在我的问题是我想使用循环创建的第一个DataToUse
,它将是第一个文件中的数据,seperatley到其他文件但是我无法分析它。我尝试了DataToUse(1)
,DataToUse(1,1)
和DataToUse(:,[1,2])
,但没有人为我工作。数据类型的一个例子是:
DataToUse =
0.0762 0.0271
0.0763 0.2671
0.0764 0.4079
0.0765 0.0510
0.0766 0.0087
0.0767 0.0099
0.0768 0.0067
0.0769 0.0047
0.0770 0.0047
0.0771 0.0349
0.0772 0.2094
0.0773 0.2740
0.0774 0.0294
0.0775 0.0100
0.0776 0.0159
根据选择的文件数量,我有不同数量的此类数据,但我想仅使用第一个文件,稍后再使用其他文件。谁知道我怎么能这样做?非常感谢提前
答案 0 :(得分:0)
解决方案是使用单元格数组,如下所示:
DataToUse{ii} = [X, Y]
要获得所需的输出,请将其放在for循环之后:
firstLoopXY = DataToUse{1}
享受!