2014-11-01 70 views
1

我想從某些文件中獲取一些樣本數。從數據採樣

但是,在某些文件中沒有足夠的樣本需要。

在這種情況下,我只是想跳過這個文件並傳遞到下一個文件。任何人都可以知道,我該怎麼做。我在下面添加了我的代碼。

for m=1:size(examples,1) 
     ValuesInChannel=data(:,channel+4); 
     ESUTime= data(:,18); 
     ValuesWithinLimit=ValuesInChannel(find(ESUTime>=examples(m) & ESUTime<=limit1(m))); 
     SampleFromEdf=datasample(ValuesWithinLimit,20,'Replace',false); 
     SampleFromEdfwithchannel(m,:)=[SampleFromEdf',channel]; 
end 

在我的腳本的這一部分,我的樣本量是20

正如我上面所說的,在某些文件中,不可能獲得20樣本,在這種情況下,我只是想通過下一個文件來獲取樣本。先謝謝你。

回答

0

我瞭解你想要的時候length(ValuesWithinLimit)<20

n = 0; 
for m=1:size(examples,1) 
     ValuesInChannel=data(:,channel+4); 
     ESUTime= data(:,18); 
     ValuesWithinLimit=ValuesInChannel(find(ESUTime>=examples(m) & ESUTime<=limit1(m))); 
     if length(ValuesWithinLimit)<20 
     continue; 
     else 
     n = n + 1; 
     end 
     SampleFromEdf=datasample(ValuesWithinLimit,20,'Replace',false); 
     SampleFromEdfwithchannel(n,:)=[SampleFromEdf',channel]; 
end 
+0

@Ram如果你使用'break'那麼你會得到圈外的,你會不會嘗試其他的數據跳過循環。但是'繼續'只會逃離一個'm'。 – Rashid 2014-11-01 20:14:29

+0

這是有效的。非常感謝你@Kamtal – Ram 2014-11-01 21:53:42