【发布时间】:2017-07-02 10:21:15
【问题描述】:
我有一个至少有两个必需输入参数的函数。根据第二个参数的值,可能还有第三个必需的输入参数。我想知道使用 MATLAB 的输入解析器编写包含这些要求的稳健函数的最佳方法是什么?
函数可能如下所示:
function vout = test(ReqInpArg1, ReqInpArg2, varargin)
ReqInpArg2 可能包含以下字符串内容:
'cash''absHurdleRate''none'
如果用户选择cash,则需要将另一个输入参数numCashTicker 定义为varargin 的一部分,例如'numCashTicker', 4。如果选择了absHurdleRate,则必须定义不同的输入参数,例如'hurdleRate', 0.2。另一方面,如果选择了none,则不必定义这些输入参数。事实上,numCashTicker 和hurdleRate 是互斥的,即不能同时定义它们。此外,如果用户没有选择none,他必须定义其他可变参数之一。
实现这些要求的最佳实践/最佳策略是什么?
【问题讨论】:
-
你能发一个代码示例吗?也不要要求“最佳策略”,因为它太笼统 - 让它更具体。