基于matlab中匹配名字字符串的选择性文件处理
问题描述:
我有一个目录A,其文件名为ddmmyyyy-ddmmyyyy(两个ddmmyyyy代表不同的日期)。还有另一个目录B包含格式化为ddmmyyyy(单一日期)的文件,....我想通过查找匹配的文件名来对A中的文件执行以下代码。文件的一个数是28,B是8基于matlab中匹配名字字符串的选择性文件处理
parfor ii=1:length(B)-1
for jj=ii+1:length(B)
Img1 = abs(ddmmyyyy{ii});
Img2 = abs(ddmmyyyy{jj}).*exp(1i*angle(ddmmyyyy-ddmmyyyy{ii}{jj}));
C = Img1.*conj(Img2);
end
end
答
使用dir
,fileparts
和strtok
:
filelistA = dir(dirA);
filelistA(1:2) = [];
filelistA([filelistA(:).isdir]) = [];
[~,fileNamesA,~] = cellfun(@fileparts,{filelistA(:).name},'UniformOutput',false);
[date1A, date2A] = strtok(fileNamesA,'-');
date2A = cellfun(@(x) x(2:end),date2A,'UniformOutput',false);
filelistB = dir(dirB);
filelistB(1:2) = [];
filelistB([filelistB(:).isdir]) = [];
[~,date1B,~] = cellfun(@fileparts,{filelistB(:).name},'UniformOutput',false);
有什么问题吗? –
你的代码与你的问题有什么关系? – Suever
我不知道如何通过检查A中文件的第一个和第二个日期来匹配文件夹B中的正确文件。 – Adugna