2012-05-07 7 views
10

में बनाया का उपयोग सप्तक में, वहाँ एक वेक्टरकैसे शून्य के साथ Inf और NaN को बदलने के लिए समारोह

उदाहरण के लिए 0 करने के लिए INF/NaN की जगह के लिए समारोह में एक निर्माण है

a = log10([30 40 0 60]) => [1.4771 1.6021 -Inf 1.7782] 

मैं उपयोग कर सकते हैं मान्य मानों की अनुक्रमणिका/स्थिति को खोजने के लिए परिमित या ढूंढें लेकिन मुझे नहीं पता कि फ़ंक्शन लिखने के बिना सही ढंग से मूल्यों की प्रतिलिपि कैसे बनाई जाए।

finite(a) => [1 1 0 1] 

उत्तर

19
>> a = log10([30 40 0 60]) 
a = 
     1.477 1.602 -Inf 1.778 

>> a(~isfinite(a))=0 
a = 
     1.477 1.602 0  1.778 

चाल, इस का उपयोग करता है logical indexing

~ बूलियन/तार्किक मान के लिए नहीं ऑपरेटर है करता है और isfinite(a) एक के रूप में एक तार्किक वेक्टर, एक ही आकार के उत्पन्न करता है:

>> ~isfinite(a) 
ans = 
    0  0  1  0 

जैसा कि आप देख सकते हैं, यह तार्किक अनुक्रमण के लिए प्रयोग किया जाता है।

+0

धन्यवाद यह काम करता है। ~ असीमित (ए) एक वेक्टर लौट रहा है? जब मैं एक ([0 0 1 0]) = 0 यह काम नहीं करता है। –

+0

अब, मैं इसे आपके लिंक पढ़ने के बाद प्राप्त करता हूं। धन्यवाद। –

5

इसी प्रकार नाएन के लिए, आप इन तत्वों को जो कुछ भी चाहते हैं उसे बदलने के लिए isnan() का उपयोग कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे