[问题] 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