खोज…


आधार उदाहरण

निम्नलिखित MATLAB स्क्रिप्ट दिखाता है कि मूल फ़ंक्शन को कैसे परिभाषित और कॉल किया जाए:

myFun.m :

    function [out1] = myFun(arg0, arg1)
        out1 = arg0 + arg1;
    end

टर्मिनल :

    >> res = myFun(10, 20)

    res =

        30

एकाधिक आउटपुट

निम्नलिखित MATLAB स्क्रिप्ट दिखाता है कि किसी एकल फ़ंक्शन में कई आउटपुट कैसे लौटाए जाते हैं:

myFun.m :

    function [out1, out2, out3] = myFun(arg0, arg1)
        out1 = arg0 + arg1;
        out2 = arg0 * arg1;
        out3 = arg0 - arg1;
    end

टर्मिनल :

    >> [res1, res2, res3] = myFun(10, 20)

    res1 =

            30

    res2 =

            200

    res3 =
            -10

हालांकि MATLAB केवल पहला मान लौटाएगा जब किसी एकल चर को सौंपा जाएगा

    >> res = myFun(10, 20)

    res =

            30

निम्न उदाहरण दिखाता है कि एक विशिष्ट आउटपुट कैसे प्राप्त किया जाए

    >> [~, res] = myFun(10, 20)

    res =

            200

नरगिस, नरगिस

एक फ़ंक्शन के शरीर में nargin और nargout क्रमशः कॉल में आपूर्ति किए गए इनपुट और आउटपुट की वास्तविक संख्या दर्शाते हैं।

हम उदाहरण के लिए प्रदान किए गए इनपुट की संख्या के आधार पर एक फ़ंक्शन के निष्पादन को नियंत्रित कर सकते हैं।

myVector.m :

function [res] = myVector(a, b, c)
    % Roughly emulates the colon operator

    switch nargin
        case 1
            res = [0:a];
        case 2
            res = [a:b];
        case 3
            res = [a:b:c];
        otherwise
            error('Wrong number of params');
    end
end

टर्मिनल:

>> myVector(10)

ans =

    0    1    2    3    4    5    6    7    8    9   10

>> myVector(10, 20)

ans =

   10   11   12   13   14   15   16   17   18   19   20

>> myVector(10, 2, 20)

ans =

   10   12   14   16   18   20

इसी तरह से हम आउटपुट मापदंडों की संख्या के आधार पर एक फ़ंक्शन के निष्पादन को नियंत्रित कर सकते हैं।

myIntegerDivision :

function [qt, rm] = myIntegerDivision(a, b)
    qt = floor(a / b);

    if nargout == 2
        rm = rem(a, b);
    end
end

टर्मिनल :

>> q = myIntegerDivision(10, 7)

q = 1

>> [q, r] = myIntegerDivision(10, 7)

q = 1
r = 3


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow