只需要一些我的matlab代码的帮助。
%import Sequential files
clc % clear window
clear %clear workspace
numfiles=4;
data=cell(1,numfiles);
for k = 2:numfiles
myfilename=sprintf('J678501%d.mat',k);
data{k}=importdata(myfilename);
end
for a= 1:3
order_directory(a)=data(:,(a+1));
end
**for n = 56:59
F=getfield((data{1,2}),sprintf('order_%d',n));
end**
wavelength=F(:,1);
intensity=F(:,2);
星号区是我需要帮助的地方。
我的文件在order_56到order_141的订单中列出(我暂时只把56:59放到),但我错过了几个订单(例如order_60和order_100 - 也许是其他订单)在其他文件中..它不一致)如果文件不在那里,我怎样才能让matlab跳过一个文件并进入下一个文件?
由于 CAZ
答案 0 :(得分:0)
我无法对此进行测试,但您可以使用exist
来检查文件是否存在。然后跟踪fileNumbers
向量中存在哪些,并使用它循环。
fileNumbers=[];
for k = 2:numfiles
myfilename=sprintf('J678501%d.mat',k);
if exist(myfilename)
fileNumbers=[fileNumbers k];
data{k}=importdata(myfilename);
end
end
然后当你使用数据时
for n=fileNumbers
F=getfield((data{1,2}),sprintf('order_%d',n));
end