아래의 루프를 사용하여 데이터가 기록 된 인스턴스와 데이터가 기록되지 않은 인스턴스를 분리합니다. 데이터 세트는 매우 커서 (열에 따라 1000-6000까지 다양 함) 혼합 된 데이터 유형이 있으므로 실제로 사용할 수있는 유일한 해결책은 루프를 사용하는 것입니다.if 문을 실행하는 동안 Matlab이 빈 셀을 읽지 않는 이유는 무엇입니까?
공백을 정확하게 읽으려면 if 또는 while 문을 사용할 수 없습니다. for 루프를 사용하면 오류없이 실행되지만, 데이터를 분리하지 않고 복사를 끝내는 if-means의 처음 절반에는 절대로 들어 가지 않습니다. 데이터의 크기가 다양하기 때문에 for 루프가 바람직하지 않습니다.
while (isempty(andover_all{j,1})==1)
if andover_all{h,33}=='';
current_data{k,4}= formated_date{j};
k=k+1;
else
current_data{i,1}=formated_date{j};
current_data{i,2}=andover_data{33}(j);
i=i+1;
end
h=h+1;
end
Andover_all은 문자열 배열이며, current_data 및 andover_data는 혼합 데이터 유형을 갖는 셀 배열입니다. 내가 isempty, [], cellfun (@ isempty, andover_data)을 사용하고, 셀 요소를 비교할 수있게 해주는 함수 eq.m을 사용해 보았다. 또한 데이터에서 빈 셀을 제거하지 않고 그냥 건너 뜁니다.
당신이 어떤 아이디어