首页 > 解决方案 > 在 MATLAB 函数参数中使用 'full'

问题描述

在某些库中,例如下面来自 CVX 的库中,我注意到了这个论点full。我似乎找不到任何文档来解释这是什么以及它为什么存在。谁能解释一下?

编辑:正如建议的那样,这里是函数的链接。请注意,这是整个功能。

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

标签: matlabfunction

解决方案


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

那是,

M = randn(10,3);
cvx_isaffine(M)

返回true,而

cvx_isaffine(M,1)

返回一个 10x3 数组,所有元素都是true.

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

该功能似乎没有记录,因为它是供内部使用的,而不是供最终用户使用的。


推荐阅读