2012-07-29 17 views
9

मान लें मैं एक संग्रह एक है:मैं ऑक्टेव में कस्टम फ़ंक्शन के साथ मानचित्र का उपयोग कैसे करूं?

A = [0:6:100] 

और मैं एक समारोह मिथ्या (एन) है:

function retval=fib(n) 
    g1=(1+5^.5)/2 
    g2=(1-5^.5)/2 
    retval=(1/5^.5)*(g1^n - g2^n) 
endfunction 

मैं मिथ्या (एन) को लागू करने के लिए सक्षम होना करने का इरादा, और इसे संग्रह में संग्रहीत करें बी, जहां बी [i, j](i, fib (i)), इसलिए मैं प्लॉट कर सकता हूं बनाम फिब (i) और ग्राफ़ पर परिणाम देखें।

कृपया मैं कैसे नक्शा का उपयोग इस वांछित संग्रह बी प्राप्त करने के लिए कर सकते हैं पर सलाह।

उत्तर

13

आप इस तरह यह कर सकते हैं:

map(@fib, A) 

@ एक समारोह संभाल में fib बनाता है। ध्यान दें कि map पदावनत किया जा रहा है और आप arrayfun बजाय का उपयोग करना चाहिए:

arrayfun(@fib, A) 
+1

'arrayfun' मेरे लिए यह किया (3.6.2 के उन्नयन के बाद), मैं भी करने के लिए' 'विविध पैकेज स्थापित करने के लिए नहीं था इसका उपयोग करें ('नक्शा 'की आवश्यकता है)। धन्यवाद – nemesisfixx

+0

और यदि आपके पास कई इनपुट पैरामीटर के साथ कोई फ़ंक्शन है, तो इसका उपयोग करें: 'arrayfun (@ (o) MyFunc (o, 5,' up '), ए) '। इस उदाहरण में दो निश्चित पैरामीटर के साथ, एक स्केलर मान '5' और एक स्ट्रिंग '' अप''। – erik