本周的文件交换选择

我们最好的用户提交

R2019B - 函数参数验证新建

贾罗本周的选择是函数参数验证,这是一个新的R2019B功能,我真的很兴奋。

如果你搜索“函数参数验证”或者“输入验证”在文件交换中,您将看到它的相当几个条目。有些是实际的实用实用程序进行验证,而其他实用程序是常规条目,其中包含验证函数。还有用于解析可选参数的参数解析条目。

输入验证可能是一个繁琐的任务,可能需要深入考虑逻辑以确保强大的代码。让我们来看看一个例子。

假设我想创建一个采用任意数量的数据集的函数并创建重叠的直方图。此外,我希望采用可选的Param-Value对输入来自定义绘图的某些属性。所以输入参数看起来像这样:

MyHistogrogs(Data1,Data2,...,Param1,Value1,Param2,Value2,...)

你可以想象这可能是如何实现的。可行的,但乏味。我需要进行一些解析,首先会看到通过检查第一个输入来检查多少数据集。我可以通过检查它是否不是我正在寻找的参数名称。之后,我反复检查参数值对并将值分配给相应的参数。再次,可行,但乏味。

通过新功能参数验证,解析和验证可以以紧凑,易于理解的方式表示。这是整个代码:

让我们看看它是如何工作的。

data1 = randn(2000,1);data2 = 1 + Randn(5000,1);data3 = 3 + Randn(4000,1);Myhistogrogs(Data1,Data2,Data3)

我可以用一些参数称之为

Myhistogrogs(Data1,Data2,Data3,'nbins',25,'陈旧',真的)

如果我错过了我的参数,验证函数会捕获错误。

尝试Myhistogrogs(Data1,Data2,Data3,'nbins',5.5,'陈旧',真的)抓住我,我(me.message)结尾
无效的名称值参数'nbins'。值必须是整数。

注释

试一试,让我们知道你的想法这里




发布与MATLAB®R2019B

|
  • 打印
  • 发电子邮件

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。