【matlab】只有5行程序。函数中any的用法:: elseif any([0,1]==n) 这句什么意思?什么作用?求解释

function k=factorial(n)
if n>1
k=n*factorial(n-1);
elseif any([0,1]==n)
k=1;
%%% 0!=1!=1
end
这是一个求阶乘的函数。。。
这里面的 elseif any([0,1]==n) ,[0,1]==n是啥意思?[0,1]是一个矩阵,而n是一个常数啊。这俩为何能进行关系运算呢?而且any(x)中x不是只能为向量或者矩阵吗?[0,1]==n为何能放在x的位置???
求解释,谢谢
还有啊,请问Matlab中如何给返回值赋值啊??c语言中可以return 加一个值,那matlab种该怎么用呢???
1、[0,1]==n表示把[0 1]矩阵中每个元素和n比较,乎信相等返回1,否则0,例如:饥毁
n=1时,[0,1]==n返回 [0 1]
n=0时,[0,1]==n返回 [1 0]
2、岁肢轮Matlab中同样用return给返回值赋值,例如你这个例子,最后 return k