作者AlphaCall (阿伐扣)
看板MATLAB
標題[問題] Matlab 可以多載嗎?
時間Sun Apr 14 20:20:04 2019
最近在自學 ,Matlab, 想請教一下 Matlab 自訂函數可以多載嗎?
例如我自訂一個函數 abc, 他分別可以有一個引數跟兩個引數
abc(x), abc(x,y),
像官方原生的一些函數都可以這樣, 自訂的也有辦法做到嗎?
X = zeros(n)
X = zeros(sz1,...,szN)
抱歉因為上網查都查不到, 用多載當關鍵字找也找不到 還請前輩指點
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.37.240
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1555244407.A.6E0.html
※ 編輯: AlphaCall (114.35.37.240), 04/14/2019 20:20:54
1F:推 sin55688: 印象中,自定義函數不給滿引數也可以執行 04/14 20:26
2F:→ sin55688: 例如你定義 abc(x,y,z), 使用的時候只給1引數 abc(1) 也 04/14 20:27
3F:→ sin55688: 可以運行。 另外函數內可以檢查是否有引數x,y,z被輸入 04/14 20:28
4F:推 profyang: varargin nargin 04/14 20:52
5F:→ AlphaCall: 感謝前輩有求必應! 我研究一下, 謝謝各位 ^^ 04/14 21:05
6F:推 profyang: 大概就是 abc(varargin) 這樣 然後if nargin==1怎樣 04/14 22:41
7F:→ profyang: nargin==2怎樣之類的 04/14 22:42
8F:→ profyang: varargin就是使用者輸入的引數 第一個引數就是 04/14 22:44
9F:→ profyang: varargin{1} 第二個就是varargin{2} 以此類推 04/14 22:44
10F:→ profyang: nargin就是使用者現在輸入的有幾個引數 04/14 22:45