2016-04-03 14 views
0

Tüm hücre değerlerinin sıfır olup olmadığını kontrol etmekte güçlük çekiyorum. Ben etrafa baktım ve dizi versiyonuna uygun bir şey bulamıyorum.Tüm hücre değerlerinin sıfır olup olmadığının nasıl kontrol edilir

Kodum:

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

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

Benim hatası:

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

Bilginize, tam kod oktav çalışır, bu durumda, hücreler ele almak değil dizi kendisi

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

ihtiyaç Or. Ne hakkında? (Handles.CheckFinger) 'hakkında? –

+0

Matlab bunu önermez, öneriniz için geçersiz matlab sözdizimini gösterir. – IamTrent

+0

Tamam, pardon, sonra hiçbir öneri, oktav hücrelerini matlabdan farklı bir şekilde ele alıyor gibi görünüyor ve sadece atm üzerinde test etmek için oktavım var. –

cevap

1

Birincisi, benim için durduğu gibi çalışıyor.

Ancak: sadece

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

Teşekkürler, bu benim yaptığım işlerden çok daha basit. – IamTrent

+1

@IamTrent Yardım ettiğine sevindim :). Ayrıca - hücre (:) 've' hücre {:} 'arasındaki farkları lütfen unutmayın. CellArray'ı kullanacaksanız (ki bu elbette çok faydalıdır), belgelerinizi incelemek iyi bir fikir olacaktır ve '(:)' ile ne zaman kullanılacağını rahatlıkla kullanabileceğiniz bir örnek olacaktır. – zdim

1

kendim başkaları için çalışma değildi ve neden emin değilim ama geçici bir çözüm üretmek başardı.

numericVector = cell2mat(handles.CheckFinger); 

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

Matlab 2016a kullanıyorum, bununla bir ilgisi olup olmadığından emin değilim.

İlgili konular