Bir Fonksiyonda, Verilen Değişik Parametre Sayısına ve Sınıf Tiplerine Göre İşlem Yapma

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
% 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