使用';完整';在MATLAB函数参数中

使用';完整';在MATLAB函数参数中,matlab,function,Matlab,Function,在一些库中,例如CVX下面的库,我注意到参数full。我似乎找不到任何文档来解释这是什么以及它为什么存在。有人能解释一下吗 编辑:正如建议的那样,这里有一个例子。请注意,这是整个函数 function y = cvx_isaffine( x, full ) narginchk(1,2); if nargin == 1, y = true; else y = true( size( x ) ); end 在这个函数中,如果nargin==1,则测试检查第二个输入参数full是否

在一些库中,例如CVX下面的库,我注意到参数
full
。我似乎找不到任何文档来解释这是什么以及它为什么存在。有人能解释一下吗

编辑:正如建议的那样,这里有一个例子。请注意,这是整个函数

function y = cvx_isaffine( x, full ) 
narginchk(1,2);
if nargin == 1,
    y = true;
else
    y = true( size( x ) );
end

在这个函数中,如果nargin==1,则测试
检查第二个输入参数
full
是否给出。如果是,则输出是与
x
大小相同的逻辑数组。如果不是,则输出为标量逻辑数组

就是

M = randn(10,3);
cvx_isaffine(M)
返回
true
,而

cvx_isaffine(M,1)
返回一个10x3数组,其中所有元素均为
true

您可以为第二个参数填写任何您想要的内容,因为它的值不在任何地方使用。仅仅第二个参数的存在就是行为改变的标志

该功能似乎没有文档化,因为它是供内部使用的,而不是供最终用户使用