2016-11-14 65 views
0

我想找到一個單元陣列(m x n)字符串,並添加這些標識字符串在新的單元陣列(m x n),通過使用MATLAB,例如:查找來自單元陣列串並創建一個新的單元陣列

Human(i,1)={0 
1 
34 
eyes_two 
55 
33 
ears_two 
nose_one 
mouth_one 
631 
49 
Tounge_one} 

我想刪除的號碼,並有只是字符串

New_Human(i,1)={eyes_two 
ears_two 
nose_one 
mouth_one 
tounge_one} 

回答

1

基於您的評論聽起來好像所有的數據被存儲爲字符串。在這種情況下,您可以使用以下方法刪除表示有效數字的所有字符串。

H = {'0'; '1'; '34'; 'eyes_two'; '55'; '33'; 'ears_two'; 'nose_one'; 'mouth_one'; '631'; '49'; 'Tounge_one'}; 

idx = cellfun(@(x)isnan(str2double(x)), H); 
Hstr = H(idx) 

輸出

Hstr = 
    'eyes_two' 
    'ears_two' 
    'nose_one' 
    'mouth_one' 
    'Tounge_one' 

的代碼確定哪些字符串不代表有效數值。這是通過檢查str2double函數是否在每個字符串上返回NaN結果來完成的。如果你想了解更多關於這是如何工作的,我建議你閱讀關於cellfun的文檔。

+0

Hi @jodag,感謝您提供方法,但由於某種原因,在我的腳本中,idx將數字和字符(參數值)設置爲'1',因此Hstr與H相同 –

+0

@Mohammed Nadaf我更新了答案根據您的評論。 – jodag

+0

是的,非常感謝你,這個作品! –