如何在matlab中为自定义函数设置默认值

如何在matlab中为自定义函数设置默认值,matlab,function,Matlab,Function,我希望创建这样的自定义函数 function addnum(mat,n=numel(mat)) mat+n 我的意思是我试图在mtrixmat的元素中添加一个数字,但是如果我没有为n给出一个明确的值,我希望n将是mtrix自身的数字。因为,这就是我想要的 function addnum1(mat,n) if nargin<2 n=numel(mat); end mat + n 函数addnum1(mat,n) 如果narginfunction addnum(mat)ma

我希望创建这样的自定义函数

  function addnum(mat,n=numel(mat))
  mat+n
我的意思是我试图在mtrixmat的元素中添加一个数字,但是如果我没有为n给出一个明确的值,我希望n将是mtrix自身的数字。

因为,这就是我想要的

function addnum1(mat,n)
if nargin<2
    n=numel(mat);
end
mat + n
函数addnum1(mat,n)

如果narginfunction addnum(mat)mat+numel(mat);你不能这样做吗?可能是@rahnema1的重复哦,实际上不是,我的这个默认值
n
vale链接了第一个参数
mat
@yode没有区别。这样的语法在MATLAB中是不可接受的,但是Octave接受它。@SivaSrinivasKolukula谢谢你,但是我希望
addnum(mat,3)
也能起作用,那么每个元素都会加3.:)