2017-05-20 5 views
0

크기가 37080 * 2 인 셀 배열이 있는데 열 1 또는 2에서 '-'행을 삭제하고 싶습니다. cell = { 'gif', 'ghf'; 'feh', '-' 'ACACA', 'BRCA1'; '-', 'TBCD', 'NKX3-1', 'ATXN1'} 출력 : { 'gif', 'ghf' NKX3-1 ','ATXN1 '}열을 제거하는 방법 열에 '-'가 있습니까?

나는 strcmp을 시도했지만 오류가 발생합니다.

for row1 = 1:size(cell,1) 
    if strcmp(cell(row1,1),'-')|| strcmp(cell(row1,2),'-') 
     cell(row1,:) = []; 
    end 
end 
+0

내가, 내가 Dukeling @ 내가 그 코드 –

+0

를 사용하고 잊어 아 죄송합니다! –

+0

안녕 친구 도움 사용한 MATLAB –

답변

1

이 방법을 사용해야합니다. strcmp은 셀에서 작동하고 행렬을 반환합니다. 다음 2 차원에 any을 사용하십시오.

c={'gif','ghf';'feh','-';'ACACA','BRCA1';'-','TBCD';'NKX3-1','ATXN1'} 
c(any(strcmp(c,'-'),2),:)=[] 

출력 :

3 × 2 셀 어레이

'gif'  'ghf' 
'ACACA'  'BRCA1' 
'NKX3-1' 'ATXN1' 
+0

너무 많이 고마워, 잘 했어! –