[問題] Matlab 可以多載嗎?

作者: AlphaCall (阿伐扣)   2019-04-14 20:20:04
最近在自學 ,Matlab, 想請教一下 Matlab 自訂函數可以多載嗎?
例如我自訂一個函數 abc, 他分別可以有一個引數跟兩個引數
abc(x), abc(x,y),
像官方原生的一些函數都可以這樣, 自訂的也有辦法做到嗎?
X = zeros(n)
X = zeros(sz1,...,szN)
抱歉因為上網查都查不到, 用多載當關鍵字找也找不到 還請前輩指點
謝謝
作者: sin55688 (單手挑藏獒)   2019-04-14 20:26:00
印象中,自定義函數不給滿引數也可以執行例如你定義 abc(x,y,z), 使用的時候只給1引數 abc(1) 也可以運行。 另外函數內可以檢查是否有引數x,y,z被輸入
作者: profyang (prof)   2019-04-14 20:52:00
varargin nargin
作者: AlphaCall (阿伐扣)   2019-04-14 21:05:00
感謝前輩有求必應! 我研究一下, 謝謝各位 ^^
作者: profyang (prof)   2019-04-14 22:41:00
大概就是 abc(varargin) 這樣 然後if nargin==1怎樣nargin==2怎樣之類的varargin就是使用者輸入的引數 第一個引數就是varargin{1} 第二個就是varargin{2} 以此類推nargin就是使用者現在輸入的有幾個引數

Links booklink

Contact Us: admin [ a t ] ucptt.com