MATLAB Language                
            functies
        
        
            
    Zoeken…
Basis voorbeeld
Het volgende MATLAB-script laat zien hoe een basisfunctie te definiëren en aan te roepen:
myFun.m :
    function [out1] = myFun(arg0, arg1)
        out1 = arg0 + arg1;
    end
terminal :
    >> res = myFun(10, 20)
    res =
        30
Meerdere uitgangen
Het volgende MATLAB-script laat zien hoe u meerdere uitgangen in één functie kunt retourneren:
myFun.m :
    function [out1, out2, out3] = myFun(arg0, arg1)
        out1 = arg0 + arg1;
        out2 = arg0 * arg1;
        out3 = arg0 - arg1;
    end
terminal :
    >> [res1, res2, res3] = myFun(10, 20)
    res1 =
            30
    res2 =
            200
    res3 =
            -10
MATLAB retourneert echter alleen de eerste waarde wanneer deze is toegewezen aan een enkele variabele
    >> res = myFun(10, 20)
    res =
            30
Het volgende voorbeeld laat zien hoe u een specifieke uitvoer krijgt
    >> [~, res] = myFun(10, 20)
    res =
            200
smal, smal
 In de hoofdtekst van een functie geven nargin en nargout respectievelijk het werkelijke aantal invoer en uitvoer aan dat in de oproep is geleverd. 
We kunnen bijvoorbeeld de uitvoering van een functie regelen op basis van het aantal opgegeven invoer.
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
terminal:
>> 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
Op een vergelijkbare manier kunnen we de uitvoering van een functie regelen op basis van het aantal uitvoerparameters.
myIntegerDivision :
function [qt, rm] = myIntegerDivision(a, b)
    qt = floor(a / b);
    if nargout == 2
        rm = rem(a, b);
    end
end
terminal :
>> q = myIntegerDivision(10, 7)
q = 1
>> [q, r] = myIntegerDivision(10, 7)
q = 1
r = 3