2016-04-03 113 views
0

我很難檢查所有單元格值是否爲零。我一直在環顧四周,找不到任何與陣列版本匹配的東西。如何檢查所有單元格值是否等於零

我的代碼:

handles.CheckFinger = cell(1,5); 
handles.CheckFinger = [0 0 0 0 0]; 

if all(handles.CheckFinger == 0) 
    msgbox('No fingers selected for recording.') 
end 

我的錯誤:

Undefined operator '==' for input arguments of type 'cell' 
+0

僅供參考,您的具體代碼在八度。 '!any(handles.CheckFinger)'怎麼樣? –

+0

Matlab不喜歡那樣,爲你的建議顯示無效的matlab語法。 – IamTrent

+0

好吧,對不起,沒有任何建議,似乎八度處理細胞不同於matlab,並且我只有八度來測試atm。 –

回答

1

首先,它確實對我有用。

不過:你需要解決的細胞,而不是數組本身

if all(handles.CheckFinger(:) == 0) 
    msgbox('No fingers selected for recording.') 
end 

或者說,在這種情況下,簡單地

if handles.CheckFinger(:) == 0 
    msgbox('No fingers selected for recording.') 
end 
+0

謝謝,這比我的工作簡單得多。 – IamTrent

+1

@IamTrent很高興幫助:)。另外請注意'cell(:)'和'cell {:}'之間的區別。如果你打算使用CellArray(這當然非常有用),通過文檔和一些示例來熟悉何時使用'(:)'和'{:}'是個好主意。 – zdim

1

我不知道爲什麼它是在爲別人而不是自己,但我設法圍繞出示工作。

numericVector = cell2mat(handles.CheckFinger); 

if all(numericVector == 0) 
    msgbox('No fingers selected for recording.') 
end 

我使用的是Matlab 2016a,不確定這與它有什麼關係。

相關問題