2013-02-13 49 views
6

मैं जानता हूँ कि मैं अलग-अलग तत्वों के लिए जाँच करने isnan उपयोग कर सकते हैं, इस तरह के रूपMATLAB: मैं कैसे पता चलेगा कि मेरा मैट्रिक्स में किसी भी तत्व नेन है और कुछ करना है कि अगर मामले

for i=1:m 
    for j=1:n 
     if isnan(A(i,j)) 
      do something 
     end 
    end 
end 

है हालांकि, बजाय क्या मैं करना चाहता हूं

if any(isnan(A)) 
     do something 
end 

जब मैंने ऐसा करने की कोशिश की, तो यह तर्क में नहीं जाता क्योंकि यह गलत माना जाता है। अगर मैं सिर्फ any(isnan(A)) टाइप करता हूं, तो मुझे बस 1 0 1 मिलता है। तो मैं यह कैसे कर सकता हूं?

उत्तर

7
any(isnan(A(:))) 

A के बाद से एक मैट्रिक्स था, isnan(A) भी एक मैट्रिक्स है और any(isnan(A)), एक वेक्टर है जबकि if बयान वास्तव में एक अदिश इनपुट चाहता है। शुरुआती आकार के बावजूद (:) नोटेशन A को वेक्टर में फ़्लैट करता है।

+0

धन्यवाद, इस मुद्दे को हल किया गया – Niseonna