设置Matlab函数默认参数的实用技巧

C++/java/python系列的语言,函数可以有默认值,通常类似如下的形式:

funtion_name (param1, param2=default_value, ...)


到了matlab下发现并不能这样写。那是不是说matlab中希望函数有默认参数,就一定要很麻烦地,使用nargin来辅助实现呢?比如:

% 第三个参数有默认值
function [result]=some_fun(param1, param2)
    if (nargin<3)
        param3 = 'default_param3_value';
    end
    ...
end 


上面这种写法缺点明显:如果有多个参数有默认值,那么nargin的判断语句太多了。

那就试试inputParser。比如:

function [result]=some_fun(varargin)
    ip = inputParser;

    %接下来设定默认值,还可以指定是必须参数还是可选参数等。
    ip.addParamValue('use_gpu', 1);
    %其他还有 ip.addParameter(),ip.addRequired()等函数可用
    ...
    %然后将输入的参数进行处理,如果有不同于默认值的那就覆盖掉
    ip.parse(varargin{:});
    result=ip.Results;
end




    Greatness is never a given, it must be earned.


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空