Açıklama:

Değişken argüman/girdi sayısına ve değişkenlerin türüne göre işlem yapmaya dair temel ornek.

MATLAB’da çalışırken girilecek parametre sayısını sabitlemek istemezsek fonksiyon’a girdi parametresi olarak varargin yazilir. nargin ise kaç adet parametre verildiğini gösterir.

Girdiler:

varargin -> Herhangi bir sayıdaki girdi

Çıktı:

Yok

Örnek:

argumentHandling(1 ,[5 8],2+5i,'abc',{1,'def'}, ...
logical(2==5), uint8(5))

Ekran çıktısı:

--> 1. girdinin sinifi: double
Degeri: 1
--> 2. girdinin sinifi: double
Degeri: 5  8
--> 3. girdinin sinifi: double
Degeri: 2+5i
--> 4. girdinin sinifi: char
Degeri: abc
--> 5. girdinin sinifi: cell
Hucre tipinin deger gosterimi pas gecildi.
--> 6. girdinin sinifi: logical
Degeri: Yanlis
--> 7. girdinin sinifi: uint8
Tanimlanmayan tipin deger gosterimi pas gecildi.

Kaynak kod

% argumentHandling.m: Degisken arguman/girdi sayisina  ve degiskenlerin
% turune gore islem yapmaya dair temel ornek.
%
% MATLAB'da calisirken girilecek parametre sayisini sabitlemek
% istemezsek fonksiyon'a girdi parametresi olarak varargin yazilir. nargin
% ise kac adet parametre verildigini gosterir.
%
% Girdiler: varargin -> Herhangi bir sayidaki girdi
%
% Cikti: Yok
%
% Ornek:
%   argumentHandling(1 ,[5 8],2+5i,'abc',{1,'def'},logical(2==5), uint8(5))
% 

function argumentHandling( varargin )

display([int2str(nargin) ' adet parametre girdiniz.'])

for i = 1:nargin
    display(['--> ' int2str(i) '. girdinin sinifi: ' class(varargin{i})])

    % Sinifina gore muamele :)
    switch class(varargin{i})
        case 'double'
            display(['    Degeri: ' num2str(varargin{i})])
        case 'char'
            display(['    Degeri: ' varargin{i}])
        case 'logical'
            if varargin{i}, deger = 'Dogru';, else, deger = 'Yanlis';, end
            display(['    Degeri: ' deger])
        case 'cell'
            display(['    Hucre tipinin deger gosterimi pas gecildi.'])
        otherwise
            display(['    Tanimlanmayan tipin deger gosterimi pas gecildi.'])
    end
end